Lx32
potatocpu·lx32·pcb/lx32-fpga.kicad_pcb
About the Lx32 PCB
Lx32 is an open source FPGA PCB design by potatocpu, published on GitHub. It is a 4-layer board measuring 80 × 60 mm, with 49 components from 25 distinct parts.
Its main chip is the ICE40HX4K-TQ144, from the FPGA family. Other key parts include the AP2112K-3.3, W25Q32JVSS, CH340C, AP2112K-1.2 and 23K256. By type, the board carries 17 capacitors, 7 test points, 7 resistors, 6 ICs, 2 connectors and 2 diodes.
From the project
A from-scratch computing platform: custom processor, LLVM compiler backend and custom hardware.
I built a computer from scratch because ChatGPT told me "no hay huevos." So here we are.
Custom processor, custom PCB, custom compiler. The whole thing.
Zero violations. Zero unconnected items. I cried a little.
(also this is the 5th time I rewrote this README. if it still looks AI-generated I give up)
lx32 is a 32-bit CPU with a custom instruction set, running on a custom PCB, compiled by a custom LLVM backend. You can write C, compile it, and it runs on this thing.

Main components on the Lx32
Lx32 bill of materials (BOM)
49 components, 25 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | ICE40HX4K-TQ144 | TQFP-144_20x20mm_P0.5mm | U1 |
| 1 | AP2112K-3.3 | SOT-23-5 | U2 |
| 1 | W25Q32JVSS | SOIC-8_5.3x5.3mm_P1.27mm | U3 |
| 1 | CH340C | SOIC-16_3.9x9.9mm_P1.27mm | U4 |
| 1 | AP2112K-1.2 | SOT-23-5 | U5 |
| 1 | 23K256 | U6 | |
| 1 | Crystal | Crystal_SMD_3225-4Pin | Y1 |
| 1 | USB_C_Receptacle_USB2.0_14P | USB_C_Receptacle | J1 |
| 1 | VGA_HDR | J2 | |
| 3 | Fiducial | FID1, FID2, FID3 | |
| 4 | MH_M3 | MH1, MH2, MH3, MH4 | |
| 1 | VCC_3V3 | TP1 | |
| 1 | VCC_1V2 | TP2 | |
| 1 | GND | TP3 | |
| 1 | VBUS | TP4 | |
| 1 | USB_DP | TP5 | |
| 1 | USB_DM | TP6 | |
| 1 | CLK25 | TP7 | |
| 2 | LED | LED_0805_2012Metric | D1, D2 |
| 12 | 100nF | C_0402_1005Metric | C1, C2, C3, C4, C5, C6, C7, C8 +4 |
Show 5 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 4 | 10uF | C_0805_2012Metric | C13, C14, C15, C16 |
| 1 | 100nF | C21 | |
| 2 | 5.1k | R_0402_1005Metric | R1, R2 |
| 2 | 100R | R_0402_1005Metric | R3, R4 |
| 3 | 68R | R5, R6, R7 |
Lx32 design files
The KiCad project lives in the potatocpu/lx32 repository on GitHub; these links point at the commit this page was built from.
- Layoutpcb/lx32-fpga.kicad_pcb
- Schematicpcb/lx32-fpga.kicad_sch
- BOMlx32-bom.csv
Lx32: common questions
What microcontroller does the Lx32 use?
The Lx32 is built around the ICE40HX4K-TQ144, from the FPGA family.
How big is the Lx32 PCB?
The Lx32 measures 80 × 60 mm, has 4 copper layers and is 1.6 mm thick.
How many components are on the Lx32?
49 components, from 25 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Lx32 design files?
From the potatocpu/lx32 repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the Lx32 design in my own project?
The repository has no license, so all rights stay with potatocpu. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the Lx32 without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug FPGA firmware against it before you order a PCB.
Similar boards
FPGA
Base board
GlasgowEmbedded
80 × 49 mm222 parts4L0BSD2.2kFPGA
Thunderscope Rev5.3
EEVengers
122.5 × 103.5 mm817 parts6LMIT1.3kFPGA
Usb sniffer
ataradov
58.2 × 38.1 mm86 parts2LBSD-3-Clause1.3kFPGA
Tomu, I'm
theacodes
13 × 9.4 mm40 parts4LMIT1.1kFPGA
Icepi zero
cheyao
65 × 30 mm143 parts4LSHL-2.1828FPGA
Gcvideo
ikorb
49 × 30 mm44 parts4LNo license765