Skip to the content
PCBKitNew board
2 layers142.5 × 99.1 mmSensormodule final, the printed circuit board in 3D

Sensormodule final

grtwall/carputer-pcb

Combined ESP32 sensor + body controller PCB — KiCad project, Gerbers, schematics, BOM

Size
142.5 × 99.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
70
Nets
121
Pads
275
Tracks, vias
488, 0
Pours
1
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
12 Sep 2026
Updated
12 Jul 2026

Overview

Sensormodule final is an open-source printed circuit board by grtwall, from the grtwall/carputer-pcb repository on GitHub. It is a 2-layer board of 142.5 × 99.1 mm with 70 parts on 121 nets, routed with 488 tracks and 0 vias.

It is built around the ULN2002A. Its parts include 18 resistors, 10 connectors, 9 diodes, 5 ICs and 1 capacitor. It belongs with the sensors and measurement boards and the ESP32 boards of this library.

Main components

1

README

README.md

Carputer PCB — Combined ESP32 Sensor & Body Controller Board

PCB Render

Single 2-layer PCB with dual Feather ESP32s for the Carputer project. Designed for OBD1 vehicles (pre-1996, all makes) — taps into sensor voltages, switch signals, and diagnostic pins directly. No CAN bus required. CAN/OBD2 is an easy add — just a firmware update and an external CAN module (e.g. MCP2515 via SPI).

Overview

FeatureDescription
Board160×120mm, 2-layer FR-4, through-hole assembly
MCUs2× ESP32 DevKit V1 (sensor + body controller)
Power12V automotive → DC-DC buck → 3.3V rail
Relay drivers2× ULN2003A (DIP-16), 7 darlington pairs each
Connectors3× WAGO 8-way for vehicle harness, 2-way for power

Two Modules on One Board

SlotModuleRoleIPProtocol
J5Sensor ESP32ECU tapping, door switches, DTC192.168.4.20 (STA)UDP 5001/5002/5003
J6Body ESP32Relays, HVAC, joypad192.168.4.1 (AP)TCP 5000

Circuit Sections

ECU Inputs (J5)

  • 6 voltage dividers (5.6K + 10K) — scale 0-5V ECU signals (MAP, coolant temp, TPS, speed, RPM, DTC) to ESP32 3.3V ADC
  • 2 sender pullups (120Ω to 3.3V) — fuel level, oil pressure
  • 4 digital inputs with 10K series resistors — door switches (D/P/T/H)
  • DTC read circuit — 2× 2N2222 transistors for TE1/TE2 control

Body Control Outputs (J6)

ULN2003A #1ULN2003A #2
Door lock (GPIO 25)HVAC relay (GPIO 2)
Window up (GPIO 26)AC compressor (GPIO 4)
Window down (GPIO 27)Remote start (GPIO 5)
Interior light (GPIO 32)Fan speed 2 (GPIO 12)
Door chime (GPIO 33)Fan speed 1 (GPIO 18)

Joypad (J6)

  • 2× ADC channels (GPIO 36/Y, 39/X) — analog joystick
  • 5× digital buttons (GPIO 14, 16, 17, 22, 23) — SELECT, EXIT, etc.

PCB Files

FileDescription
sensormodule final.kicad_proKiCad project
sensormodule final.kicad_schSchematic
sensormodule final.kicad_pcbPCB layout
PCB_PLAN.mdFull design plan
build_plan.mdTHT assembly build plan
product_description.mdProduct overview
voltage_divider_circuit.txtECU voltage divider circuit & wiring
carputerpcb.pngPCB render preview
*-Cu.gbr, *-Mask.gbr, *-Silkscreen.gbrGerber files for fabrication
esp32_sensor_module_bom.csvBill of Materials
Sample-BOM_JLCSMT.xlsxJLC SMT assembly BOM
generate_pcb.pyPython PCB generation toolkit

Fabrication

Send Gerber files (sensormodule final-*.gbr + *job.gbrjob) to any PCB fab (JLCPCB, PCBWay, etc.). Board is 2-layer, 160×120mm.

Wiring

See voltage_divider_circuit.txt for ECU wiring diagram. Connectors use WAGO 8-way terminal blocks for vehicle harness interface.

System Architecture

This PCB integrates two ESP32 modules that communicate with the head unit software:

ComponentFirmware RepoConnects ToProtocol
J5 — Sensor ESP32esp32_sensor_moduleCarputer head unitUDP 5001 (sensor data), 5002 (commands), 5003 (DTC)
J6 — Body ESP32esp32_body_controllerCarputer head unitTCP 5000 (relay/audio commands)

The head unit can be either:

Parts

