Solarpump
rivimey·solarpump
About the Solarpump PCB
Solarpump is an open source RP2040/RP2350 PCB design by rivimey, published on GitHub. It is a 4-layer board measuring 100 × 160 mm, with 424 components from 155 distinct parts.
Its main chip is the RP2040, from the RP2040/RP2350 family. Other key parts include the AT24C040, LM386, SN65HVD233, W25Q32JV and 74LVC1G125. By type, the board carries 120 resistors, 114 capacitors, 38 ICs, 36 connectors, 31 diodes and 26 transistors.
It belongs with the power & battery and sensors designs in this gallery.
From the project
Solar powered pump for allotment garden water supply
Solar powered Water pump controller ===================================
The project has been to put together a water pump powered by a solar panel, with a battery for reserve power. The need was to pump water from a stream beside allotment garden up to the allotment for watering plants. The whole unit needs to be completely portable because the area was was prone to theft.

Main components on the Solarpump
Solarpump bill of materials (BOM)
424 components, 155 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | AT24C040 | SOT-23-5 | U1 |
| 1 | LM386 | SOIC-8_3.9x4.9mm_P1.27mm | U2 |
| 1 | SN65HVD233 | SOIC-8_3.9x4.9mm_P1.27mm | U3 |
| 3 | W25Q32JV | WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4mm | U4, U13, U28 |
| 2 | 74LVC1G125 | SOT-23-5 | U5, U38 |
| 1 | MCP23008-xSS | SSOP-20_5.3x7.2mm_P0.65mm | U6 |
| 3 | RP2040 | QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm_ThermalVias | U7, U14, U30 |
| 2 | ACS71240 | SOIC-8_3.9x4.9mm_P1.27mm | U8, U15 |
| 1 | MAX16171 | TDFN-8-1EP_3x2mm_P0.5mm_EP1.5x1.75mm | U9 |
| 2 | ADS131M04-PW | TSSOP-20_4.4x6.5mm_P0.65mm | U10, U25 |
| 2 | L6398D | SOIC-8_3.9x4.9mm_P1.27mm | U11, U23 |
| 2 | SN65HVD234 | SOIC-8_3.9x4.9mm_P1.27mm | U12, U27 |
| 1 | LM2593HVS-ADJ | TO-263-7_TabPin4 | U16 |
| 1 | LV2862XDDC | SOT-23-6 | U17 |
| 1 | MCP73871-2CC | QFN-20-1EP_4x4mm_P0.5mm_EP2.5x2.5mm | U18 |
| 1 | AP7361C-33ER-13 | SOT-223-3_TabPin2 | U19 |
| 1 | LM809-M3X 3.08 | SOT-23 | U20 |
| 1 | DS3231 | SOIC-16W_7.5x10.3mm_P1.27mm | U21 |
| 3 | ACS71240LLCBTR-025B3 | SOIC-8_3.9x4.9mm_P1.27mm | U22, U26, U31 |
| 1 | ADS1115IDGS | TSSOP-10_3x3mm_P0.5mm | U24 |
Show 135 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | 2EDN752x | Infineon_PG-DSO-8-43 | U29 |
| 6 | BCR430UW6 | SC-74-6_1.55x2.9mm_P0.95mm | U32, U33, U34, U35, U36, U37 |
| 1 | SPI_CAN_MOD | MCP2515 CAN module_SMD | M1 |
| 4 | BC817 | SOT-23 | Q1, Q17, Q21, Q24 |
| 9 | SQM120P10 | TO-263-2 | Q2, Q3, Q16, Q18, Q19, Q22, Q23, Q25 +1 |
| 5 | IPP019N08NF2S | TO-220-3_Vertical | Q4, Q5, Q6, Q7, Q8 |
| 2 | Si2306BDS | SOT-23 | Q9, Q27 |
| 6 | IRLB8721PBF | TO-220-3_Vertical | Q10, Q11, Q12, Q13, Q14, Q15 |
| 1 | ECS-2520MVLC | Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mm | X1 |
| 3 | XYDBPCNANF-12MHZ | Crystal_SMD_2520-4Pin_2.5x2.0mm | Y1, Y2, Y3 |
| 3 | SAMTEC_ET60_24S_2Pr_Pins | SAMTEC_ET60T-000-3-08-D02-X-R1-S | J1, J7, J8 |
| 3 | SAMTEC_ET60_24S_2Pr_Socket | SAMTEC_ET60S-000-3-08-D02-L-R1-S | J2, J3, J10 |
| 1 | AUX_POWER | PinHeader_1x04_P2.00mm_Vertical | J4 |
| 1 | UART_IO | PinHeader_1x04_P2.00mm_Vertical | J5 |
| 2 | Conn_DISP | PinHeader_2x08_P2.00mm_Vertical | J6, J9 |
| 1 | 3v3 | TestPoint_Plated_Hole_D2.0mm | J11 |
| 1 | Gnd | TestPoint_Plated_Hole_D2.0mm | J12 |
| 5 | JST SM03B-SRSS-TB | JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_Horizontal | J13, J20, J21, J26, J27 |
| 1 | Fan_M | FanPinHeader_1x03_P2.54mm_Vertical | J14 |
| 3 | USB_B_Micro | USB_Micro-B_Amphenol_10104110_Horizontal | J15, J22, J28 |
| 1 | PJ-082BH Jack Socket | BarrelJack_CUI_PJ-082BH_Horizontal | J16 |
| 3 | Amass_XT30PW | Amass_XT30PW | J17, J33, J34 |
| 1 | Wire_Solr_P | SolderWire-2sqmm_1x01_D2mm_OD3.9mm | J19 |
| 1 | OLED_SOG320132A_M383 | OLED_SOG320132A_M383 | J23 |
| 1 | Stemma-QT_QWIIC | STEMMA-QT_JSTS4B_PH-P2.00mm_Horizontal | J25 |
| 1 | OP_Wire_Aux_N | SolderWire-2sqmm_1x01_D2mm_OD3.9mm | J30 |
| 1 | OP_Wire_Pump_N | SolderWire-2sqmm_1x01_D2mm_OD3.9mm | J32 |
| 1 | Screw_Terminal_01x02 | PhoenixContact_MCV_1,5_2-GF-5.08_1x02_P5.08mm_Vertical_ThreadedFlange_MountHole | J35 |
| 1 | Flow_M | FanPinHeader_1x03_P2.54mm_Vertical | J37 |
| 1 | Speaker | JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J38 |
| 1 | Buzzer | JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J39 |
| 1 | Conn_DISP | PinHeader_2x05_P2.00mm_Vertical | J41 |
| 1 | ~ | PinHeader_2x05_P2.00mm_Vertical | J42 |
| 1 | Li-Ion 3V7 | JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | BT1 |
| 1 | Lith 3V | BatteryHolder_Keystone_500 | BT2 |
| 2 | 680uF,63V | CP_Radial_D16.0mm_P7.50mm | CP1, CP2 |
| 1 | 470uF,63V | CP_Radial_D8.0mm_P3.50mm | CP3 |
| 1 | 470uF, 63V | CP_Radial_D12.5mm_P5.00mm | CP4 |
| 1 | 47uF,63V | CP_Radial_D6.3mm_P2.50mm | CP5 |
| 1 | 470uF,25V | CP_Radial_D10.0mm_P5.00mm | CP6 |
| 1 | 470uF,50V | CP_Radial_D8.0mm_P3.50mm | CP7 |
| 1 | 22uF,63V | C_Radial_D5.0mm_H11.0mm_P2.00mm | CP8 |
| 1 | BZV90-C30 | SOT-223-3_TabPin2 | DZ1 |
| 5 | Fuse 25A | Fuse_Schurter_UMZ250 | F1, F2, F3, F4, F5 |
| 2 | 10AWG | Jumper_P5.08mm_D1.2mm | JP1, JP2 |
| 1 | B_en | SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mm | JP3 |
| 1 | G_en | SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mm | JP4 |
| 1 | R_en | SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mm | JP5 |
| 2 | HCPL-314Js | SOIC-16W-12_7.5x10.3mm_P1.27mm | OC1, OC2 |
| 2 | 10K | Potentiometer_Bourns_TC33X_Vertical | RV1, RV2 |
| 3 | SW_RESET | SW_SPST_B3U-1000P | SW1, SW2, SW9 |
| 1 | SW_A | SolderWire-0.5sqmm_1x02_P4.6mm_D0.9mm_OD2.1mm | SW3 |
| 1 | SW_B | SolderWire-0.5sqmm_1x02_P4.6mm_D0.9mm_OD2.1mm | SW4 |
| 1 | SW_X | SolderWire-0.5sqmm_1x02_P4.6mm_D0.9mm_OD2.1mm | SW5 |
| 1 | SW_Y | SolderWire-0.5sqmm_1x02_P4.6mm_D0.9mm_OD2.1mm | SW6 |
| 1 | Rotary Enc EC11E | RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW7 |
| 1 | STOP_SW | Schurter_SW_MTG_PUSH-12.7mm | SW8 |
| 1 | SW_SPST | Switch_Toggle_SPST_SubMini | SW10 |
| 3 | 10K NTC | SolderWire-0.15sqmm_1x02_P3.5mm_D0.5mm_OD1.5mm | TH1, TH2, TH3 |
| 11 | TVS | SOT-23 | TVS1, TVS2, TVS3, TVS4, TVS5, TVS6, TVS7, TVS8 +3 |
| 13 | Red,150mcd | LED_1206_3216Metric_Pad1.42x1.75mm_HandSolder | D1, D6, D7, D10, D17, D24, D25, D29 +5 |
| 5 | SMAJ54CA | D_SMA | D2, D19, D22, D23, D28 |
| 1 | SMAJ40CA | D_SMA | D3 |
| 1 | B160-E3,60V | D_SMB | D5 |
| 2 | B150-E3,50V | D_SMA | D8, D11 |
| 1 | PLZ3V6A,3.45-3.7V | D_SMF | D9 |
| 2 | LED_CHR | LED_0603_1608Metric | D12, D13 |
| 2 | Orange,160mcd | LED_1206_3216Metric_Pad1.42x1.75mm_HandSolder | D14, D15 |
| 1 | Green,112mcd | LED_1206_3216Metric_Pad1.42x1.75mm_HandSolder | D16 |
| 1 | BAV99 | SOT-23 | D18 |
| 2 | S07G-M | D_SMF | D20, D21 |
| 1 | 68uH,30A | L_Toroid_Vertical_L35.1mm_W21.1mm_P18.50mm_Vishay_TJ6 | L1 |
| 1 | 470nH,>32A | L_Chilisin_BMRF00101040 | L2 |
| 1 | 68uH | L_12x12mm_H8mm | L3 |
| 1 | 22uH, 750mA | L_10.4x10.4_H4.8 | L4 |
| 1 | 68uH,15A | L_Toroid_Vertical_L35.1mm_W21.1mm_P18.50mm_Vishay_TJ6 | L5 |
| 37 | 0.1uF | C_0603_1608Metric | C1, C2, C3, C4, C5, C19, C20, C22 +29 |
| 29 | 0.1uF | C_0402_1005Metric | C6, C7, C8, C9, C10, C12, C13, C33 +21 |
| 4 | 1uF | C_0402_1005Metric | C11, C14, C38, C41 |
| 6 | 12pF | C_0402_1005Metric | C15, C16, C42, C43, C104, C105 |
| 8 | 0.1uF,100V Tant | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C17, C18, C111, C112, C113, C114, C115, C116 |
| 2 | 10nF | C_0603_1608Metric | C21, C32 |
| 1 | 10nF,100V | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C25 |
| 1 | 30nF | C_0603_1608Metric | C29 |
| 2 | 1uF,50V | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C44, C46 |
| 2 | 10uF,50V | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C45, C47 |
| 1 | 4.7uF,63V | CP_Radial_D5.0mm_P2.00mm | C48 |
| 1 | 4.7uF,25V | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C53 |
| 6 | 1uF | C_0603_1608Metric | C54, C66, C69, C78, C100, C103 |
| 1 | 4.7uF,16V Tant | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C58 |
| 1 | 1uF,16V Tant | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C59 |
| 1 | 4.7uF | C_0603_1608Metric | C60 |
| 3 | 10uF | C_0603_1608Metric | C61, C117, C120 |
| 1 | 4.7uF,10V | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C63 |
| 1 | 2nF, 50V, Low ESR | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C83 |
| 3 | 22uF,>35V | CP_EIA-7360-38_Kemet-E | C84, C85, C86 |
| 2 | 0.1uF,100V | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C109, C110 |
| 1 | 100uF | C_0603_1608Metric | C119 |
| 4 | 3K3 | R_0603_1608Metric | R1, R4, R5, R118 |
| 1 | 68K | R_0603_1608Metric | R2 |
| 6 | 22K | R_0603_1608Metric | R3, R57, R58, R59, R60, R96 |
| 2 | 4K7 | R_0603_1608Metric | R6, R8 |
| 34 | 10k | R_0603_1608Metric | R7, R9, R11, R12, R17, R19, R23, R26 +26 |
| 1 | 300R | R_0603_1608Metric | R10 |
| 6 | 27R | R_0603_1608Metric | R13, R14, R35, R36, R90, R91 |
| 8 | 100R | R_0603_1608Metric | R15, R16, R37, R38, R85, R86, R92, R93 |
| 5 | 470k | R_0603_1608Metric | R18, R22, R102, R110, R115 |
| 2 | 1R,1W | R_2512_6332Metric | R20, R21 |
| 4 | 4.7k,0.5% | R_0603_1608Metric | R24, R25, R80, R81 |
| 4 | 0R | R_0603_1608Metric | R27, R28, R76, R77 |
| 1 | 220k | R_0603_1608Metric | R32 |
| 5 | 72R | R_0603_1608Metric | R39, R40, R63, R94, R95 |
| 1 | 21.8k,0.5% | R_0603_1608Metric | R41 |
| 1 | 2.5k,0.5% | R_0603_1608Metric | R42 |
| 3 | 4.7k | R_0603_1608Metric | R43, R64, R65 |
| 1 | 620R | R_0603_1608Metric | R44 |
| 1 | 100K | R_0603_1608Metric | R45 |
| 1 | 54.9K,0.5% | R_0603_1608Metric | R46 |
| 1 | 10K,0.5% | R_0603_1608Metric | R47 |
| 1 | 2K | R_0603_1608Metric | R48 |
| 1 | 25K | R_0603_1608Metric | R49 |
| 2 | 680R | R_0603_1608Metric | R50, R51 |
| 1 | 220R | R_0603_1608Metric | R52 |
| 6 | 1k | R_0603_1608Metric | R53, R54, R55, R56, R72, R97 |
| 1 | 60R | R_0603_1608Metric | R61 |
| 1 | 62R | R_0603_1608Metric | R62 |
| 1 | 47k | R_0603_1608Metric | R69 |
| 1 | 150R | R_0603_1608Metric | R71 |
| 2 | 33K,1% | R_0603_1608Metric | R73, R82 |
| 2 | 1K,1% | R_0603_1608Metric | R74, R83 |
| 3 | 42K | R_0603_1608Metric | R99, R107, R112 |
| 3 | 33k | R_0603_1608Metric | R103, R111, R116 |
| 1 | 270R | R_0603_1608Metric | R104 |
| 1 | 6.8k | R_0603_1608Metric | R105 |
| 1 | 10R | R_0603_1608Metric | R120 |
Solarpump design files
The KiCad project lives in the rivimey/solarpump repository on GitHub; these links point at the commit this page was built from.
- Layoutsolarpump.kicad_pcb
- Schematicsolarpump.kicad_sch
Solarpump: common questions
What microcontroller does the Solarpump use?
The Solarpump is built around the RP2040, from the RP2040/RP2350 family.
How big is the Solarpump PCB?
The Solarpump measures 100 × 160 mm, has 4 copper layers and is 1.76 mm thick.
How many components are on the Solarpump?
424 components, from 155 distinct parts. The full bill of materials is listed on this page.
Where can I download the Solarpump design files?
From the rivimey/solarpump repository on GitHub, which has the KiCad layout and the schematic; the links under Design files point to each one.
Can I use the Solarpump design in my own project?
The repository has no license, so all rights stay with rivimey. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the Solarpump 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
Jitx design
gusmanb
55.5 × 65 mm26 parts4LGPL-3.05.0kRP2040/RP2350
LogicAnalyzer
gusmanb
57 × 55.2 mm6 parts2LGPL-3.05.0kRP2040/RP2350
Main
google
98 × 71 mm102 parts2LApache-2.02.9k