
Phone robot
HeyPCB/phone-robot
Bolt, the phone stand robot: A little robot that holds your phone, charges it, and peeks over the top to tell you how it's eating. KiCad 10, heypcb.ai merch.

Air Ghost: A little ghost that blushes red when your room needs fresh air. KiCad 10, heypcb.ai merch.
Air ghost is an open-source printed circuit board by HeyPCB, from the HeyPCB/air-ghost repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 2-layer board of 50.6 × 62.2 mm with 19 parts on 28 nets, routed with 176 tracks and 10 vias.
It is built around the CH32V003F4P6, SCD40-D-R2 and CC0603KRX7R9BB104, with the CL21A106KAYNNNE, WS2812C-2020-V1 and TS-1187A-B-A-B among its other parts. Its parts include 6 capacitors, 4 resistors, 2 ICs, 2 diodes and 1 connector. It belongs with the sensors and measurement boards and the RISC-V boards of this library.
A little ghost that blushes red when your room needs fresh air.

Air Ghost is a desk CO2 monitor shaped like a ghost, on USB-C. A Sensirion SCD40 measures real CO2 (photoacoustic NDIR, not a VOC estimate) plus temperature and humidity every 5 s, and a CH32V003 turns the reading into the colour of the ghost's two WS2812 cheeks: green when the air is fresh, through yellow and orange to a pulsing red at 2000 ppm. Its round "O" mouth is a button: boop it for temperature and humidity colours, hold it for night mode.
| Layers | Size | Parts | Nets | Connections routed | Vias | ERC errors | DRC errors / unconnected / parity | BOM @100 |
|---|---|---|---|---|---|---|---|---|
| 2 | 50.7 x 62.3 mm | 16 (+3 pads) | 12 | 50 -> 0 open | 10 | 0 | 0 / 0 / 0 | $15.66 |
Not fabricated, assembled or powered yet. Every number on this page is measured by KiCad 10.0.6 on
the files in this repository (report.json, measured.json) or read
from the live JLC/LCSC catalogue (bom_cost.json).
| Spec, power budget, BOM | SPEC.md |
| Store copy | STORE_COPY.md |
| KiCad 10 project | kicad/ |
| Gerbers, drill, BOM, CPL, STEP, schematic PDF | fab/ |
| Firmware | firmware/ |
| Renders | front, back, hero, Circuit World thumbnail |
| Brief and generator | design/ |

White solder mask, Black silkscreen, ENIG copper finish, 1.6 mm FR4, top-side SMT assembly (J1: an SMD part whose shell legs go through plated holes, soldered on the same SMT line). The gold art is bare copper under a mask opening (ENIG), drawn with its own keep-out so no track runs under it. The QR code on the back opens https://heypcb.ai/world/b/0fc87b5d15f5.
Designed with the HeyPCB method on KiCad 10.0.6, headless, by the heypcb-kicad pipeline: a written
brief composed from reusable circuit blocks, every pin from KiCad's own symbol library, every part bound
to an LCSC number from a dated catalogue read, then ERC, a netlist round trip, locked placement,
Freerouting 2.4.1, pours, silkscreen and board art, DRC with schematic parity, DFM and a fab gate,
each stage gated by a measurement. design/make_brief.py regenerates the brief (outline, part
locks and art) from code.
Part of the heypcb.ai merch collection.
Hardware: CERN-OHL-S v2. Firmware: MIT (see firmware/LICENSE). KiCad's symbol, footprint and 3D
libraries used in the design are CC-BY-SA 4.0 with the KiCad library exception.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 100nF | Capacitor_SMD:C_0603_1608Metric | C2, C4 |
| 2 | 100nF | Capacitor_SMD:C_0402_1005Metric | C5, C6 |
| 2 | 10k | Resistor_SMD:R_0402_1005Metric | R3, R4 |
| 2 | 10uF | Capacitor_SMD:C_0805_2012Metric | C1, C3 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R1, R2 |
| 2 | WS2812C-2020-V1 | LED_SMD:LED_WS2812B-2020_PLCC4_2.0x2.0mm | D1, D2 |
| 1 | CH32V003F4P6 | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U1 |
| 1 | GND | TestPoint:TestPoint_Pad_1.0x1.0mm | TP3 |
| 1 | SCD40-D-R2 | Sensor:Sensirion_SCD4x-1EP_10.1x10.1mm_P1.25mm_EP4.8x4.8mm | U2 |
| 1 | SWIO | TestPoint:TestPoint_Pad_1.0x1.0mm | TP2 |
| 1 | TS-1187A | Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A | SW1 |
| 1 | USB-C | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
| 1 | VDD | TestPoint:TestPoint_Pad_1.0x1.0mm | TP1 |
It measures 50.6 × 62.2 mm and has 2 copper layers, 1.6 mm thick.
19 parts, built around the CH32V003F4P6, SCD40-D-R2, CC0603KRX7R9BB104 and CL21A106KAYNNNE. 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.
From the HeyPCB/air-ghost repository on GitHub, at the commit this page was made from: the board is kicad/air_ghost.kicad_pcb and its schematic kicad/air_ghost.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

HeyPCB/phone-robot
Bolt, the phone stand robot: A little robot that holds your phone, charges it, and peeks over the top to tell you how it's eating. KiCad 10, heypcb.ai merch.

FujiNetWIFI/fujinet-hardware
Schematics and design files for FujiNet hardware

HeyPCB/moon-light
Luna, the night-light moon: A sleepy moon that turns on at dusk and tucks itself in after you fall asleep. KiCad 10, heypcb.ai merch.

HeyPCB/pomodoro-pal
Pomodoro Pal: A tomato on your desk that keeps you focused for 25 minutes, without your phone. KiCad 10, heypcb.ai merch.

HeyPCB/led-art
Shaped LED boards inspired by films, each in its own colour: KiCad 10, JLCPCB-ready, CERN-OHL-S-2.0

HeyPCB/led-art-2
More shaped LED boards inspired by films, each in its own colour: KiCad 10, JLCPCB-ready, CERN-OHL-S-2.0

CappyT/freedo
Local coordinator for tado V3+ heating devices, with a Home Assistant integration and add-on
bogdan-kovalchuk/esp32-lora-gps-tracker
Encrypted point-to-point GPS telemetry over 433 MHz LoRa between two ESP32 boards.