Skip to the content
4 layers21 × 51 mmICE40UP5K SG48I, the printed circuit board in 3D

A custom dev board based on the RP2350 microcontroller and the ICE40UP5K-SG48I FPGA.

Size
21 × 51 mm
Copper layers
4
Thickness
1.6 mm
Parts
75
Nets
95
Pads
359
Tracks, vias
846, 136
Pours
11
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
27 May 2026
Updated
30 Jun 2026

Overview

ICE40UP5K SG48I is an open-source printed circuit board by SorenGilkeyJohnson, from the SorenGilkeyJohnson/iCEPico repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 4-layer board of 21 × 51 mm with 75 parts on 95 nets, routed with 846 tracks and 136 vias.

It is built around the ICE40UP5K-SG48I, RP2350A and AP63203WU, with the W25Q128JVPIQ, TLV75512PDBV and BSS138 among its other parts. Its parts include 33 capacitors, 18 resistors, 5 ICs, 4 diodes and 3 connectors. It belongs with the fPGA and programmable logic boards and the RP2350 and FPGA and CPLD boards of this library.

Main components

7

README

README.md

iCEPico

A compact development board combining the RP2350 microcontroller and the ICE40UP5K-SG48I FPGA in a Raspberry Pi Pico form factor.


Overview

The iCEPico is a custom PCB that pairs the RP2350 with the Lattice ICE40UP5K-SG48I FPGA. The board is modelled after the Raspberry Pi Pico, with the addition of the FPGA and a +1V2 regulator to supply it. The board matches the physical dimensions of the Pico, though it does not replicate the Pico's pinout.

I made this project because I wanted to learn FPGA design. Initially, I thought about using a BGA package but decided to go with QFN instead due to PCB costs and complexity. I had previously designed for the RP2040 but never the RP2350. I plan to use the project as a general-purpose dev board, a learning tool for FPGAs for me, and to teach students at my school's robotics club.


Here is KiCanvas!

Board Images

Top ViewBottom View
Top ViewBottom View
3D Top3D Bottom
3D Top3D Bottom

View Schematic (PDF)


Hardware

ComponentPart
MicrocontrollerRP2350
FPGALattice ICE40UP5K-SG48I
QSPI FlashW25Q128JVP
3.3V RegulatorAP63203 (Buck)
1.2V RegulatorTLV75612PDBV (LDO)

RP2350 <-> FPGA Interconnect

The FPGA flash is the RP2350 via bit-banging. The two chips share 8 GPIO lines aligned to the RP2350's HSTX peripheral.

PCB Stack-Up

LayerFunction
1Signal / Components
2GND
3PWR (primarily 3V3)
4Signal

Power

The board can be powered via:

  • USB-C : 5V VBUS through a Schottky diode
  • VIN header : direct voltage input

Programming

MethodTargetDescription
USB (UF2)RP2350Drag-and-drop bootloader over USB-C
SWDRP2350Debug header for OpenOCD / probe-rs
Bit-bang (via RP2350)ICE40 FPGAFPGA bitstream loaded by the RP2350 firmware

Pinout

PinLeft SignalRight SignalPin
1GND+3V32
3GPIO0+VIN4
5GPIO1ADC26
7GPIO2ADC18
9GPIO3ADC010
11GPIO4GPIO2412
13GPIO5GPIO2314
15GPIO6GPIO2216
17IOT_37IOB_1618
19IOT_36IOB_820
21IOT_39IOB_922
23IOT_38IOB_624
25IOT_41IOB_426
27IOT_42IOB_228
29IOT_43IOB_030
31IOT_44IOB_532
33IOT_48IOB_334
35GNDGND36
37IOT_45IOT_4938
39IOT_50IOT_5140

Repository Structure

text
iCEPico/
├── Images/                          # Board renders and schematic export
│   ├── Bottom_View_PCB.png
│   ├── ICE40UP5K-SG48I_3D_Bottom.png
│   ├── ICE40UP5K-SG48I_3D_Top.png
│   ├── ICE40UP5K-SG48I_Schematic.pdf
│   └── Top_View_PNG.png
├── KiCad/                           # KiCad project files
│   ├── ICE40UP5K-SG48I.kicad_pcb
│   ├── ICE40UP5K-SG48I.kicad_prl
│   ├── ICE40UP5K-SG48I.kicad_pro
│   └── ICE40UP5K-SG48I.kicad_sch
├── fabrication/                     # Fabrication outputs
│   ├── bom.csv
│   ├── gerbers.zip
│   └── pick_and_place.csv
├── hardware/                        # Hardware source files
│   ├── ICE40UP5K-SG48I.kicad_pcb
│   ├── ICE40UP5K-SG48I.kicad_pro
│   └── ICE40UP5K-SG48I.kicad_sch
├── LICENSE
└── README.md

License

See LICENSE for details.

Parts

