
Smart Plant
JGAguado/Smart_Plant
The Smart Plant is a board that can be plugged directly on the soil, close to the plant, that allows the measurement of the environment (soil moisture, environment temperature & illuminance), and presents the…

Low-cost pothole detector: YOLOv8 + ESP32 + accelerometer. Logs a pothole only if the camera sees it AND the car feels it, with GPS & severity. Try it in Colab.
IPDS SensorNode is an open-source printed circuit board by SanTiwari07, from the SanTiwari07/PotHoleDetection repository on GitHub, published under the MIT licence. It is a 2-layer board of 117 × 68 mm with 14 parts on 42 nets, routed with 39 tracks and 11 vias.
It is built around the SS14. Its parts include 4 ICs, 2 capacitors, 2 resistors, 1 diode and 1 connector. It belongs with the home automation and IoT and radio and wireless boards and the ESP32 and RISC-V boards of this library.
Carrier board for the IPDS sensor node: an ESP32-DevKitC (38-pin) plus plug-in MPU6050, DS3231 RTC and NEO-6M GPS breakout modules. Every module sits in a female header, so nothing is soldered to the modules themselves.

Board: 117 × 68 mm · 2 layers · 1.6 mm FR4 · GND pour on both sides · 4 × M3 mounting holes Made with: KiCad 10.0 (open with KiCad 10 or newer)
Checked with kicad-cli (KiCad 10.0.6):
| Check | Result |
|---|---|
| ERC (schematic) | 0 violations |
| DRC (PCB, all severities) | 0 violations, 0 unconnected items |
| Schematic ↔ PCB parity | 0 issues |
kicad-cli sch erc --severity-all IPDS_SensorNode.kicad_sch
kicad-cli pcb drc --severity-all --schematic-parity IPDS_SensorNode.kicad_pcb| File | Description |
|---|---|
IPDS_SensorNode.kicad_pro | Project settings and design rules |
IPDS_SensorNode.kicad_sch | Schematic |
IPDS_SensorNode.kicad_pcb | PCB layout |
IPDS.kicad_sym | Project symbols: ESP32-DevKitC and the three breakout modules (named pins) |
IPDS.pretty/ | Project footprint: ESP32-DevKitC 38-pin socket |
fabrication/IPDS_SensorNode_gerbers.zip | Gerbers + Excellon drill files, ready to upload to a PCB fab |
fabrication/IPDS_SensorNode_schematic.pdf | Schematic as PDF |
fabrication/IPDS_SensorNode_BOM.csv | Bill of materials |
| Net | ESP32 pin | Connected to |
|---|---|---|
+3V3 | 3V3 (onboard regulator) | MPU VCC, MPU AD0, RTC VCC, GPS VCC, R1, R2, C1, C2 |
GND | GND ×3 | All modules, J1 pin 2, C1, C2 |
+5V | 5V | D1 cathode (external 5 V input) |
SDA | GPIO21 | MPU SDA, RTC SDA, R1 4.7 kΩ pull-up |
SCL | GPIO22 | MPU SCL, RTC SCL, R2 4.7 kΩ pull-up |
ESP_TX2 | GPIO17 (TX2) | GPS RX |
ESP_RX2 | GPIO16 (RX2) | GPS TX |
VIN_EXT | n/a | J1 pin 1 → D1 anode |
| Device | Address | Note |
|---|---|---|
| DS3231 RTC | 0x68 | fixed |
| AT24C32 EEPROM (on the ZS-042 board) | 0x57 | unused |
| MPU6050 | 0x69 | AD0 is tied to 3V3 on this PCB, because 0x68 is already taken by the DS3231 |
The sensor firmware (ESP_32_Code/esp_32_final) uses exactly these pins and addresses. GPS UART runs at 9600 baud, 8N1.
| Socket | Module | Pin order (pin 1 = square pad, top) |
|---|---|---|
| U2 (1×8) | GY-521 MPU6050 | VCC, GND, SCL, SDA, XDA, XCL, AD0, INT |
| U3 (1×6) | ZS-042 DS3231 | 32K, SQW, SCL, SDA, VCC, GND |
| U4 (1×4) | GY-NEO6MV2 | VCC, RX, TX, GND |
Breakout boards from different sellers sometimes order their pins differently. Check your module's printed labels against the table before plugging it in.
IPDS.pretty.| Qty | Ref | Part | Notes |
|---|---|---|---|
| 1 | U1 | ESP32-DevKitC 38-pin | plus 2 × 1×19 female headers, 2.54 mm |
| 1 | U2 | GY-521 MPU6050 module | 1×8 female header |
| 1 | U3 | ZS-042 DS3231 module + CR2032 | 1×6 female header |
| 1 | U4 | GY-NEO6MV2 NEO-6M GPS module + antenna | 1×4 female header |
| 1 | J1 | Phoenix MKDS 1,5/2-5.08 screw terminal | or any 5.08 mm 2-pin terminal |
| 1 | D1 | SS14 Schottky diode, SMA | 1 A, 40 V |
| 2 | R1, R2 | 4.7 kΩ, 0805 | I²C pull-ups |
| 1 | C1 | 100 nF, 0805 | decoupling |
| 1 | C2 | 10 µF, 0805, ≥10 V | bulk |
| 4 | — | M3 standoffs + screws | mounting |
Upload fabrication/IPDS_SensorNode_gerbers.zip to JLCPCB, PCBWay or a similar fab with the defaults: 2 layers, 1.6 mm, HASL, 1 oz copper. All tracks are ≥ 0.25 mm and clearances ≥ 0.2 mm, so standard (cheapest) capabilities are enough.
To regenerate the outputs after editing: File → Fabrication Outputs → Gerbers and Drill Files in the PCB editor, after re-running Inspect → Design Rules Checker.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | M3 | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | 4.7k | Resistor_SMD:R_0805_2012Metric | R1, R2 |
| 1 | 100nF | Capacitor_SMD:C_0805_2012Metric | C1 |
| 1 | 10uF | Capacitor_SMD:C_0805_2012Metric | C2 |
| 1 | 5V_IN | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal | J1 |
| 1 | ESP32-DevKitC_38pin | IPDS:ESP32_DevKitC_38_Socket | U1 |
| 1 | GY-521_MPU6050 | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical | U2 |
| 1 | GY-NEO6MV2 | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | U4 |
| 1 | SS14 | Diode_SMD:D_SMA | D1 |
| 1 | ZS-042_DS3231 | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | U3 |
It measures 117 × 68 mm and has 2 copper layers, 1.6 mm thick.
14 parts, built around the SS14. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the SanTiwari07/PotHoleDetection repository on GitHub, at the commit this page was made from: the board is KiCad/IPDS_SensorNode/IPDS_SensorNode.kicad_pcb and its schematic KiCad/IPDS_SensorNode/IPDS_SensorNode.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

JGAguado/Smart_Plant
The Smart Plant is a board that can be plugged directly on the soil, close to the plant, that allows the measurement of the environment (soil moisture, environment temperature & illuminance), and presents the…

ugcs/ddc
Drone Show Software is software designed for drone shows, allowing flight path planning as well as control of dozens of drones simultaneously in a synchronized manner.

eddyem/stm32samples
Code samples and ready projects based on bare-metal STM32



execuc/u2if
USB to interfaces implementing MicroPython "machine" module functionalities on a computer.

ZeroPhone/ZeroPhone-PCBs
PCB files for ZeroPhone - for gerbers and schematics, go to "Releases" tab!
