

Programmer
Undercity eink PCB badges controlled by a rp2350
- Size
- 50 × 50 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 49
- Nets
- 89
- Pads
- 306
- Tracks, vias
- 257, 72
- Pours
- 9
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 30 May 2025
- Updated
- 11 Jun 2026
Overview
Programmer is an open-source printed circuit board by cheyao, from the cheyao/inkbadge repository on GitHub. It is a 2-layer board of 50 × 50 mm with 49 parts on 89 nets, routed with 257 tracks and 72 vias.
It is built around the W25Q128JVSIQ and SRV05-4. Its parts include 19 capacitors, 9 resistors, 4 ICs, 3 connectors and 2 switches. It belongs with the lEDs and displays and interfaces and adapters boards of this library.
Main components
2W25Q128JVSIQ
SOIC-8-208mil-40℃~+85℃ 100,000 cycles 120ms@(32KB) 128Mbit 133MHz 1uA 2.7V~3.6V 20 Years 3ms Power-on reset、Hardware write protection、Software write protection、Write enable latch、Absolute write protection SPI SOIC-8-208mil NOR FLASH ROHSWinbondNOR FLASHSRV05-4
SOT-23-6L-55℃~+150℃ 15V 1pF 4A 5V 5uA 6V 80W ESD Four channels IEC 61000-4-2、IEC 61000-4-5 Unidirectional SOT-23-6L ESD and Surge Protection (TVS/ESD) ROHShongjiachengESD And Surge Protection (TVS/ESD)
README
README.mdUndercity + Github badges

Official badges for undercity (Hackathon @ Github HQ, https://highway.hackclub.com/)

Find the firmware here! (Start made by me, finished by spc & mpk :D)
Specs:
- 4x User buttons
- RP2350A
- Big big flash
- Super cool pcie connector
- Working firmware
- Onboard eink module
- 6 neopixels go flash flash
- Pretty art by bnuuuuyguy!
- Awesome artline by acon (@acornitum)
- Check out pcb online here
Additional battery mode avaliable! (Explosions not included this time)
Solder a lipo onto the central holes on top of the buttons - left is V+ right is GND

Licensed under Solderpad license
Parts
49| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 100n | Capacitor_SMD:C_0402_1005Metric | C2, C8, C11, C12, C13, C14, C15, C16, C17, C18 |
| 6 | LOGO | LOGO | G***, G***, G***, G***, G***, G*** |
| 4 | MountingHole | MountingHole:MountingHole_2.2mm_M2_Pad_Via | H1, H2, H3, H4 |
| 3 | 10u | Capacitor_SMD:C_0603_1608Metric | C1, C5, C19 |
| 3 | 1k | Resistor_SMD:R_0402_1005Metric | R2, R4, R6 |
| 2 | 15p | Capacitor_SMD:C_0402_1005Metric | C3, C4 |
| 2 | 27 | Resistor_SMD:R_0402_1005Metric | R7, R8 |
| 2 | 4.7u | rp2350:C_0402_1005Metric_small_pads | C6, C7 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R3, R5 |
| 2 | SW_Push | inkbadge:SW_Push_SPST_TSA016 | SW1, SW2 |
| 1 | 10k | Resistor_SMD:R_0402_1005Metric | R1 |
| 1 | 12MHz 10pf | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | 3.3u | rp2350:L_pol_2016 | L1 |
| 1 | 33 | Resistor_SMD:R_0402_1005Metric | R16 |
| 1 | 4.7u | Capacitor_SMD:C_0402_1005Metric | C10 |
| 1 | 4.7uF | Capacitor_SMD:C_0402_1005Metric | C40 |
| 1 | Bus_PCI_Express_x4 | programmer:PCIe_x4_Edgeboard_Connector | J3 |
| 1 | Micro_SD_Card | inkbadge:SDCardlcsc | J1 |
| 1 | NCP1117-3.3_SOT223 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U2 |
| 1 | SRV05-4 | Package_TO_SOT_SMD:SOT-23-6 | U3 |
| 1 | USB_C_Receptacle_USB2.0_14P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J2 |
| 1 | W25Q128JVS | Package_SO:SOIC-8_5.3x5.3mm_P1.27mm | U5 |
| 1 | ~ | Package_DFN_QFN:QFN-60-1EP_7x7mm_P0.4mm_EP3.4x3.4mm_ThermalVias | U1 |
Questions
How big is the Programmer PCB?
It measures 50 × 50 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Programmer use?
49 parts, built around the W25Q128JVSIQ and SRV05-4. 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 Programmer KiCad files?
From the cheyao/inkbadge repository on GitHub, at the commit this page was made from: the board is hardware/programmer/programmer.kicad_pcb and its schematic hardware/inkbadge/inkbadge.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Programmer design in my own project?
Its repository states no licence, so its author keeps all rights: ask cheyao before reusing the design.
More from cheyao/inkbadge
1- 2 layers96.8 × 91.4 mm

Similar boards
- 2 layers267 × 300 mm

Output.Panel R0.5.1 300x300 2layer step1 Modified
rusefi/hw_microRusEfi
microRusEfi board for rusEfi ECU
2,371 parts98 - 4 layers17.8 × 51.6 mm

- 2 layers131.5 × 184.4 mm

- 2 layers63.5 × 58 mm

Latest
minipadKB/minipad
The PCB and case files for the minipad, an RP2040-based 2-3-key keypad for the rhythm game osu!.
39 parts52GPL-3.0 - 2 layers224.4 × 97.8 mm

Knobdeavour
ScatteredDrifter/Buran-Ortho
A 39-key orthogonal keyboard with support for two knobs, based on a rp2040
105 parts46 - 2 layers253.3 × 113.3 mm

- 2 layers344.7 × 123.6 mm

- 4 layers180.4 × 157.2 mm
