HardwareInterfaceBoard
plb500·AutoBloomer-SensorModules·hardware/HIB/PCB/HardwareInterfaceBoard.kicad_pcb
About the HardwareInterfaceBoard PCB
HardwareInterfaceBoard is an open source RP2040/RP2350 PCB design by plb500, published on GitHub. It is a 2-layer board measuring 146.2 × 91.2 mm, with 81 components from 46 distinct parts.
Its main chip is the Raspberry Pico, from the RP2040/RP2350 family. Other key parts include the 74HC595, TCA9548A, LM1117, DS3231MZ and 74HC165. By type, the board carries 27 resistors, 25 connectors, 9 transistors, 7 ICs, 7 capacitors and 2 jumpers.
It belongs with the iot & wireless and sensors designs in this gallery.
From the project
Code and PCB designs for AutoBloomer MQTT sensor modules
Full plans and code for a sensor controller capable of publishing multiple sensor data via MQTT
PCB schematics (KiCad format), plans plus any 3D prints/CNC files for the different hardware platforms are here
Under the hood the sensor modules use Raspberry Pico Ws to communicate with an MQTT broker and transmit data it collates from the following sensors: - SCD30 environmental sensor (link) - Stemma soil sensor (link) - Battery voltage (for Raspberry Pi RTC) (uses an ADC pin on the Pico and custom circuitry on the HIB) - Sonar (feed level) sensors (Currently using A02YYUW sonars - link)

Main components on the HardwareInterfaceBoard
HardwareInterfaceBoard bill of materials (BOM)
81 components, 46 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | Raspberry Pico | RPi_PicoW_SMD_TH | U1 |
| 1 | 74HC595 | DIP-16_W7.62mm | U2 |
| 1 | TCA9548A | DIP-24_W15.24mm | U3 |
| 1 | LM1117 | TO-220-3_Horizontal_TabDown | U4 |
| 1 | DS3231MZ | SOIC-8_3.9x4.9mm_P1.27mm | U5 |
| 2 | 74HC165 | DIP-16_W7.62mm | U6, U7 |
| 8 | PN2222A | TO-92_Inline | Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8 |
| 1 | TP0610L | TO-92_Inline | Q9 |
| 1 | Relay Board Connector | JST_XH_B10B-XH-A_1x10_P2.50mm_Vertical | J1 |
| 1 | Pi 5V | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J2 |
| 1 | Display 5V | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J3 |
| 1 | DC 5V | BarrelJack_Horizontal_MP | J4 |
| 1 | GPIO | PinHeader_1x03_P2.54mm_Vertical | J5 |
| 1 | Feed Sensor L1 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J6 |
| 1 | Power bus | PinHeader_1x03_P2.54mm_Vertical | J7 |
| 1 | Feed Sensor R1 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J8 |
| 1 | Feed Sensor L2 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J9 |
| 1 | Feed Sensor R2 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J11 |
| 1 | Left LEDs | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J14 |
| 1 | Right LEDs | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J15 |
Show 26 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | Reset | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J16 |
| 1 | Shutdown | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J17 |
| 1 | EXT | JST_XH_B10B-XH-A_1x10_P2.50mm_Vertical | J20 |
| 1 | Raspberry Pi GPIO header | PinHeader_2x20_P2.54mm_Vertical | J24 |
| 1 | RTC Header | PinHeader_1x04_P2.54mm_Vertical | J25 |
| 1 | I2C0 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J26 |
| 1 | I2C1 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J27 |
| 1 | I2C2 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J28 |
| 1 | I2C3 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J29 |
| 1 | I2C4 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J30 |
| 1 | I2C5 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J31 |
| 1 | I2C6 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J32 |
| 1 | I2C7 | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J33 |
| 1 | CR2032 | BatteryHolder_Keystone_1058_1x2032 | BT1 |
| 1 | Relay Pull | PinHeader_1x03_P2.54mm_Vertical | JP1 |
| 1 | Feed Sensor Power | PinHeader_1x03_P2.54mm_Vertical | JP2 |
| 1 | Pico Reset | SW_PUSH_6mm | SW1 |
| 2 | SB520 | D_DO-201AD_P15.24mm_Horizontal | D1, D2 |
| 5 | 0.1uf | C_Disc_D6.0mm_W2.5mm_P5.00mm | C1, C2, C3, C6, C7 |
| 2 | 10uf | C_Disc_D6.0mm_W2.5mm_P5.00mm | C4, C5 |
| 8 | 2.2k | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R2, R3, R4, R5, R6, R7, R8 |
| 2 | 10k | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R9, R10 |
| 8 | 300 | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R11, R12, R13, R14, R15, R16, R17, R18 |
| 2 | 4.3k | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R19, R20 |
| 3 | 100k | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R21, R22, R23 |
| 4 | 10k | R_Array_SIP9 | RN1, RN2, RN3, RN4 |
HardwareInterfaceBoard design files
The KiCad project lives in the plb500/AutoBloomer-SensorModules repository on GitHub; these links point at the commit this page was built from.
HardwareInterfaceBoard: common questions
What microcontroller does the HardwareInterfaceBoard use?
The HardwareInterfaceBoard is built around the Raspberry Pico, from the RP2040/RP2350 family.
How big is the HardwareInterfaceBoard PCB?
The HardwareInterfaceBoard measures 146.2 × 91.2 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the HardwareInterfaceBoard?
81 components, from 46 distinct parts. The full bill of materials is listed on this page.
Where can I download the HardwareInterfaceBoard design files?
From the plb500/AutoBloomer-SensorModules repository on GitHub, which has the KiCad layout and the schematic; the links under Design files point to each one.
Can I use the HardwareInterfaceBoard design in my own project?
The repository has no license, so all rights stay with plb500. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the HardwareInterfaceBoard 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 AutoBloomer-SensorModules
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
LogicAnalyzer
gusmanb
57 × 55.2 mm6 parts2LGPL-3.05.0kRP2040/RP2350
Jitx design
gusmanb
55.5 × 65 mm26 parts4LGPL-3.05.0kRP2040/RP2350
Pro V2
kata0510
290.1 × 130 mm270 parts2LMIT2.3k