Skip to the content
2 layers67.4 × 28.7 mmDevboard, the printed circuit board in 3D

A Reaction game where an LED lights up on a PCB board and you press buttons according to which light lids up on the board.

Size
67.4 × 28.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
36
Nets
58
Pads
201
Tracks, vias
422, 32
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
5 Oct 2026
Updated
7 Nov 2026

Overview

Devboard is an open-source printed circuit board by JH-2108, from the JH-2108/RP2040-devboard repository on GitHub. It is a 2-layer board of 67.4 × 28.7 mm with 36 parts on 58 nets, routed with 422 tracks and 32 vias.

It is built around the RP2040, W25Q128JVSIQ and AMS1117-3.3. Its parts include 17 capacitors, 9 resistors, 3 ICs, 3 connectors and 2 switches. It belongs with the microcontroller boards boards and the RP2040 boards of this library.

Main components

3

README

README.md

Small devboard

A custom RP2040-based development board designed from scratch in KiCAD as part of Hack Club Half Life.

The DevBoard is a compact general-purpose development platform with native USB-C connectivity, external QSPI flash, 3.3V power regulation, GPIO breakout, onboard controls, and a status LED. The board is intended to be used for embedded programming, electronics experimentation, robotics, sensors, displays, and future hardware projects.

Features

  • Raspberry Pi RP2040 microcontroller
  • Native USB-C connectivity
  • External QSPI flash
  • 12 MHz crystal oscillator
  • 3.3V power regulation
  • 2x20 GPIO breakout pins
  • BOOTSEL and RESET buttons
  • Onboard status LED
  • SMD components
  • Custom PCB designed in KiCAD

Hardware

The board is built around the RP2040 and follows the required circuity for its power, clock, USB, and external flash interfaces.

Main components

  • RP2040 MCU
  • W25Q128 QSPI flash
  • 12 MHz crystal
  • USB-C connector
  • 3.3V LDO regulator
  • Decoupling and filtering capacitors
  • USB-C CC resistors
  • GPIO headers
  • RESET and BOOTSEL buttons
  • Status LED

Firmware

The devboard will be programmed using the Raspberry Pi Pico SDK and C/C++.

The initial firmware will provide:

  • RP2040 boot and initialization
  • USB connectivity
  • GPIO testing
  • Status LED control
  • Board diagnostics
  • USB serial communication

A diagnostic firmware can be used to verify that the assembled PCB is functioning correctly.

PC software

A small optional Python utility may be developed to communicated with the board over USB serial.

This can be used to

  • Display board information
  • Run hardware tests
  • Control the onboard LED
  • Test GPIO
  • Monitor diagnostic output

Firmware flashing

The devboard uses the RP2040 microcontroller chip. Compatible UF2 firmware can be flashed over USB without an external programmer, provided the board's USB interface and BOOTSEL circuit are functioning correctly.

Requirements

  • A USB data cable compatible with the board's USB-C connector
  • A computer running either Windows, macOS, or Linux
  • A compatible .uf2 firmware file

Instructions

  1. Obtain the firmware. Download a UF2 firmware file that is compatible with the RP2040 and the intended application. Alternatively, build the firmware from its source code using the appropriate development tools.
  2. Enter BOOTSEL mode. Disconnect the devboard from USB. Press and hold the BOOTSEL button, then connect the board to the computer. Release the button after the computer detects the board.
  3. Open the bootloader drive. The board should appear as a USB mass-storage device named RPI-RP2. If it does not appear, check the connecting cable, power supply, and BOOTSEL circuit.
  4. Copy the firmware. Drag the compatible .uf2 file into the RPI-RP2 drive.
  5. Wait for the installation to finish. The drive should disconnect automatically as the RP2040 reboots and begins running the newly installed firmware.
  6. Test the board. Verify that the firmware behaves as expected. If the application exposes a USB serial interface, open a serial terminal to inspect its output.

Troubleshooting

  • The drive does not appear: make sure your USB cable supports data, not just charging. Check that the board receives power and the BOOTSEL circuit is assembled correctly.
  • The firmware is rejected or does not run: confirm that the UF2 file targets the RP2040 and is built for the board's memory layout and hardware.
  • The board does not behave as expected: try a known-compatible firmware image and inspect the power supply, clock circuit (especially this one), flash connections, and USB data routing.

