SWDProgrammer
tongtongwang86·Revolute·Hardware/Debugger/SWDProgrammer.kicad_pcb
About the SWDProgrammer PCB
SWDProgrammer is an open source STM32 PCB design by tongtongwang86, published on GitHub under the CC-BY-NC-4.0 license. It is a 4-layer board measuring 23.2 × 27 mm, with 37 components from 21 distinct parts.
Its main chip is the STM32F103CBTx, from the STM32 family. Other key parts include the AP2112K-3.3. By type, the board carries 11 capacitors, 11 resistors, 4 jumpers, 3 ICs, 3 connectors and 3 diodes.
It belongs with the iot & wireless and power & battery designs in this gallery.
From the project
NRF52833 Based ScrollWheel Key
- Revolute currently simulate keyboard inputs, consumer controlls, mouse inputs.
- the actions and sensitivity of the wheel can be configured through the revolute configurator app that will be available for iOS, Macos and Windows devices that have bluetooth support.
- Configuratios done on revolute is persistently stored on device, which means that revolute can work on any device with Bluetooth and HID support.

Main components on the SWDProgrammer
SWDProgrammer bill of materials (BOM)
37 components, 21 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | AP2112K-3.3 | SOT-23-5 | U1 |
| 1 | STM32F103CBTx | LQFP-48_7x7mm_P0.5mm | U2 |
| 1 | Conn_01x14_Socket | FPC | U4 |
| 1 | 32.768KHZ | Crystal_SMD_3215-2Pin_3.2x1.5mm | Y1 |
| 1 | 8Mhz | Crystal_SMD_3225-4Pin_3.2x2.5mm | Y2 |
| 2 | USB_C_Receptacle_USB2.0 | USB-C_C168688 | J1, J2 |
| 1 | Conn_01x04_Pin | PinHeader_1x04_P1.27mm_Vertical | J3 |
| 1 | SolderJumper_2_Open | SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 2 | Jumper_3_Open | SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm | JP2, JP3 |
| 1 | Jumper_2_Bridged | SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP5 |
| 2 | White | LED_0402_1005Metric | D1, D3 |
| 1 | BLUE | LED_0402_1005Metric | D2 |
| 5 | 100nF | C_0402_1005Metric | C1, C5, C7, C8, C9 |
| 2 | 10uF | C_0402_1005Metric | C2, C6 |
| 2 | 12pF | C_0402_1005Metric | C3, C4 |
| 2 | 22pf | C_0402_1005Metric | C10, C11 |
| 3 | 10k | R_0402_1005Metric | R1, R2, R4 |
| 2 | 510Ω | R_0402_1005Metric | R3, R8 |
| 1 | 1M | R_0402_1005Metric | R7 |
| 4 | 5.1K | R_0402_1005Metric | R9, R10, R12, R13 |
Show 1 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | 1.5K | R_0402_1005Metric | R11 |
SWDProgrammer design files
The KiCad project lives in the tongtongwang86/Revolute repository on GitHub; these links point at the commit this page was built from.
SWDProgrammer: common questions
What microcontroller does the SWDProgrammer use?
The SWDProgrammer is built around the STM32F103CBTx, from the STM32 family.
How big is the SWDProgrammer PCB?
The SWDProgrammer measures 23.2 × 27 mm, has 4 copper layers and is 0.9412 mm thick.
How many components are on the SWDProgrammer?
37 components, from 21 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the SWDProgrammer design files?
From the tongtongwang86/Revolute repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the SWDProgrammer design in my own project?
It is published under CC-BY-NC-4.0, which limits how it may be reused; read the license before building on it.
Can I test firmware for the SWDProgrammer without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
More boards in Revolute
Nordic nRF
Revolutetestboard
tongtongwang86
54 × 85.7 mm254 parts4LCC-BY-NC-4.05Nordic nRF
Revolute
tongtongwang86
19.9 × 19.5 mm66 parts4LCC-BY-NC-4.05Nordic nRF
Revolute production
tongtongwang86
19.9 × 19.5 mm59 parts4LCC-BY-NC-4.05AVR/Arduino
Revopod1
tongtongwang86
60 × 37 mm53 parts4LCC-BY-NC-4.05Top
tongtongwang86
9.6 × 11.6 mm5 parts4LCC-BY-NC-4.05
Similar boards
STM32
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
Type a
google
150 × 30 mm14 parts2LApache-2.02.9kSTM32
Type g
google
169 × 30 mm24 parts2LApache-2.02.9kSTM32
Main panel
google
234 × 84 mm26 parts4LApache-2.02.9kSTM32
Base
google
52.3 × 52.3 mm36 parts2LApache-2.02.9kSTM32
Type c
google
188 × 30 mm17 parts2LApache-2.02.9k