Skip to the content
PCBKitNew board
2 layers105 × 87 mmStarbie, the printed circuit board in 3D

A tiny motion-controlled digital pet with RGB mood lighting, basically a pocket-sized Tamagotchi. Totally not a Starboy.

Size
105 × 87 mm
Copper layers
2
Thickness
1.6 mm
Parts
17
Nets
25
Pads
70
Tracks, vias
106, 24
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
6 Oct 2026
Updated
30 Oct 2026

Overview

Starbie is an open-source printed circuit board by Senvor, from the Senvor/Starbie repository on GitHub. It is a 2-layer board of 105 × 87 mm with 17 parts on 25 nets, routed with 106 tracks and 24 vias.

It is built around the DHT11. Its parts include 4 resistors, 2 ICs, 2 connectors, 2 switches and 1 diode. It belongs with the lEDs and displays boards and the ESP32 and RISC-V boards of this library.

Main components

1

README

README.md

Starbie

A tiny motion-controlled digital pet, basically a desktop Tamagotchi. Totally not a Starboy.

Hackatime

Starbie

What exactly is it?

Starbie is a small interactive device built around the XIAO ESP32-C3. It uses a bunch of sensors and other components to make it actually do stuff.

Some of the things packed into it:

  • Movement detection using the MPU6050.
  • Temperature and humidity readings using the DHT11.
  • An OLED display to show information.
  • An RGB LED for visual feedback.
  • Cherry MX switches for physical input.

Why I built it

I made Starbie for HalfLife, following their Week 1 PCB design tutorial.

Since this is my second hardware project, I wanted to build something a bit more interesting than my first one. Starbie is a tiny motion-controlled digital pet, basically a desktop Tamagotchi (totally not a Starboy).

And yeah, I'm also trying to get that 3D printer prize lol. HalfLife gives me a reason to actually design, build and document my projects instead of leaving them as ideas.

The Schematic

The schematic was made in KiCad and shows how all the components are connected to the XIAO ESP32-C3.

Schematic

The PCB Design

I designed the board using KiCad, with a custom shape and footprints for the components.

PCB
A look at the raw KiCad layout.

Fabrication

Here's the final manufacturing quote and preview from JLCPCB before it becomes reality:

JLCPCB

Firmware

The firmware is written for the XIAO ESP32-C3 and handles Starbie's sensors, display, RGB LED and buttons. It reads movement data from the MPU6050 and temperature and humidity from the DHT11, with the OLED used to display information.

Controls

Starbie has two buttons.

ButtonPinWhat it does
Button 1 (SW1)GPIO2 (XIAO D2)Opens the radial menu. While the menu is open, it confirms the highlighted action.
Button 2 (SW2)GPIO3 (XIAO D3)Shows or hides the stats screen. It never changes the pet.

Both buttons are debounced in software (30 ms).

Tilt menu

  1. Press Button 1 to open the menu. The way you are holding Starbie at that moment becomes the centre.
  2. Tilt Starbie. The MPU6050 accelerometer moves a ball around the screen. The screen is split into four sectors by two diagonal lines: NAP (top), PLAY (right), FEED (bottom) and PET (left).
  3. The sector in the direction you tilt is highlighted. A small dead zone in the middle means nothing is highlighted until you tilt past it.
  4. Press Button 1 again to confirm. If nothing is highlighted, nothing happens and the menu stays open.
  5. Pressing Button 2 while the menu is open leaves the menu without choosing anything and shows the stats screen instead.

Which physical tilt direction moves the ball to which sector depends on how the MPU6050 is mounted. If the ball moves the wrong way, change SWAP_MPU_AXES, MENU_X_DIRECTION or MENU_Y_DIRECTION at the top of Starbie.ino.

Each action changes the pet's three stats (each stays between 0 and 100):

ActionJoyEnergyFullnessWhat you see
NAP+1+18−4Starbie stops and sleeps with floating Zs for 48 seconds
PLAY+12−9−5Two fast laps across the screen with hearts
FEED+3+2+18A small wiggle, then a jump
PET+700A small wiggle, a jump, and hearts

Shake: on the pet screen, shaking Starbie gives +5 joy, −2 energy and −1 fullness, wakes a sleeping pet, and has a 0.65 second cooldown. Shaking does nothing while the menu or stats screen is open.

Stats are saved to flash after every action and every shake, so Starbie remembers them after a reset. Stats do not drain over time; they only change when you use the menu or shake Starbie.

Status LED

The RGB LED shows Starbie's mood. The firmware checks the stats in this order and shows the first one that matches:

ColourConditionMeaning
YellowFullness is 25 or belowHungry
BlueEnergy is 25 or belowTired
RedJoy is 25 or belowNeeds play
GreenNone of the above (all three stats are above 25)Happy

If more than one stat is low, the first row that matches wins (yellow, then blue, then red). The LED is on/off only (no dimming or colour mixing), and yellow is red and green on together.

Stats screen

Press Button 2 to see Starbie's JOY, ENERGY and FULL bars with their numbers, plus the room temperature (°C) and humidity (%) from the DHT11. If the DHT11 has not produced a reading yet, the screen shows --. The temperature and humidity are display-only; they do not affect the pet or the LED.

