BNN

sparshgup·Eclectronics·BNN/BNN.kicad_pcb

BNN PCB layout, top view — open source RP2040/RP2350 board by sparshgup

About the BNN PCB

BNN is an open source RP2040/RP2350 PCB design by sparshgup, published on GitHub. It is a 2-layer board measuring 60.8 × 52.7 mm, with 68 components from 36 distinct parts.

Its main chip is the MCP1702T-3302E/CB, from the RP2040/RP2350 family. Other key parts include the W25Q32JV, SC1509-A4, W25Q32JWSSIQ and ICE40UP5K-SG48I. By type, the board carries 30 capacitors, 20 resistors, 6 ICs, 5 connectors, 3 switches and 2 LEDs.

From the project

PCB Design (Olin College - Eclectronics SP25)

Built a custom 2-layer PCB that combines an RP2040 microcontroller with a Lattice iCE40UP5K FPGA. The goal was to run a small binary neural network (BNN) classifier on the FPGA in hardware. The RP2040 programs the FPGA, sends input data over SPI, gets back a classification result, and prints it over USB serial. An RGB LED shows which class was picked.

BNNs use XNOR and popcount instead of floating-point math, which maps well onto FPGA lookup tables. The demo targets the Iris dataset (4 inputs, 3 classes). The hardware doesn't care what model you use since the weights are just baked into the…

BNN, from the project README
From the project README

Main components on the BNN

BNN bill of materials (BOM)

68 components, 36 distinct parts — part numbers from the project's BOM.

QtyPartRefs
1
W25Q32JV
AP2112K-3.3TRG1
U1
1
SC1509-A4
AP2112K-1.2TRG1
U2
1
MCP1702T-3302E/CB
SC09147
U3
2
W25Q32JWSSIQ
U4, U5
1
ICE40UP5K-SG48I
U6
1
USB4105-GF-A
USB4110-GF-A
J1
1
DEBUG
J2
2
Conn_01x20
J3, J5
1
Conn_01x12
J4
1
B3U-1000P
RST
S1
1
B3U-1000P
BOOT
S2
1
USR
S3
1
12MHZ
XTAL1
2
LTST-C170GKT
LED1, LED2
1
XZCM2MOK54WA-1VF
IN-S85TATRGB
D1
2
0402X104K500CT
10uF
C1, C8
1
CL05A475KP5NRNC
10uF
C2
1
CL05A475KP5NRNC
1uF
C3
4
0402X104K500CT
1uF
C4, C5, C6, C7
4
0402X104K500CT
100nF
C9, C10, C13, C15
Show 16 more
QtyPartRefs
1
CL05A475KP5NRNC
100nF
C11
2
CL05A475KP5NRNC
27pF
C12, C14
2
GRM188R61E106KA73D
100nF
C16, C17
11
100nF
C18, C19, C21, C23, C24, C25, C26, C27 +3
2
1uF
C20, C22
2
AC0402FR-075K1L
ERJ-3EKF5101V
R1, R3
1
AC0402FR-075K1L
330
R2
2
AC0402FR-075K1L
10k
R4, R9
2
ERJ-2RKF27R0X
10k
R5, R6
1
RC0402FR-0733RL
1k
R7
2
CRGCQ0402F1K0
10k
R8, R12
2
CRGCQ0402F1K0
27
R10, R11
4
10k
R13, R15, R16, R17
1
1k
R14
1
330
R18
2
33
R19, R20

BNN design files

The KiCad project lives in the sparshgup/Eclectronics repository on GitHub; these links point at the commit this page was built from.

BNN: common questions

What microcontroller does the BNN use?

The BNN is built around the MCP1702T-3302E/CB, from the RP2040/RP2350 family.

How big is the BNN PCB?

The BNN measures 60.8 × 52.7 mm, has 2 copper layers and is 1.6 mm thick.

How many components are on the BNN?

68 components, from 36 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 BNN design files?

From the sparshgup/Eclectronics 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 BNN design in my own project?

The repository has no license, so all rights stay with sparshgup. Use it as a reference, and ask the author before reusing the design.

Can I test firmware for the BNN without the hardware?

Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug RP2040/RP2350 firmware against it before you order a PCB.

More boards in Eclectronics

Similar boards