Important Notes

  • A UF2 file must be compatible with the RP2040 and the target firmware cofiguration.
  • Flashing new firmware replaces the existing application in flash memory.
  • BOOTSEL mode is implemented in the RP2040's read-only boot ROM, so compatible hardware can normally re-enter the bootloader even if the installed application fails. If all else does not work, see the official Raspberry Pi microcontroller chip documentation.

Design

The PCB and schematic are designed using KiCAD. Project files include:

  • Schematic
  • PCB layout
  • Component/footprint assignments
  • BOM
  • Manufacturing files

Design process

  1. select and verify components for pricing and whether it is within budget range
  2. create the schematic
  3. assign symbols and footprints
  4. design the PCB layout
  5. route the board
  6. run electrical and design rule checks
  7. generate gerber files
  8. assemble the PCB
  9. develop and test firmware
  10. test the complete board

Bill of Materials

ItemQtySupplierCost/itemTotal Costlink
Raspberry Pi RP2040CT1Cytron$1.15$1.15https://my.cytron.io/p-raspberry-pi-rp2040-mcu-ic-single-unit
Winbond W25Q128JVSIQ1LCSC$2.52$2.52https://www.lcsc.com/product-detail/C113767.html
12 MHz SMD crystal, 3225 4-pin5LCSC$0.10$0.50https://www.lcsc.com/product-detail/C518158.html
USB Type-C 16-pin receptacle1Shopee Malaysia$0.65$0.65https://shopee.com.my/Type-C-3.1-Patch-Socket-6P-16P-24P-Countersunk-Board-1.6-0.8mm-USB-Female-Socket-Data-Interface-i.513412485.42610897264?extraParams=%7B%22display_model_id%22%3A260916036060%2C%22model_selection_logic%22%3A3%7D
3.3 V LDO regulator1Shopee Malaysia$0.46$0.46https://shopee.com.my/AMS1117-Voltage-Regulator-IC-SOT-223-1.2V-1.5V-1.8V-2.5V-3.3V-5V-i.1412281456.49416215365?extraParams=%7B%22display_model_id%22%3A396380238012%2C%22model_selection_logic%22%3A3%7D
10 µF ceramic capacitor1Shopee Malaysia$1.05$1.05https://shopee.com.my/50V-10uF-Multilayer-Capacitor-i.40459773.23082863550?extraParams=%7B%22display_model_id%22%3A138766713726%2C%22model_selection_logic%22%3A3%7D
100 nF ceramic capacitor1Shopee Malaysia$1.25$1.25https://shopee.com.my/0402-0603-0805-1206-100nF-820nF-SMD-Chip-Capacitor-i.1467039591.41834021222?extraParams=%7B%22display_model_id%22%3A218871594639%2C%22model_selection_logic%22%3A3%7D
5.1 kΩ resistor1Shopee Malaysia$1.24$1.24https://shopee.com.my/SMD-0402-0603-0805-1206-RESISTOR-1K-9.1K-Ohm-i.1467039591.50009312017?extraParams=%7B%22display_model_id%22%3A307560786040%2C%22model_selection_logic%22%3A3%7D
1 kΩ resistor1Shopee Malaysia$1.24$1.24https://shopee.com.my/SMD-0402-0603-0805-1206-RESISTOR-1K-9.1K-Ohm-i.1467039591.50009312017?extraParams=%7B%22display_model_id%22%3A307560786040%2C%22model_selection_logic%22%3A3%7D
0603 LED1Shopee Malaysia$0.88$0.88https://shopee.com.my/SMD-0402-0603-0805-1206-RESISTOR-1K-9.1K-Ohm-i.1467039591.50009312017?extraParams=%7B%22display_model_id%22%3A307560786040%2C%22model_selection_logic%22%3A3%7D
Tactile push button1Shopee Malaysia$0.31$0.31https://shopee.com.my/Button-Switch-Tactile-Push-6x6x5mm-6*6*5mm-4PIN-i.482535902.11217352127?extraParams=%7B%22display_model_id%22%3A100951846821%2C%22model_selection_logic%22%3A3%7D
Tactile push button1Shopee Malaysia$0.31$0.31https://shopee.com.my/Button-Switch-Tactile-Push-6x6x5mm-6*6*5mm-4PIN-i.482535902.11217352127?extraParams=%7B%22display_model_id%22%3A100951846821%2C%22model_selection_logic%22%3A3%7D
2.54 mm male pin headers1Shopee Malaysia$0.30$0.30https://shopee.com.my/Male-Header-Pins-Straight-Single-Row-40-Pin-0.1-Inch-(2.54mm)-Male-Pin-Header-Connector-PCB-Board-Pin-Connect-i.161803224.7025057004?extraParams=%7B%22display_model_id%22%3A21946244149%2C%22model_selection_logic%22%3A3%7D
Custom PCB1JLCPCB$5.78$5.78https://jlcpcb.com
Estimated total shipping1$7.75

