Skip to the content
PCBKitNew board
2 layers117 × 68 mmIPDS SensorNode, the printed circuit board in 3D

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.

Size
117 × 68 mm
Copper layers
2
Thickness
1.6 mm
Parts
14
Nets
42
Pads
72
Tracks, vias
39, 11
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
21 Jan 2026
Updated
5 Nov 2026

Overview

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.

Main components

1

README

KiCad/IPDS_SensorNode/README.md

IPDS Sensor Node: KiCad PCB

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.

IPDS sensor node PCB, top view

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)

Verification status

Checked with kicad-cli (KiCad 10.0.6):

CheckResult
ERC (schematic)0 violations
DRC (PCB, all severities)0 violations, 0 unconnected items
Schematic ↔ PCB parity0 issues
bash
kicad-cli sch erc --severity-all IPDS_SensorNode.kicad_sch
kicad-cli pcb drc --severity-all --schematic-parity IPDS_SensorNode.kicad_pcb

Files

FileDescription
IPDS_SensorNode.kicad_proProject settings and design rules
IPDS_SensorNode.kicad_schSchematic
IPDS_SensorNode.kicad_pcbPCB layout
IPDS.kicad_symProject symbols: ESP32-DevKitC and the three breakout modules (named pins)
IPDS.pretty/Project footprint: ESP32-DevKitC 38-pin socket
fabrication/IPDS_SensorNode_gerbers.zipGerbers + Excellon drill files, ready to upload to a PCB fab
fabrication/IPDS_SensorNode_schematic.pdfSchematic as PDF
fabrication/IPDS_SensorNode_BOM.csvBill of materials

Connections

NetESP32 pinConnected to
+3V33V3 (onboard regulator)MPU VCC, MPU AD0, RTC VCC, GPS VCC, R1, R2, C1, C2
GNDGND ×3All modules, J1 pin 2, C1, C2
+5V5VD1 cathode (external 5 V input)
SDAGPIO21MPU SDA, RTC SDA, R1 4.7 kΩ pull-up
SCLGPIO22MPU SCL, RTC SCL, R2 4.7 kΩ pull-up
ESP_TX2GPIO17 (TX2)GPS RX
ESP_RX2GPIO16 (RX2)GPS TX
VIN_EXTn/aJ1 pin 1 → D1 anode

I²C addresses

DeviceAddressNote
DS3231 RTC0x68fixed
AT24C32 EEPROM (on the ZS-042 board)0x57unused
MPU60500x69AD0 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.

Module pin order (match the silkscreen)

SocketModulePin order (pin 1 = square pad, top)
U2 (1×8)GY-521 MPU6050VCC, GND, SCL, SDA, XDA, XCL, AD0, INT
U3 (1×6)ZS-042 DS323132K, SQW, SCL, SDA, VCC, GND
U4 (1×4)GY-NEO6MV2VCC, 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.


Before you order

  1. Measure your ESP32 board. The footprint expects the two pin rows 25.4 mm (1.0") apart, as on Espressif's DevKitC V4 and most 38-pin clones. Some "narrow" clones are 22.86 mm; if yours is, move the right-hand row in IPDS.pretty.
  2. Power: feed 5 V into J1 (e.g. a car USB adapter) or use the DevKit's USB port. If your DevKit has no diode on its USB 5 V line, don't connect both at once: D1 stops J1 from being back-fed, but USB could be back-fed from J1.
  3. ZS-042 with a CR2032: the module has a charging circuit meant for rechargeable LIR2032 cells. With a normal CR2032, remove its 200 Ω resistor (or the diode next to it).

Bill of materials

QtyRefPartNotes
1U1ESP32-DevKitC 38-pinplus 2 × 1×19 female headers, 2.54 mm
1U2GY-521 MPU6050 module1×8 female header
1U3ZS-042 DS3231 module + CR20321×6 female header
1U4GY-NEO6MV2 NEO-6M GPS module + antenna1×4 female header
1J1Phoenix MKDS 1,5/2-5.08 screw terminalor any 5.08 mm 2-pin terminal
1D1SS14 Schottky diode, SMA1 A, 40 V
2R1, R24.7 kΩ, 0805I²C pull-ups
1C1100 nF, 0805decoupling
1C210 µF, 0805, ≥10 Vbulk
4—M3 standoffs + screwsmounting

Ordering the PCB

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.

Parts

14
QtyValueFootprintReferences
4M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
24.7kResistor_SMD:R_0805_2012MetricR1, R2
1100nFCapacitor_SMD:C_0805_2012MetricC1
110uFCapacitor_SMD:C_0805_2012MetricC2
15V_INTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ1
1ESP32-DevKitC_38pinIPDS:ESP32_DevKitC_38_SocketU1
1GY-521_MPU6050Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalU2
1GY-NEO6MV2Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalU4
1SS14Diode_SMD:D_SMAD1
1ZS-042_DS3231Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalU3

Questions

How big is the IPDS SensorNode PCB?

It measures 117 × 68 mm and has 2 copper layers, 1.6 mm thick.

What parts does the IPDS SensorNode use?

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.

Where can I download the IPDS SensorNode KiCad files?

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.

Can I use the IPDS SensorNode design in my own project?

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).

Similar boards

  • 2 layers80 × 129.1 mmSmart Plant, the printed circuit board in 3D

    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…

    75 parts303
  • 2 layers128 × 88 mmFireball revD, the printed circuit board in 3D

    Fireball revD

    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.

    64 parts223
  • 4 layers113.5 × 105.5 mmMultistepper, the printed circuit board in 3D

    Multistepper

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    243 parts208
  • 2 layers66.8 × 34 mmESP8266, the printed circuit board in 3D

    ESP8266

    MaloufSleep/ME-ESP8266

    Malouf Electronics - ESP8266 Dev Board

    127 parts204MIT
  • 2 layers40 × 53.6 mmCanLite, the printed circuit board in 3D

    CanLite

    voltlog/CanLite

    ESP32 based CAN development board

    42 parts192GPL-3.0
  • 2 layers99.1 × 76.2 mmPico dev, the printed circuit board in 3D

    Pico dev

    execuc/u2if

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

    36 parts182
  • 2 layers40 × 100 mmBack pcb, the printed circuit board in 3D

    Back pcb

    ZeroPhone/ZeroPhone-PCBs

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

    118 parts148GPL-3.0
  • 2 layers100 × 85 mmVNA, the printed circuit board in 3D

    VNA

    profdc9/VNA

    Vector Network Analyzer based on the STM32F103C8T6 bluepill

    178 parts93