
Stm32 dev
brainstorm/bbtrackball-rs
Experimenting with Blackberry trackball for keyboard ergonomics

Experimenting with Blackberry trackball for keyboard ergonomics
Stm32 dev is an open-source printed circuit board by brainstorm, from the brainstorm/bbtrackball-rs repository on GitHub. It is a 2-layer board of 80.8 × 30 mm with 61 parts on 38 nets, routed with 592 tracks and 97 vias.
It is built around the AP2112K-3.3 and USBLC6-2SC6. Its parts include 14 resistors, 9 capacitors, 7 ICs, 6 diodes and 6 connectors. It belongs with the keyboards and input boards and the STM32 boards of this library.
The purpose of this project is to build a blackberry-trackball mouse and glue it to the middle of an (allegedly) ergonomic keyboard... in Rust Embedded, for the STM32F042 :)

This came about from twitter idea to board, then to Rust Embedded. The code is based on RTIC rust-embedded framework (formerly known as RTFM). It exclusively uses interrupts and also works on OSX, not only Linux (wink wink, nudge nudge, James ;P).
rustc working with it.@joshajohnson @mvirkkunen @therealprof @jamesmunns @TeXitoi @TheZoq2
And all the folks from the RTIC matrix.org community for patiently guiding and helping me in this experiment.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 10K | Resistor_SMD:R_0603_1608Metric | R3, R4, R5, R6, R11, R12, R13, R14 |
| 7 | 100n | Capacitor_SMD:C_0603_1608Metric | C2, C5, C6, C7, C8, C9, C10 |
| 6 | LED | LED_SMD:LED_0603_1608Metric | D1, D2, D3, D4, D5, D6 |
| 6 | M2 | MountingHole:MountingHole_2.2mm_M2 | H4, H5, H6, H7, H8, H9 |
| 5 | KMR2 | josh-buttons-switches:SW_Push_KMR2 | SW1, SW2, SW4, SW5, SW6 |
| 4 | 220R | Resistor_SMD:R_0603_1608Metric | R7, R8, R9, R10 |
| 4 | AN48840B | Package_TO_SOT_SMD:SOT-353_SC-70-5 | U4, U5, U6, U7 |
| 3 | Fuduical | Fiducial:Fiducial_1mm_Mask2mm | H1, H2, H3 |
| 2 | 1u | Capacitor_SMD:C_0603_1608Metric | C1, C3 |
| 2 | 2K2 | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 2 | Breakout | Connector_PinHeader_2.54mm:PinHeader_1x11_P2.54mm_Vertical | J5, J6 |
| 1 | 500mA | josh-passives-smt:Fuse_0603_1608Metric | F1 |
| 1 | 5K1 | Resistor_SMD:R_Array_Convex_4x0603 | RN1 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U1 |
| 1 | SPARE | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J4 |
| 1 | STM32F042G6Ux | Package_DFN_QFN:QFN-28_4x4mm_P0.5mm | U3 |
| 1 | SWD | josh-connectors:STM_4_PIN_THT_Staggered | J2 |
| 1 | SW_Push | josh-keyboard:Trackball_Tactile_Switch | SW3 |
| 1 | Title | josh-logos:board-title | H10 |
| 1 | Trackball | josh-keyboard:TRACKBALL | T1 |
| 1 | UART | josh-connectors:STM_3_PIN_THT_Staggered | J3 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U2 |
| 1 | USB_C_Receptacle_USB2.0 | josh-connectors:USB_C_U262-161N-4BVC11 | J1 |

brainstorm/bbtrackball-rs
Experimenting with Blackberry trackball for keyboard ergonomics



joshajohnson/Hub20
Hub20 is a numpad with a bunch of features you never knew you needed.

yuz207/agentpad13
agentpad13 — open-source 13-key macropad for agentic work (RP2040, vial-qmk, planar joystick, Raw HID agent-status protocol)

cs2dsb/stm32-usb.rs
A dev board designed to facilitate the development of USB firmware for STM32



It measures 80.8 × 30 mm and has 2 copper layers, 1.6 mm thick.
61 parts, built around the AP2112K-3.3 and USBLC6-2SC6. 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 brainstorm/bbtrackball-rs repository on GitHub, at the commit this page was made from: the board is hardware/stm32-trackball/stm32_dev.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask brainstorm before reusing the design.