Bill Of Materials

ItemQtySupplierCost/itemTotal CostLink
XIAO ESP32-C31hubtronics$7.17$7.17https://hubtronics.in/seeed-studio-xiao-esp32c3
MPU-6050 GY-5211hubtronics$2.00$2.00https://hubtronics.in/gy-521-mpu-6050-gyro-accelerometer-module
5mm RGB LED, 4-leg (pack of 5)1hubtronics$0.32$0.32https://hubtronics.in/5mm-rgb-led-4-legs
0.96-inch I2C OLED, white1hubtronics$1.78$1.78https://hubtronics.in/0.96inch-i2c-4pin-oled-module-white
Blank translucent Cherry 1u keycaps (pack of 5)1meckeys$1.36$1.36https://meckeys.com/shop/accessories/keyboard-accessories/keycaps/blank/blank-ch
Gateron Milky Pro Yellow 5-pin switches (pack of 10)1meckeys$2.10$2.10https://meckeys.com/shop/accessories/keyboard-accessories/key-switches/gateron-mechanical-pro-switch-5pin/?attribute_pa_switch-variation=pro-milky-yellow
330Ω, 1/8W resistor (pack of 42)1robu$0.11$0.11https://robu.in/product/330-ohm-1-8w-through-hole-resistor-pack-of-5000/
10kΩ, 1/8W resistor (pack of 30)1robu$0.11$0.11https://robu.in/product/10k-ohm-0-25w-metal-film-resistor-pack-of-100/
DHT11 temperature and humidity sensor1robu$1.57$1.57https://robu.in/product/dht-11-digital-temperature-and-humidity-sensor/
Custom Starbie PCB1JLCPCB$8.40$8.40https://jlcpcb.com/
Estimated total shipping1——$12.70—

Parts

17
QtyValueFootprintReferences
6LOGOLOGOG***, G***, G***, G***, G***, G***
3330Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR2, R3, R4
2SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2
110kResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1
1Conn_01x04_PinImported Parts:Display_128x64_096_I2CJ1
1Conn_01x08_PinConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ2
1DHT11Sensor:Aosong_DHT11_5.5x12.0_P2.54mmU1
1LED_RGBLED_THT:LED_D5.0mm-4_RGBD1
1XIAO-ESP32-C3-SMDImported Parts:XIAO-ESP32-C6-DIPU2

Questions

How big is the Starbie PCB?

It measures 105 × 87 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Starbie use?

17 parts, built around the DHT11. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Starbie KiCad files?

From the Senvor/Starbie repository on GitHub, at the commit this page was made from: the board is pcb/Starbie.kicad_pcb and its schematic pcb/Starbie.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Starbie design in my own project?

Its repository states no licence, so its author keeps all rights: ask Senvor before reusing the design.

Similar boards

  • 2 layers96.6 × 82.8 mmStarbie, the printed circuit board in 3D

    Starbie

    SharKingStudios/Starbie

    Half-Life Week 1 Example Project

    11 parts28MIT
  • 2 layers100 × 50 mmConveyor belt pcb, the printed circuit board in 3D

    Conveyor belt pcb

    lansidev/conveyor-belt

    Miniature 3D printed conveyor belt for simulation and fun working with sensors, all controllable with Raspberry Pi

    22 parts9MIT
  • 2 layers93 × 20 mmWiFi VFD, the printed circuit board in 3D

    WiFi VFD

    ciisaichan/WiFi-VFD

    开源的ESP8266驱动VFD屏电路,支持BiliBili粉丝数、时间、温度、湿度

    23 parts8MIT
  • 2 layersOpenMQTTGatewayPCB, the printed circuit board in 3D

    OpenMQTTGatewayPCB

    ebrithiljonas/OMG_PCB

    All in One PCB for the OpenMQTTGateway Project

    36 parts7GPL-3.0
  • 2 layers62 × 19.3 mmSniffingTrinket, the printed circuit board in 3D

    SniffingTrinket

    GeorgK/SniffingTrinket

    A room climate monitor using the Adafruit Trinket Pro

    23 parts6GPL-3.0
  • 2 layersArduino relay, the printed circuit board in 3D

    Arduino relay

    bhaskar9980/Guardian

    Guardian is an advanced, fully automated hydroponics system designed to optimize plant growth and maximize yield.

    58 parts5MIT
  • 2 layers100 × 43.5 mmFirefly, the printed circuit board in 3D

    Firefly

    Twistx77/Firefly

    Open WIFI-enabled RGB lamp with temperature, humidity, suspended air particles and eCO2 sensors.

    33 parts5GPL-3.0
  • 2 layers30.5 × 77.5 mmProyecto sensor temperatura, the printed circuit board in 3D

    Proyecto sensor temperatura

    unla-investigacion-desarrollo/ecosistema-iot

    Antes de desarrollar el sistema final, realizamos una etapa de exploración donde investigamos y experimentamos con las siguientes tecnologías:

    8 parts5