
GDEK
GilDev/GDEK
Low-profile, compact, beginner-friendly, assembly-friendly 4×6 with 5-keys thumb cluster ergonomic keyboard with universal keyswitch support, per-key RGB LED, encoder and RP2040 controller. Phew, that’s a lot!

The best led controller for FTC
NeoPWM is an open-source printed circuit board by PythonAtSea, from the PythonAtSea/NeoPWM repository on GitHub. It is a 2-layer board of 64.4 × 40.5 mm with 72 parts on 73 nets, routed with 346 tracks and 39 vias.
It is built around the RP2040, W25Q128JVSIQ and LTV-357T, with the SK6812, ABM8-272-T3 and TYPE-C-31-M-12 among its other parts. Its parts include 29 capacitors, 12 diodes, 9 resistors, 5 connectors and 4 ICs. It belongs with the RP2040 boards of this library.
[!NOTE] This is a Highway project, if you're here from slack (or just want to see the process of development) see JOURNAL.md, for the BOM see BOM.md
[!CAUTION] Curently the PCB has the USB data lines swapped, will fix soon™
The NeoPWM is a PWM controlled, USB-C powered, highly configurable SK6812/WS2801 (NeoPixel) controller designed for the FIRST Tech Challenge (FTC). It will have a web based tool to generate configuration files and send over a serial interface. It will have poweron and PWM signal loss states, which allow led patterns to be triggered after a match and during the transition period. It also has a optional intergrated LED panel with 12 SK6812 LEDs, which will have prebuilt patterns.
In FTC, there was never a great way to control LEDs. YOu could control a strip of leds over I2C using a I2C to NeoPixel driver, but the I2C ports on the REV Control Hub are slow, which ruins your loop times which causes problems with odometry. You could use the REV Blinkin (no that's not a typo) which is controlled over I2C, but you can't do any configuration and it's powered from the main robot battery. The NeoPWM can be powered from a external USB-C battery and will have a web tool to configure the patterns, and it will have a intergrated LED panel like the CTRE CANdle, but it will be optional, saving costs for teams who just want a LED strip.
NeoPWM in default configuration without LED panel.
NeopPWM with intergrated LED panel
Both PCBs connected with 2mm mousebites
Main schematic
RP2040 circuitry schematic
| Name | Link | Price |
|---|---|---|
| PCB | N/A | $2.00 |
| PCB Assembly | N/A | $31.64 |
| JLC Shipping | N/A | $52.31 |
| JLC Total | N/A | $76.95 |
| JST PH Connector | https://www.digikey.com/en/products/detail/jst-sales-america-inc/S3B-PH-K-S/926627 | $1.31 |
| DuPont connector | https://www.digikey.com/en/products/detail/amphenol-cs-fci/68604-403HLF/5206799 | $1.15 |
| Sk6812 Strip | https://www.digikey.com/en/products/detail/dfrobot/FIT0750/14322609 | $23.62 |
| DigiKey Shipping | N/A | $6.99 |
| DigiKey Total | N/A | $37.91 |
| M2 Screws | https://www.aliexpress.com/item/3256806025233809.html | $1.34 |
| M2 Standoffs | https://www.aliexpress.com/item/3256804631738035.html | $2.46 |
| Aliexpress Total | N/A | $3.80 |
[!CAUTION] This project has not been built physically, so it may or may not work as intended.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 22 | 100n | Capacitor_SMD:C_0402_1005Metric | C11, C12, C13, C14, C17, C18, C19, C20, C21, C22, C23, C24, C25, C26, C27, C28 +6 |
| 12 | SK6812 | LED_SMD:LED_SK6812_PLCC4_5.0x5.0mm_P3.2mm | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12 |
| 8 | MountingHole_Pad | MountingHole:MountingHole_2.2mm_M2_Pad | H1, H2, H3, H4, H5, H6, H7, H8 |
| 3 | VAL** | jank:mouse-bite-2mm-slot | mouse-bite-2mm-slot, mouse-bite-2mm-slot, mouse-bite-2mm-slot |
| 2 | 10u | Capacitor_SMD:C_0402_1005Metric | C1, C2 |
| 2 | 15p | Capacitor_SMD:C_0402_1005Metric | C15, C16 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric | R3, R4 |
| 2 | 1u | Capacitor_SMD:C_0402_1005Metric | C3, C10 |
| 2 | 27 | Resistor_SMD:R_0402_1005Metric | R7, R8 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R1, R2 |
| 1 | 100u | Capacitor_SMD:C_1206_3216Metric | C29 |
| 1 | 10k | Resistor_SMD:R_0402_1005Metric | R9 |
| 1 | 4.7k | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | 470 | Resistor_SMD:R_0402_1005Metric | R5 |
| 1 | ABM8-272-T3 | footprints:ABM8-272-T3_ABR | X1 |
| 1 | LTV-357T | LTV-357T:LTV-357T_LTO | U4 |
| 1 | Light Bar Connector (daughter) | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | J5 |
| 1 | Light Bar Connector (main) | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J4 |
| 1 | NCP1117-3.3_SOT223 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U2 |
| 1 | NeoPixel Connector | Connector_JST:JST_PH_S3B-PH-K_1x03_P2.00mm_Horizontal | J3 |
| 1 | PWM Input | Connector_JST:JST_PH_S3B-PH-K_1x03_P2.00mm_Horizontal | J2 |
| 1 | RP2040 | RP2040_minimal_r2:RP2040-QFN-56 | U1 |
| 1 | SW_Push | TS-1088-AR02016:SW_TS-1088_XNP-L | SW1 |
| 1 | TYPE-C-31-M-12 | usb-c:HRO_TYPE-C-31-M-12 | J1 |
| 1 | W25Q128JVS | Package_SO:SOIC-8_5.3x5.3mm_P1.27mm | U3 |
It measures 64.4 × 40.5 mm and has 2 copper layers, 1 mm thick.
72 parts, built around the RP2040, W25Q128JVSIQ, LTV-357T and SK6812. 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 PythonAtSea/NeoPWM repository on GitHub, at the commit this page was made from: the board is Hardware/v0/NeoPWM.kicad_pcb and its schematic Hardware/v0/NeoPWM.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask PythonAtSea before reusing the design.

GilDev/GDEK
Low-profile, compact, beginner-friendly, assembly-friendly 4×6 with 5-keys thumb cluster ergonomic keyboard with universal keyswitch support, per-key RGB LED, encoder and RP2040 controller. Phew, that’s a lot!


alph4345/test
TrinketCore puts everything a small rechargeable gadget needs on one 40 × 60 mm board, ready to order assembled from PCBWay:

enkhbold470/kicad-projects
Five KiCad 10 boards (4- and 6-layer): ESP32-S3 industrial gateway, USB-C PD bench supply, RP2040 logic analyzer, FOC motor controller, iCE40 FPGA board.

cookiemonsternz/lensboard
Lens Board is a custom mechanical keyboard, with a modified 1800's layout, more physical input methods (sliders, scrolly wheel, touchscreen) and an inbuilt, physical audio visualizer.


