

RP2040 CNC Controller
This repository contains my work with the RP2040 microcontroller, where I experimented with embedded programming, basic hardware integration, and peripherals like LEDs and buttons. It documents my learning process, including setup, coding, and troubleshooting, as I built a better understanding of how microcontrollers work in real-world applications
- Size
- 21 × 51 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 56
- Nets
- 73
- Pads
- 255
- Tracks, vias
- 537, 49
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 6 Apr 2026
- Updated
- 9 Jul 2026
Overview
RP2040 CNC Controller is an open-source printed circuit board by FallenFireGit, from the FallenFireGit/RP2040-Devboard repository on GitHub. It is a 4-layer board of 21 × 51 mm with 56 parts on 73 nets, routed with 537 tracks and 49 vias.
It is built around the RP2040, W25Q64JVZPIQ and AP2112K-3.3, with the SS14 among its other parts. Its parts include 21 capacitors, 16 resistors, 6 connectors, 4 ICs and 4 diodes. It belongs with the robots and motor control boards and the RP2040 boards of this library.
Main components
4RP2040
LQFN-56(7x7)12bit 133MHz 30 LQFN-56(7x7) Microcontrollers (MCU/MPU/SOC) ROHSRaspberry PiMicrocontrollers (MCU/MPU/SOC)W25Q64JVZPIQ
WSON-8-EP(5x6)-40℃~+85℃ 100,000 cycles 10uA 120ms@(32KB) 133MHz 2.7V~3.6V 20 Years 3ms 64Mbit SPI WSON-8-EP(5x6) NOR FLASH ROHSWinbond ElecNOR FLASHAP2112K-3.3
SOT253.3V 600mA CMOS Low Dropout Linear Regulator with EnableDiodes IncorporatedUncategorisedSS14
SMA(DO-214AC)-55℃~+150℃ 1A 25A 300uA@40V 40V 550mV@1A Independent SMA(DO-214AC) Schottky Diodes ROHSMDDSchottky Diodes
README
README.mdRP2040 Board
Overview
This project is a fully custom PCB based on the RP2040 microcontroller, designed as an upgraded alternative to standard dev boards like the Raspberry Pi Pico.
The goal was to create a board that is:
- More powerful
- Easier to use during development
- Capable of handling real-world applications (data logging, robotics, etc.)
Key Features
Storage
-
8MB Flash (upgraded from 2MB)
-
MicroSD Card Slot
- Supports data logging and large file storage
- Can be used for applications like G-code handling
Interface & Controls
-
Boot Button – Easy entry into bootloader mode
-
Reset Button – Quick system reset during development
-
Status LED (Bi-color)
- Indicates power / charging state
-
Master Power Switch
- Fully cuts power to the board
Power System
-
LiPo Battery Support
- Onboard charging circuit
-
~600mA Current Capacity
- Supports more demanding peripherals
-
3.3V Enable Control (3V3_EN)
- Allows software-controlled power management
-
Optimized Power Traces
-
Wider 3.3V and GND lines for:
- Reduced resistance
- Lower heat
- Improved stability
-
Design Decisions
-
Switched to a higher current voltage regulator for better performance
-
Removed unnecessary components after redesign
-
Standardized passive components to 0603:
- Easier assembly
- Cheaper sourcing
- Better repairability
PCB Design
-
4-Layer PCB
- Dedicated ground plane for cleaner routing
- Improved signal integrity and stability
-
Double-sided component placement
- Maximizes space efficiency
Images
Tools Used
- PCB Design: KiCad (or replace with your tool)
- Microcontroller: RP2040
Status
- Schematic Complete
- PCB Layout Complete
- Manufacturing / Testing (Next Step)
Goals
- Create a more capable RP2040 board than standard dev boards
- Support battery-powered applications
- Enable expandability through external storage
Acknowledgments
- Inspired by the Raspberry Pi Pico
- Built as part of Hack Club Stasis
BOM
Capacitors
- 0.1uF capacitors 402 – 10
- 1uF capacitors 402 – 2
- 10uF capacitors 805 – 5
- 22pF capacitors 402 – 2
- 0.5uF capacitor 402 – 1
- 100nF capacitor 402 – 1
Resistors
- 5.1k resistors 603 – 2
- 27.4 resistors 603 – 2
- 100k resistors 603 – 2
- 1k resistors 603 – 3
- 10k resistors 603 – 2
- 47k resistors 603 – 3
- 200k resistor 603 – 1
- 2k resistor 603 – 1
Total Price of Passive Components ~ $1.90 (Depends on who you buy it from)
Diodes & Clock ~ $1.16
- SS14 diodes – 3 ~ $0.50 each
- SB0603W diode – 1 ~ $0.40
-
- 12MHz crystal – 1 ~ 0.70
Connectors / I/O ~ $4.75
- USB-C receptacle (HRO TYPE-C-31-M-12) – 1
- 1x20 pin headers (2.54mm) – 2
- 1x3 pin header (2.54mm) – 1
- 1x2 pin JST connector (PH series) – 1
- MicroSD card slot – 1
Switches ~ $1.20
- Push buttons (SPST) – 2
- Slider switch – 1
ICs / Chips
- RP2040 – 1 $0.92
- MCP73831-2-OT (battery charger) – 1 $0.76
- W25Q64JVZPIQ (flash memory) – 1 $1.44
- AP2112K-3.3 (voltage regulator) – 1 $0.57
| Component | Quantity | Price (Est.) |
|---|---|---|
| Passives (Capacitors & Resistors) | 38 | $1.90 |
| Diodes (SS14, SB0603W) | 4 | $0.90 |
| Clock (12MHz Crystal) | 1 | $0.70 |
| Connectors / I/O (USB-C, Headers, JST, MicroSD) | 6 | $4.75 |
| Switches (Push buttons, Slider) | 3 | $1.20 |
| RP2040 (Microcontroller) | 1 | $0.92 |
| MCP73831-2-OT (Battery Charger) | 1 | $0.76 |
| W25Q64JVZPIQ (Flash Memory) | 1 | $1.44 |
| AP2112K-3.3 (Voltage Regulator) | 1 | $0.57 |
| TOTAL | 56 | $13.14 |
Parts
56| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 0.1uF | Capacitor_SMD:C_0402_1005Metric | C2, C3, C4, C5, C6, C7, C9, C11, C12, C17 |
| 5 | 10uF | Capacitor_SMD:C_0805_2012Metric | C13, C14, C19, C20, C21 |
| 3 | 1K | Resistor_SMD:R_0603_1608Metric | R6, R9, R14 |
| 3 | 47K | Resistor_SMD:R_0603_1608Metric | R8, R12, R13 |
| 3 | SS14 | Diode_SMD:D_SOD-123 | D1, D3, D4 |
| 2 | 100K | Resistor_SMD:R_0603_1608Metric | R5, R11 |
| 2 | 10K | Resistor_SMD:R_0603_1608Metric | R7, R17 |
| 2 | 1uF | Capacitor_SMD:C_0402_1005Metric | C1, C10 |
| 2 | 22pF | Capacitor_SMD:C_0402_1005Metric | C15, C16 |
| 2 | 27.4 | Resistor_SMD:R_0402_1005Metric | R3, R4 |
| 2 | 5.1K | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 2 | Conn_01x20 | Connector_PinHeader_2.54mm:PinHeader_1x20_P2.54mm_Vertical | J2, J3 |
| 2 | SW_Push | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | BOOT, RESET |
| 1 | 0.5uF | Capacitor_SMD:C_0402_1005Metric | C18 |
| 1 | 100nF | Capacitor_SMD:C_0402_1005Metric | C22 |
| 1 | 12MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | 200K | Resistor_SMD:R_0603_1608Metric | R10 |
| 1 | 2K | Resistor_SMD:R_0603_1608Metric | R15 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U5 |
| 1 | Conn_01x02_Pin | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J6 |
| 1 | Conn_01x03 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J4 |
| 1 | LOGO | LOGO | G*** |
| 1 | MCP73831-2-OT | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | Micro_SD_Card | Micro_SD:Micro_SD | J5 |
| 1 | RP2040 | Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U1 |
| 1 | SW_Slider | Button_Switch_SMD:SW_DIP_SPSTx01_Slide_6.7x4.1mm_W6.73mm_P2.54mm_LowProfile_JPin | ON |
| 1 | USB_C_Receptacle_USB2.0_14P | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
| 1 | W25Q64JVZPIQ | Package_SON:Winbond_USON-8-1EP_3x2mm_P0.5mm_EP0.2x1.6mm | U3 |
| 1 | ~ | Library:SB0603WC01RG | D2 |
Questions
How big is the RP2040 CNC Controller PCB?
It measures 21 × 51 mm and has 4 copper layers, 1.6 mm thick.
What parts does the RP2040 CNC Controller use?
56 parts, built around the RP2040, W25Q64JVZPIQ, AP2112K-3.3 and SS14. 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 RP2040 CNC Controller KiCad files?
From the FallenFireGit/RP2040-Devboard repository on GitHub, at the commit this page was made from: the board is PCB Files/RP2040_CNC_Controller.kicad_pcb and its schematic PCB Files/RP2040_CNC_Controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the RP2040 CNC Controller design in my own project?
Its repository states no licence, so its author keeps all rights: ask FallenFireGit before reusing the design.
Similar boards
- 4 layers70 × 72 mm

- 2 layers64 × 21.6 mm

- 2 layers48.3 × 22.9 mm

- 2 layers62.6 × 20.9 mm

- 4 layers121 × 66.5 mm

- 2 layers70 × 19 mm

Hackducky v1
hackclub/hackducky
The hackclub themed USB rubber ducky ! - Check out hackducky
45 parts33 - 4 layers45.7 × 76.2 mm

Node v5 0 0
VTC-WISDOM/node_hardware
Schematic/PCB designs for WiSDOM nodes, also includes a few other related hardware projects
107 parts2CERN-OHL-W-2.0 - 4 layers87.6 × 84 mm

Flashover
Cherry-Blossom-Development/GreywireStudio
GreywireStudio - a combined software/hardware product
95 parts