Skip to the content
PCBKitNew board
2 layers145 × 75 mmRp2040, the printed circuit board in 3D

The board is powered over USB-C, regulates 5 V down to 3.3 V with a synchronous buck converter, and carries an 8-button input matrix (D-pad + A/B + Mode/Select) plus a dedicated reboot button, an external QSPI flash…

Size
145 × 75 mm
Copper layers
2
Thickness
1.6 mm
Parts
48
Nets
62
Pads
227
Tracks, vias
659, 48
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 Jul 2026
Updated
13 Jul 2026

Overview

Rp2040 is an open-source printed circuit board by 0susi0, from the 0susi0/RP2040-Embedded-Controller repository on GitHub, published under the MIT licence. It is a 2-layer board of 145 × 75 mm with 48 parts on 62 nets, routed with 659 tracks and 48 vias.

It is built around the RP2040 and ABM8-272-T3. Its parts include 18 capacitors, 8 resistors, 7 connectors, 2 ICs and 1 diode. It belongs with the RP2040 boards of this library.

Main components

2

README

README.md

RP2040-Based Embedded Controller

Status MCU CAD PCB License


Overview

Controller V1 is a custom handheld game-controller board built around the Raspberry Pi RP2040 microcontroller. It was designed from scratch in KiCad, covering schematic capture, power design, and full PCB layout.

The board is powered over USB-C, regulates 5 V down to 3.3 V with a synchronous buck converter, and carries an 8-button input matrix (D-pad + A/B + Mode/Select) plus a dedicated reboot button, an external QSPI flash chip for program storage, an I²C header for a monochrome OLED, an SWD debug port, and a 4-channel ADC breakout — making it a solid base for handheld gaming and general embedded projects.


Features

  • Raspberry Pi RP2040 microcontroller
  • USB Type-C power input
  • TLV62569 synchronous buck converter (5 V → 3.3 V)
  • External Winbond W25Q128JVSIQ QSPI flash memory
  • 12 MHz crystal oscillator (ABM8-272-T3)
  • 8-button input matrix: UP / DOWN / LEFT / RIGHT / A / B / MODE / SELECT
  • Dedicated hardware REBOOT button
  • Status LED (with current-limiting resistor)
  • I²C header for monochrome OLED display
  • 4-channel ADC breakout header (ADC0–ADC3)
  • Full GPIO breakout header
  • SWD programming/debug connector (SWCLK / SWDIO)
  • Custom 2-layer PCB

Hardware Specifications

ComponentDescription
MCURaspberry Pi RP2040
Input VoltageUSB Type-C (5 V)
RegulatorTLV62569ADRLR buck converter
Output Voltage3.3 V
Flash MemoryWinbond W25Q128JVSIQ (QSPI)
CrystalABM8-272-T3, 12 MHz
Display InterfaceI²C (SDA / SCK) header for monochrome OLED
Inputs8x tactile buttons + 1x reboot button
Analog4-channel ADC header
DebugSWD (SWCLK / SWDIO)
PCB2 layers
CAD SoftwareKiCad 10

Hardware Architecture

text
USB-C (5V)
   │
   ▼
TLV62569 Buck Converter (3.3V)
   │
   ▼
RP2040 MCU
   │
   ├── External QSPI Flash (W25Q128JVSIQ)
   ├── 12 MHz Crystal Oscillator
   ├── SWD Debug Header (SWCLK / SWDIO)
   ├── OLED Display Header (I²C: SDA / SCK)
   ├── 8x GPIO Buttons (UP/DOWN/LEFT/RIGHT/A/B/MODE/SELECT)
   ├── Reboot Button
   ├── 4-Channel ADC Header (ADC0-ADC3)
   ├── Full GPIO Breakout Header
   └── Status LED

Schematic

Power Supply

The power stage accepts 5 V from a USB-C receptacle and steps it down to 3.3 V using a TLV62569ADRLR buck converter, with input/output filter capacitors and feedback resistors sized for the 3.3 V rail. This sheet also contains the reboot switch, status LED, the OLED I²C header, the ADC breakout, the full GPIO pin header, and the full button matrix (D-pad, A/B, Mode/Select).

RP2040 Core

The MCU sheet includes:

  • RP2040 with USB D+/D- routed to the USB-C connector
  • 12 MHz crystal oscillator with load capacitors
  • External QSPI flash (W25Q128JVSIQ) wired to the RP2040's QSPI bus
  • SWCLK / SWDIO debug breakout
  • Full set of decoupling capacitors on IOVDD / ADC_AVDD / VREG_VIN / DVDD

PCB Layout

Layout / Routing View

3D Top View

Bottom / ADC & Debug Header View


Design Highlights

  • Designed entirely in KiCad (schematic + PCB)
  • Custom schematic capture and net labeling for clarity
  • Complete 2-layer PCB layout from scratch
  • Proper RP2040 support circuitry (crystal, decoupling, QSPI flash)
  • USB-C powered with a switching regulator for efficiency
  • Expandable GPIO, ADC, and I²C headers for add-on peripherals
  • SWD debugging interface for programming/debugging without removing the flash chip

Repository Structure

