River
HenryLi-0·river·pcb/board/board.kicad_pcb
About the River PCB
River is an open source RP2040/RP2350 PCB design by HenryLi-0, published on GitHub under the CERN-OHL-S-2.0 license. It is a 2-layer board measuring 56 × 80 mm, with 118 components from 35 distinct parts.
Its main chip is the RP2040, from the RP2040/RP2350 family. Other key parts include the NCP1117-3.3_SOT223, W25Q16JVZPIQ TR, PCM5101A, TLV70033_SOT23-5 and TPA6132A2RTE. By type, the board carries 52 capacitors, 26 resistors, 13 diodes, 10 connectors, 9 ICs and 6 switches.
It belongs with the audio and displays & leds designs in this gallery.
From the project
a quick stepping stone
A couple of months ago, after listening to archived music on the Internet Archive with Webamp, I thought the graphics on the right side (powered by Milkdrop) were pretty cool. I've always liked how Geometry Dash levels typically have well synced gameplay, since it's just so satisfying. Additionally, I also dislike how everything is switching to streamsing services (both because of the subscription model and more importantly the amount of cellular data it uses lol), so I basically wanted to bring music-synced graphics onto a portable offline device!

Main components on the River
River bill of materials (BOM)
118 components, 35 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 2 | RP2040 | QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U1, U5 |
| 2 | NCP1117-3.3_SOT223 | SOT-223-3_TabPin2 | U2, U4 |
| 2 | W25Q16JVZPIQ TR | Winbond_USON-8-1EP_3x2mm_P0.5mm_EP0.2x1.6mm | U3, U6 |
| 1 | PCM5101A | TSSOP-20_4.4x6.5mm_P0.65mm | U7 |
| 1 | TLV70033_SOT23-5 | SOT-23-5 | U8 |
| 1 | TPA6132A2RTE | WQFN-16-1EP_3x3mm_P0.5mm_EP1.6x1.6mm_ThermalVias | U9 |
| 2 | 12MHZ 12MHz | Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1, Y2 |
| 1 | (A) USB_C_Receptacle_USB2.0_14P | USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
| 1 | (B) USB_C_Receptacle_USB2.0_14P | USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J2 |
| 1 | (C) USB_C_Receptacle_USB2.0_14P | USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J3 |
| 3 | CONN_01X01 Conn_01x01 | PinHeader_1x01_P2.54mm_Vertical | J8, J15, J16 |
| 1 | OLED_128X32 OLED_128x32 | OLED_128x32 | J10 |
| 1 | LCD_128X160 LCD_128x160 | LCD_128x160 | J11 |
| 1 | AUDIOJACK3 AudioJack3 | Jack_3.5mm_CUI_SJ-3523-SMT_Horizontal | J12 |
| 1 | Micro_SD_Card | microSD_HC_Molex_47219-2001 | J14 |
| 2 | SW_Push | SW_Push_SPST_NO_Alps_SKRK | SW1, SW2 |
| 3 | Switch | SW_Cherry_MX_1.00u_PCB | SW3, SW4, SW5 |
| 1 | RotaryEncoder_Switch | RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW6 |
| 2 | SS14 | D_SMA | D1, D2 |
| 5 | LED | LED_0603_1608Metric | D3, D4, D5, D9, D10 |
Show 15 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 6 | LED_WS2812B | LED_WS2812B | D11, D12, D13, D14, D15, D16 |
| 10 | 1UF 1uF | C_0402_1005Metric | C1, C10, C20, C25, C45, C46, C47, C49 +2 |
| 22 | 0.1UF 0.1uF | C_0402_1005Metric | C2, C3, C4, C5, C6, C7, C8, C9 +14 |
| 4 | 10UF 10uF | C_0603_1608Metric | C13, C14, C18, C19 |
| 4 | 33PF 33pF | C_0402_1005Metric | C15, C16, C21, C22 |
| 4 | 10UF 10uF | C_0402_1005Metric | C35, C37, C39, C48 |
| 4 | 100NF 100nF | C_0402_1005Metric | C36, C38, C40, C43 |
| 4 | 2.2UF 2.2uF | C_0402_1005Metric | C41, C42, C44, C52 |
| 6 | 5.1K | R_0402_1005Metric | R1, R2, R8, R9, R10, R11 |
| 4 | 27 | R_0402_1005Metric | R3, R4, R12, R13 |
| 4 | 1K | R_0402_1005Metric | R5, R6, R14, R16 |
| 2 | 10K | R_0402_1005Metric | R7, R15 |
| 7 | 330 | R_0402_1005Metric | R17, R18, R22, R23, R24, R25, R26 |
| 2 | 470 | R_0402_1005Metric | R19, R20 |
| 1 | DNF | R_0402_1005Metric | R21 |
River design files
The KiCad project lives in the HenryLi-0/river repository on GitHub; these links point at the commit this page was built from.
River: common questions
What microcontroller does the River use?
The River is built around the RP2040, from the RP2040/RP2350 family.
How big is the River PCB?
The River measures 56 × 80 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the River?
118 components, from 35 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 River design files?
From the HenryLi-0/river 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 River design in my own project?
Yes, under the terms of its CERN-OHL-S-2.0 license, which HenryLi-0 chose for the repository.
Can I test firmware for the River 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.
Similar boards
RP2040/RP2350
Open Book Abridged Edition
joeycastillo
85 × 115 mm29 parts2LCC-BY-SA-4.08.1kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
Open Source Smart Glasses
Mentra-Community
93 × 10.5 mm80 parts4LMIT1.2kRP2040/RP2350
MSA
Mentra-Community
30.5 × 138 mm61 parts2LMIT1.2kRP2040/RP2350
Msa
Mentra-Community
47.8 × 9.4 mm53 parts2LMIT1.2k