Project goals

The main goal is to design and build a fully functioning custom development board rather than relying on an existing development board such as the Raspberry Pi Pico.

The project combines:

  • PCB design
  • embedded systems
  • electronics
  • Firmware development
  • USB communication
  • hardware testing
  • software development

project images

Schematic

image

PCB layout

image

3d Render

image

Finished PCB a photo will be added here

LICENSE

This project is licensed under MIT License, check out LICENSE for more details.

Parts

36
QtyValueFootprintReferences
11100nFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C5, C6, C8, C13, C14, C15, C16
210kResistor_SMD:R_0603_1608MetricR5, R7
210uFCapacitor_SMD:C_0603_1608MetricC9, C17
215pFCapacitor_SMD:C_0603_1608MetricC11, C12
21kResistor_SMD:R_0603_1608MetricR4, R6
21uFCapacitor_SMD:C_0603_1608MetricC7, C10
227Resistor_SMD:R_0603_1608MetricR8, R9
25.1kΩResistor_SMD:R_0603_1608MetricR1, R2
2Conn_01x20Connector_PinHeader_2.54mm:PinHeader_1x20_P2.54mm_VerticalJ2, J3
112MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
11kΩResistor_SMD:R_0603_1608MetricR3
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U3
1BOOTSELButton_Switch_SMD:SW_Push_1P1T_NO_E-Switch_TL3301NxxxxxGSW2
1LEDLED_SMD:LED_0603_1608MetricD1
1RESETButton_Switch_SMD:SW_Push_1P1T_NO_E-Switch_TL3301NxxxxxGSW1
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU1
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ1
1W25Q128JVSIQPackage_SO:SOIC-8_5.3x5.3mm_P1.27mmU2

Similar boards

  • 2 layers78 × 60 mmIce viz, the printed circuit board in 3D

    Ice viz

    muni-works/vcad

    BRep CAD kernel in Rust/WASM

    44 parts442Apache-2.0
  • 4 layers72.6 × 170 mmOpenJBOD RP2040, the printed circuit board in 3D

    OpenJBOD RP2040

    OpenJBOD/rp2040

    This repository contains the hardware design files OpenJBOD RP2040 Baseboard.

    129 parts87CERN-OHL-P-2.0
  • 2 layers352.5 × 120 mmPyKey87, the printed circuit board in 3D

    PyKey87

    jpconstantineau/PyKey60

    The PyKey60 is a custom programmable mechanical keyboard with a standard ANSI 60% keyboard layout compatible with any cases made for the GH60. The PyKey60 uses mechanical switches (Cherry MX type).

    310 parts57
  • 2 layers36 × 43 mmAsac fc rev a, the printed circuit board in 3D

    Asac fc rev a

    victorhook/asac-fc

    asac fc is an rp2040 based flight controller made for FPV drone flying

    119 parts52GPL-3.0
  • 2 layers55.4 × 34.5 mmWii mainboard, the printed circuit board in 3D

    Wii mainboard

    xtreme8000/picoAVE

    Wii HDMI mod using a rp2040 mcu

    38 parts49GPL-3.0
  • 2 layers144 × 98 mmRP2040 Board V1.0, the printed circuit board in 3D

    RP2040 Board V1.0

    MReavley/CyberSliceKeyboard

    42/36 key ergo split keyboard using a RP2040

    92 parts30MIT
  • 4 layers44.2 × 84.5 mmBolt, the printed circuit board in 3D

    Bolt

    tjclement/bolt

    Documentation for the Curious Bolt hardware hacking multi-tool

    78 parts16MIT

Questions

How big is the Devboard PCB?

It measures 67.4 × 28.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Devboard use?

36 parts, built around the RP2040, W25Q128JVSIQ and AMS1117-3.3. 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 Devboard KiCad files?

From the JH-2108/RP2040-devboard repository on GitHub, at the commit this page was made from: the board is PCB/devboard.kicad_pcb and its schematic PCB/devboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Devboard design in my own project?

Its repository states no licence, so its author keeps all rights: ask JH-2108 before reusing the design.