text
RP2040-Embedded-Controller
│
├── Hardware
│   ├── KiCad          # Schematic + PCB project files (.kicad_sch, .kicad_pcb, .kicad_pro)
│   ├── PDFs           # Exported schematic/PCB PDFs
│   ├── Gerbers        # Manufacturing files (Gerbers + drill files)
│   └── BOM            # Bill of materials
│
├── Images
│   ├── PCB_Top_3D.png
│   ├── PCB_Bottom.png
│   ├── PCB_Layout.png
│   ├── Schematic_Power.png
│   └── Schematic_MCU.png
│
├── README.md
└── LICENSE

Future Improvements

  • PCB fabrication and assembly
  • Hardware bring-up and validation
  • Firmware development using the Pico SDK
  • OLED graphics library integration
  • Retro game framework
  • Battery management (charging + fuel gauge)
  • Audio output
  • Enclosure design

Tools Used

  • KiCad 10
  • Raspberry Pi RP2040 Datasheet
  • Texas Instruments WEBENCH (buck converter design)
  • Winbond W25Q128JVSIQ Datasheet

Learning Outcomes

This project provided hands-on experience in:

  • Embedded hardware design
  • Component selection and datasheet interpretation
  • Switching power supply design
  • RP2040 minimum-system implementation
  • PCB layout and routing
  • Signal integrity considerations
  • Design for manufacturability (DFM)

Author

Susindharan S

Electrical & Electronics Engineering

Interested in:

  • Embedded Systems
  • PCB Design
  • IoT
  • Firmware Development

License

This project is licensed under the MIT License.

Parts

48
QtyValueFootprintReferences
11100nCapacitor_SMD:C_0402_1005MetricC3, C4, C5, C6, C7, C8, C9, C11, C12, C16, C18
9SW_PushButton_Switch_SMD:SW_SPST_Omron_B3FS-101xP3, 4, 5, 8, 9, 10, 11, 12, REBOOT
215pCapacitor_SMD:C_0402_1005MetricC14, C15
21uCapacitor_SMD:C_0402_1005MetricC10, C13
227Resistor_SMD:R_0402_1005MetricR6, R7
25.1kResistor_SMD:R_0402_1005MetricR1, R2
2Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2, J3
1100kResistor_SMD:R_0402_1005MetricR4
110uCapacitor_SMD:C_0402_1005MetricC17
11kResistor_SMD:R_0402_1005MetricR5
11uInductor_SMD:L_0402_1005MetricL1
12.2kResistor_SMD:R_0402_1005MetricR8
122uCapacitor_SMD:C_0402_1005MetricC2
14.7uCapacitor_SMD:C_0402_1005MetricC1
1453kResistor_SMD:R_0402_1005MetricR3
1ABM8-272-T3crystal:ABM8-272-T3_ABRX1
1Conn_01x02_PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ5
1Conn_01x04_SocketConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ1
1Conn_01x05_PinConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ6
1Conn_01x15_PinConnector_PinHeader_2.54mm:PinHeader_1x15_P2.54mm_VerticalJ4
1LEDLED_SMD:LED_0402_1005MetricD1
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU1
1TLV62569ADRLRbuck:DRL0006Abuck1
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4110J7
1W25Q128JVSIQ TRflash:SOIC_208MIL_WINU2

Questions

How big is the Rp2040 PCB?

It measures 145 × 75 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Rp2040 use?

48 parts, built around the RP2040 and ABM8-272-T3. 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 KiCad files?

From the 0susi0/RP2040-Embedded-Controller repository on GitHub, at the commit this page was made from: the board is Hardware/KiCad/rp2040.kicad_pcb and its schematic Hardware/KiCad/rp2040.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Rp2040 design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers70 × 72 mmSPINC AA Charger, the printed circuit board in 3D

    SPINC AA Charger

    CoretechR/SPINC

    DIY Automatic Battery Charger Using RP2040

    101 parts467GPL-3.0
  • 4 layers86 × 34 mmBsl drv v1, the printed circuit board in 3D

    Bsl drv v1

    jackw01/scanlight

    A better light source for scanning color negative film

    157 parts397CERN-OHL-W-2.0
  • 4 layers125.7 × 76.5 mmUGC Main R4K, the printed circuit board in 3D

    UGC Main R4K

    HandHeldLegend/GC-Ultimate

    The 3D shell, buttons, and other associated models are licensed under a Creative Commons Attribution 4.0 International License .

    168 parts62
  • 2 layers64 × 21.6 mmGamepad, the printed circuit board in 3D

    Gamepad

    CoretechR/DIY-Portrait-Mode-Gamepad

    A USB-C Gamepad for Portrait-Mode

    53 parts60GPL-3.0
  • 4 layers145 × 57 mmX1-expander, the printed circuit board in 3D

    X1-expander

    jwise/x1-expander

    Expander board for Bambu Lab X1 Carbon

    150 parts50
  • 4 layers277.2 × 107.5 mmKatia, the printed circuit board in 3D

    Katia

    ikajdan/katia

    A split keyboard with 6 by 3 column staggered keys and 3 thumb keys, based on the Crkbrd design

    230 parts33CERN-OHL-P-2.0
  • 4 layers51.8 × 20 mmSample target, the printed circuit board in 3D

    Sample target

    alvarop/swd2usbc

    Have you ever wanted to debug your device over USB-C? Sometimes there's not enough room for a JTAG/SWD connector, or even Tag-Connect pads!

    57 parts29CC0-1.0
  • 2 layers151 × 98 mmJolt2-left, the printed circuit board in 3D

    Jolt2-left

    tangybbq/keyboard

    Design files for my keyboards

    65 parts21