Fork 0
RP2040-based board template
Go to file
radex 8f4c55d71d
jlcpcb production fixes
2024-03-10 20:53:54 +01:00
PCB jlcpcb production fixes 2024-03-10 20:53:54 +01:00
Resources Initial commit 2024-03-10 18:00:06 +01:00
assets Initial commit 2024-03-10 18:00:06 +01:00
README.md Refactor schematic to be hierarchical 2024-03-10 20:25:23 +01:00



A RP2040-based board, similar to Raspberry Pi Pico H, featuring:

  • RP2040 microcontroller
  • 16MB Flash
  • breadboard-friendly pin headers with labels (+ debug header)
  • USB-C connector
  • BOOTSEL and RESET buttons
  • JLCPCB Assembly optimized, 2-layer board
  • KiCad 8 template, hierarchical schematic

DISCLAIMER: This board was designed as an exercise. It has not (yet) been manufactured and tested. Also, I don't know what I'm doing, this is like the third PCB I've designed. Don't use it lol.

Top down render of the board PCB routing Schematics

Credits and learning resources

This project is a fork of Sleepdealr/RP2040-designguide. It bears little resemblance to the original, but it was a great starting point (and still contains some pieces of it).

I also took a lot of inspiration and knowledge from these YouTube videos:

There's extra learning resources in the Resources/ folder (copied from Sleepdealr's project).


This board is optimized to use JLCPCB Basic (or Extended Preferred) components as much as possible to make it cheap to manufacture at 2-5 pieces scale.

Some worth mentioning:

  • Flash: C97521 - Winbond W25Q128JVSIQ - 128Mbit (16MB) NOR Flash
  • Voltage Regulator: C5446 - XC6206
  • Crystal: C9002 - 12MHz
  • Buttons: C318884 - TS-1187A-B-A-B
  • TVS diodes: C7420376 - SRV05-4

Most components are the same as in Sleepdealr's design. Differences: larger Flash, different TVS diodes, added buttons, power LED indicator, removed resettable fuse.

Extended parts: The only parts that are not on JLCPCB's Basic parts list (i.e. you'll pay $3 feeder fee per part) are the RP2040 and the USB-C connector. (Pin headers are not on the BOM, but you can add them).


Some things to consider:

  • The 0Ω 1206 resistor is a placeholder for a resettable fuse. (There are none in JLC's Basic parts, but it's a good idea to have one)
  • Flash storage and buttons could be replaced with smaller physical packages
  • For size/cost/simplicity, you can remove buttons, USB, TVS, fuse placeholder, LED if you don't need them. You could even remove the crystal and rely on RP2040's ring oscillator if you don't need precise timing or max performance


  • Have this board manufactured, see if it works!
  • I'm concerned about the crystal, it seems to me that layout and loading capacitors could be better, but they can be finnicky, and Sleepdealr's design works, so I didn't change anything.
  • I'm thinking of designing a smaller version, optimized for use as a module with carrier boards (using 1mm pitch pin headers, not castellated holes like the original Pico for cost reasons)