

TwinklePad
This is a small multi task keyboard with 3 custom modes, featuring a TRRS port for double connection, 2 encoders using GPIO and a display for displaying different contents.
- Size
- 84 × 124 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 65
- Nets
- 83
- Pads
- 338
- Tracks, vias
- 588, 89
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 18 Feb 2026
- Updated
- 6 Apr 2026
Overview
TwinklePad is an open-source printed circuit board by Programmer899, from the Programmer899/TwinklePad repository on GitHub. It is a 2-layer board of 84 × 124 mm with 65 parts on 83 nets, routed with 588 tracks and 89 vias.
It is built around the SK6812MINI-E, 7205P3Y9CQE and PRT-12639, with the S8050 among its other parts. Its parts include 34 diodes, 17 switches, 2 connectors and 1 transistor. It belongs with the RP2040 boards of this library.
Main components
4SK6812MINI-E
SMD-40℃~+85℃ 0.6mA 1.78mm 120mcd~240mcd 120° 160mcd~320mcd 1kHz 2.8mm 2000V 3.2mm 3.7V~5.5V 460nm~470nm 515nm~525nm 620nm~625nm 800Kbit/s 815mcd~1275mcd Semi-transparent lens SMD RGB LEDs(Built-in IC) ROHSOPSCO OptoelectronicsRGB LEDs(Built-In IC)7205P3Y9CQE
插件-30℃~+85℃ 120V 28V Cylinder Lever DPDT PC Pin Through Hole 插件 Toggle Switches ROHSC&KToggle SwitchesPRT-12639
SMDSMD Audio Connectors ROHSSparkFun ElectronicsAudio ConnectorsS8050
SOT-23-55℃~+150℃ 1 NPN 100MHz 100nA 120 25V 300mW 500mA 5V 600mV NPN SOT-23 Bipolar (BJT) ROHShongjiachengBipolar (BJT)
README
README.mdTwinklepad
This is a small multi task keyboard with 3 custom modes, featuring a TRRS port for double connection, 2 encoders using GPIO and a display for displaying different contents.
Note that the parts that is not a part of the HackPad (https://blueprint.hackclub.com/home) guide will be bought or funded yourself.
Features
1 pcs of 3 step toggle for switching mode 4x4 matrix of key switches 2 pcs of encoders for example slider values such as volume 1 ssd1306 128x32 display for displaying different types of content 1 TRRS port for dual connected modules (could be used for a split keyboard as an example)
Modes
The Twinklepad has 3 modes by default
- Music mode (to the left) - when you press a key it plays a note
- Normal mode (in the middle) - when you press a key it forwards that to the pc as a keycode input
- Calc mode (on the right) - For future calculator mode, able to calculate differents formulas
The current mode for my trinklepad is shown on the display by default.
My firmware is written in c from the ground up and has some different features such as:
- Matrix scanning for key inputs
- Encoder control (default: only left is connected to "pitch")
- Display - only capable of displaying mode by default
Hardware
- Raspberry Pi Pico 2 W
- 4x4 MX-style switches
- 2 pcs Rotary encoders (with push buttons)
- SK6812-MINI-E LEDs
- SSD1306 128x32 OLED
- Piezo buzzer 4.5 khz
- 3-position mode switch (ON-OFF-ON)
Preview

Getting Started
Clean software:
- Build with Pico SDK (CMake + Ninja)
- Flash the
.uf2file to the Pico - Connect via USB and start using HackPad
Use mine? Just flash the .uf2 file in the fully assembled/production folder.
Notes
This is one of my first times doing something like this.
Parts
65| Qty | Value | Footprint | References |
|---|---|---|---|
| 18 | D | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31, D32 +2 |
| 16 | SK6812MINI-E | HackPad:SK6812MINI-E_fixed | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16 |
| 16 | SW_Push | Switch_MX_Hotswap:MX-Hotswap-1U | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14, SW15, SW16 |
| 2 | RotaryEncoder_Switch | RotaryEncoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | REC_A1, REC_B1 |
| 2 | TestPoint | TestPoint:TestPoint_Plated_Hole_D2.0mm | BUZ-, BUZ+ |
| 1 | 7205P3Y9CQE | Switch_DPDT_2x03:7205P3Y9CQE | S1 |
| 1 | Conn_01x04_Pin | Llama_Other:SSD1306-0.91-OLED-4pin-128x32 | J1 |
| 1 | PRT-12639 | PRT-12639:PRT12639 | J4 |
| 1 | RaspberryPi_Pico_W | Module:RaspberryPi_Pico_Common_Unspecified | A1 |
| 1 | S8050 | Package_TO_SOT_THT:TO-92_Inline_Horizontal1 | Q1 |
| 1 | SolderJumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
The 60 most common of 65 parts.
Questions
How big is the TwinklePad PCB?
It measures 84 × 124 mm and has 2 copper layers, 1.6 mm thick.
What parts does the TwinklePad use?
65 parts, built around the SK6812MINI-E, 7205P3Y9CQE, PRT-12639 and S8050. 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 TwinklePad KiCad files?
From the Programmer899/TwinklePad repository on GitHub, at the commit this page was made from: the board is TwinklePad.kicad_pcb and its schematic TwinklePad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the TwinklePad design in my own project?
Its repository states no licence, so its author keeps all rights: ask Programmer899 before reusing the design.
Similar boards
- 2 layers137.4 × 101 mm

- 2 layers30 × 76 mm

Layouts
Shmcandi/esp32-devkit-hardware
Production-grade ESP32-WROOM-32E and ESP32-S3 (N16R8) Dual USB-C development board PCB designs created with Atopile & KiCad 10
33 parts - 2 layers45.1 × 45.1 mm

SuperPower uC KiCad
SuperPower/esp32_shield
All hardware designs and products you can find in this repository is licensed under CERN Open Hardware Licence Version 2 - Weakly Reciprocal
33 parts - 2 layers60 × 40 mm

- 10 layers224.5 × 160 mm

Haasoscope pro adc fpga board
drandyhaas/HaasoscopePro
Affordable 2 GHz 3.2 GS/s 12 bit open-source open-hardware expandable USB real-time oscilloscope
586 parts485MIT - 2 layers100 × 57 mm

- 4 layers74 × 104 mm

- 2 layers189.5 × 204.9 mm

SmartSpin2k Panelized
doudar/SmartSpin2k
Transform your spin bike into a Smart Trainer!
749 parts292GPL-2.0