70
QtyValueFootprintReferences
810kResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_VerticalR1, R4, R6, R8, R10, R12, R14, R16
85.8kResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_VerticalR2, R3, R5, R7, R9, R11, R13, R15
41Connector_PinHeader_1.00mm:PinHeader_1x01_P1.00mm_Verticala, a, a, a
3LEDLED_THT:LED_D2.0mm_W4.0mm_H2.8mm_FlatTopD5, D6, D7
3fConnector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mmf, rx, tx
22N2219Package_TO_SOT_THT:TO-39-3t1, t2
2DEVKIT_V1_ESP32-WROOM-32DEVKIT_V1_ESP32-WROOM-32:MODULE_DEVKIT_V1_ESP32-WROOM-32U1, U2
2R_SmallResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR17, R18
2SolderWire-0.1sqmm_1x01_D0.4mm_OD1mmConnector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mmjoin1, join2
2ULN2002AULN2003A:DIL16U3, U4
2capCapacitor_THT:CP_Radial_D5.0mm_P2.00mmD2, D4
2x1Connector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mmd15, Jd14
11N4007Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1
15vinConnector_Wago:Wago_734-132_1x02_P3.50mm_VerticalJ4
1C_PolarizedCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC1
1Conn_01x02_PinConnector_Wago:Wago_734-132_1x02_P3.50mm_VerticalJ13
1Conn_01x06_SocketConnector_Wire:SolderWire-0.1sqmm_1x06_P3.6mm_D0.4mm_OD1mmJ15
1D_ZenerDiode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD3
1FuseFuse:Fuseholder_Clip-5x20mm_Eaton_1A5601-01_Inline_P20.80x6.76mm_D1.70mm_HorizontalF1
1LM7805_TO220Package_TO_SOT_THT:TO-220-3_VerticalU5
1Screw_Terminal_01x02Connector_Wago:Wago_734-132_1x02_P3.50mm_VerticalJ5
1Screw_Terminal_01x08Connector_Wago:Wago_734-139_1x09_P3.50mm_Verticalsensor3
1USB_C_ReceptacleConnector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11J14
1Wago_734-136_1x06_P3.50mm_VerticalConnector_Wago:Wago_734-136_1x06_P3.50mm_Verticalsensormodule c3
1body1Connector_Wago:Wago_734-139_1x09_P3.50mm_Verticalbody1
1body2Connector_Wago:Wago_734-139_1x09_P3.50mm_Verticalbody2
1cConnector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mmc
1d13Connector_Wire:SolderWire-0.1sqmm_1x02_P3.6mm_D0.4mm_OD1mmJ12
1joyConnector_Wago:Wago_734-137_1x07_P3.50mm_VerticalJ6
1refConnector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mmJ7
1rxConnector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mmJ9
1sensor1Connector_Wago:Wago_734-139_1x09_P3.50mm_Verticalsensor1
1sensor2Connector_Wago:Wago_734-139_1x09_P3.50mm_Verticalsensor2
1txConnector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mmJ10

The 62 most common of 70 parts.

Questions

How big is the Sensormodule final PCB?

It measures 142.5 × 99.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Sensormodule final use?

70 parts, built around the ULN2002A. 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 Sensormodule final KiCad files?

From the grtwall/carputer-pcb repository on GitHub, at the commit this page was made from: the board is sensormodule final.kicad_pcb and its schematic sensormodule final.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Sensormodule final design in my own project?

Its repository states no licence, so its author keeps all rights: ask grtwall before reusing the design.

Similar boards

  • 2 layers120 × 48 mmPCB auto doser, the printed circuit board in 3D

    PCB auto doser

    gabriel-247/auto-doser-aqurium

    Project custom aquarium auto-doser berbasis ESP8266/Wemos dan mobile app.

    33 parts
  • 2 layers76.7 × 76.5 mmIobox2, the printed circuit board in 3D

    Iobox2

    grtwall/esp32_microsquirt_iobox

    ESP32 MicroSquirt I/O box — CAN bridge that turns MS2/Extra's realtime broadcast into fan/IAC/generic outputs, with a GC9A01 round gauge, 29-bit CAN responder, and 0x710 dash broadcast.

    32 parts
  • 2 layers61.8 × 73.2 mmBrain board STM32F407, the printed circuit board in 3D

    Brain board STM32F407

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    70 parts1.2k
  • 2 layers47.3 × 52.8 mmFinalv1, the printed circuit board in 3D

    Finalv1

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    70 parts915
  • 2 layers74.3 × 52.8 mmBq3060, the printed circuit board in 3D

    Bq3060

    iam4722202468/ThinkpadBattery

    Open source Thinkpad T420 battery design

    70 parts304MIT
  • 2 layers141 × 88 mmErgoSNM Keyboard Right Prototype 1, the printed circuit board in 3D

    ErgoSNM Keyboard Right Prototype 1

    siderakb/ergo-snm-keyboard

    ErgoSNM is a split ergonomic keyboard integrated with trackball, wireless is in beta

    70 parts172CERN-OHL-P-2.0
  • 2 layers90 × 100 mmAlu, the printed circuit board in 3D

    Alu

    imihajlow/ccpu

    A 8-bit computer made of 74xx series logic gates and memory ICs.

    70 parts145