75
QtyValueFootprintReferences
17100nCapacitor_SMD:C_0402_1005MetricC1, C3, C6, C10, C11, C14, C18, C19, C20, C23, C25, C27, C29, C30, C31, C32 +1
94u7Capacitor_SMD:C_0402_1005MetricC2, C4, C9, C12, C13, C24, C26, C28, C33
6TestPointTestPoint:TestPoint_Pad_D1.0mmTP1, TP2, TP3, TP4, TP5, TP6
5TBDResistor_SMD:R_0402_1005MetricR6, R7, R8, R9, R12
310KResistor_SMD:R_0402_1005MetricR4, R5, R11
2100KResistor_SMD:R_0402_1005MetricR10, R13
21KResistor_SMD:R_0402_1005MetricR14, R15
21uCapacitor_SMD:C_0402_1005MetricC8, C15
227RResistor_SMD:R_0402_1005MetricR16, R17
25K1Resistor_SMD:R_0402_1005MetricR1, R2
2LEDLED_SMD:LED_0402_1005MetricD3, D4
2TBDCapacitor_SMD:C_0402_1005MetricC21, C22
1100RResistor_SMD:R_0402_1005MetricR3
110uCapacitor_SMD:C_0805_2012MetricC5
112MHZCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
11nCapacitor_SMD:C_0402_1005MetricC16
122uCapacitor_SMD:C_0805_2012MetricC17
133RResistor_SMD:R_0402_1005MetricR18
13u3Inductor_SMD:L_Changjiang_FTC201607SL2
13u9Inductor_SMD:L_Chilisin_BWVS00404012L1
1AP63203Package_TO_SOT_SMD:TSOT-23-6U2
1BSS138PCM_Package_TO_SOT_SMD_AKL:SOT-23Q1
1Conn_01x03Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ1
1Conn_02x20_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_VerticalJ2
1ICE40UP5K-SG48IPackage_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.3x5.3mmU1
1LED_ARGBLED_SMD:LED_SK6812_EC15_1.5x1.5mmD2
1PMEG4010ERDiode_SMD:Nexperia_CFP3_SOD-123WD1
1PolyfuseFuse:Fuse_0603_1608MetricF1
1RP2350APackage_DFN_QFN:QFN-60-1EP_7x7mm_P0.4mm_EP3.4x3.4mmU5
1SW_MEC_5GCustom_Footprint_Purchase:SW_3_42 4-PIN ButtonSW1
1TLV75512PDBVPackage_TO_SOT_SMD:SOT-23-5U3
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ3
1W25Q128JVPPackage_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mmU4

Similar boards

  • 4 layers75 × 55 mmEos epu up5k, the printed circuit board in 3D

    Eos epu up5k

    embeddedos-org/eCAD-Hardware-Products

    Hardware designs + EE docs + Board datasheets of Multiple products

    145 parts8MIT
  • 6 layers70 × 70 mmRp2350-decoder, the printed circuit board in 3D

    Rp2350-decoder

    mikesmitty/rp24-dcc-decoder

    DIY DCC decoder for model railroad locomotives in an E24 form factor, powered by an RP2350 (Raspberry Pi Pico 2)

    543 parts12
  • 4 layers82 × 55 mmSpark, the printed circuit board in 3D

    Spark

    ratmuds/spark

    The PCB files for this project. The gerber and other PCBA files are in the production folder.

    202 parts1
  • 4 layers50 × 37 mmIce40tag, the printed circuit board in 3D

    Ice40tag

    clysto/ice40tag

    78 parts
  • 4 layers87.3 × 40.5 mmFPGA BOARD, the printed circuit board in 3D

    FPGA BOARD

    Darkops-cpu/CERBERUS

    An open-source iCE40 FPGA development board with a fully open toolchain.

    94 parts
  • 8 layers230 × 145.3 mmOptiLogic-16-Pro, the printed circuit board in 3D

    OptiLogic-16-Pro

    HexFud/OptiLogic-16-Pro

    A logic analyzer with 16 channels that can also watch two fiber network links at the same time

    342 parts
  • 4 layers120 × 69 mmDual adc usb, the printed circuit board in 3D

    Dual adc usb

    devbisme/ai-circuit-design-tests

    Tests of KiCad-related AI tools.

    184 parts10
  • 4 layers22 × 42 mmModule, the printed circuit board in 3D

    Module

    OrbitalCommons/gumstick

    Gumstick: ESP32 + iCE40UP5K FPGA module (v1 DF40 board-to-board, v2 M.2 gold-finger draft) and its programming carrier. KiCad 10.

    46 parts1MIT

Questions

How big is the ICE40UP5K SG48I PCB?

It measures 21 × 51 mm and has 4 copper layers, 1.6 mm thick.

What parts does the ICE40UP5K SG48I use?

75 parts, built around the ICE40UP5K-SG48I, RP2350A, AP63203WU and W25Q128JVPIQ. 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 ICE40UP5K SG48I KiCad files?

From the SorenGilkeyJohnson/iCEPico repository on GitHub, at the commit this page was made from: the board is KiCad/ICE40UP5K-SG48I.kicad_pcb and its schematic KiCad/ICE40UP5K-SG48I.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ICE40UP5K SG48I design in my own project?

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