TM Dial
Cbeniaris·TM_Dial·pcb/tm_dial_pcb.kicad_pcb
About the TM Dial PCB
TM Dial is an open source RP2040/RP2350 PCB design by Cbeniaris, published on GitHub. It is a 2-layer board measuring 51 × 62.1 mm, with 39 components from 19 distinct parts.
Its main chip is the RP2040, from the RP2040/RP2350 family. Other key parts include the AS5600-ASOM_SOIC8_LF_T&RDP, AP2112K-3.3 and W25Q128JVS. By type, the board carries 18 capacitors, 9 resistors, 5 connectors, 4 ICs, 1 crystal and 1 switch.
It belongs with the keyboards designs in this gallery.
From the project
Dial style steering device design for Trackmania 2020
A 3D printed, mechanically self-centering USB HID steering dial built for Trackmania 2020. Driven by QMK firmware on an RP2040 Pro Micro, it presents as a standard joystick — no drivers needed.
The dial exposes a single USB HID joystick axis (Axis 0).
Extension springs provide passive center return. The 3D printed hard stops enforce the 30° limit physically; the firmware also clamps in software as a secondary safety. Wrap-around at the 0/4095 AS5600 boundary is handled, so the magnet can be mounted at any rotational position.

Main components on the TM Dial
TM Dial bill of materials (BOM)
39 components, 19 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | RP2040 | QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U1 |
| 1 | AS5600-ASOM_SOIC8_LF_T&RDP | SOIC8_AS5600_OSR-L | U2 |
| 1 | AP2112K-3.3 | SOT-23-5 | U3 |
| 1 | W25Q128JVS | JEITA_SOIC-8_3.9x4.9mm_P1.27mm | U4 |
| 1 | 12Mhz | Crystal_SMD_Abracon_ABM3-2Pin_5.0x3.2mm | Y1 |
| 1 | USB_C_Plug_USB2.0 | USB_C_Receptacle_GCT_USB4110 | J1 |
| 2 | Conn_01x04 | PinHeader_1x04_P2.00mm_Horizontal | J2, J3 |
| 1 | Debug | PinHeader_1x03_P2.54mm_Horizontal | J4 |
| 1 | Reset | PinHeader_1x02_P2.54mm_Horizontal | J5 |
| 1 | BOOTSEL | SW_Push_SPST_NO_Alps_SKRK | SW1 |
| 1 | LED | LED_0603_1608Metric | D1 |
| 12 | 0.1uF | C_0402_1005Metric | C1, C2, C3, C4, C5, C6, C7, C8 +4 |
| 2 | 27pF | C_0402_1005Metric | C11, C12 |
| 4 | 1uF | C_0402_1005Metric | C15, C16, C17, C18 |
| 2 | 5.1k Ω | R_0402_1005Metric | R1, R2 |
| 2 | 1k Ω | R_0402_1005Metric | R7, R15 |
| 2 | 4.7k Ω | R_0402_1005Metric | R9, R10 |
| 2 | 27 Ω | R_0402_1005Metric | R11, R12 |
| 1 | 680 Ω | R_0603_1608Metric | R13 |
TM Dial design files
The KiCad project lives in the Cbeniaris/TM_Dial repository on GitHub; these links point at the commit this page was built from.
- Layoutpcb/tm_dial_pcb.kicad_pcb
- Schematicpcb/tm_dial_pcb.kicad_sch
TM Dial: common questions
What microcontroller does the TM Dial use?
The TM Dial is built around the RP2040, from the RP2040/RP2350 family.
How big is the TM Dial PCB?
The TM Dial measures 51 × 62.1 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the TM Dial?
39 components, from 19 distinct parts. The full bill of materials is listed on this page.
Where can I download the TM Dial design files?
From the Cbeniaris/TM_Dial repository on GitHub, which has the KiCad layout and the schematic; the links under Design files point to each one.
Can I use the TM Dial design in my own project?
The repository has no license, so all rights stay with Cbeniaris. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the TM Dial without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug RP2040/RP2350 firmware against it before you order a PCB.
Similar boards
RP2040/RP2350
Open Book Abridged Edition
joeycastillo
85 × 115 mm29 parts2LCC-BY-SA-4.08.1kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
LogicAnalyzer
gusmanb
57 × 55.2 mm6 parts2LGPL-3.05.0kRP2040/RP2350
Jitx design
gusmanb
55.5 × 65 mm26 parts4LGPL-3.05.0kRP2040/RP2350
Pro V2
kata0510
290.1 × 130 mm270 parts2LMIT2.3k