Skip to the content
4 layers100 × 100 mmBefore router, the printed circuit board in 3D

Before router

ahdrage/leafy

DIY Wi-Fi climate-control prototype for Nissan Leaf: KiCad PCB, ESP32-C3 firmware, Blender enclosure and build notes. Inspired by OVMS.

Size
100 × 100 mm
Copper layers
4
Thickness
1.6 mm
Parts
66
Nets
49
Pads
224
Tracks, vias
226, 157
Pours
7
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
25 Sep 2026
Updated
25 Sep 2026

Overview

Before router is an open-source printed circuit board by ahdrage, from the ahdrage/leafy repository on GitHub. It is a 4-layer board of 100 × 100 mm with 66 parts on 49 nets, routed with 226 tracks and 157 vias.

It is built around the ESP32-C3-WROOM-02-N4, TCAN3404DRQ1 and TPS3760A012DYYRQ1, with the USBLC6-2SC6, C1206C104K5RACTU and 0451001.MRL among its other parts. Its parts include 20 capacitors, 19 resistors, 6 ICs, 4 diodes and 2 connectors. It belongs with the ESP32 and RISC-V boards of this library.

Main components

12

README

hardware/rev-c/README.md

Historical development record. The current release is Leafy G.5. Use this file for context, not current ordering or wiring instructions.

Leaf Heat — Rev C

Current custom-board revision: UART programming, 41 components, four layers, 65 × 50 mm. Engineering prototype; not physically tested.

Open leaf-heat-v3.kicad_pro in KiCad 10, then open PCB Editor or Schematic Editor. Rev B is preserved in ../rev-b/.

The board receives heater commands over home Wi-Fi and communicates with the Leaf over CAN. It carries no heater current. Firmware, a verified vehicle cable, an enclosure, and prototype testing are still required.

What changed

  • Replaced USB-C programming with J3, a three-pin serial programming header. Pin 1 is ground, pin 2 receives data from the adapter, and pin 3 sends data to the adapter.
  • Removed USB power input, USB voltage detection, CC resistors, USB data resistors and their unused wiring/copper.
  • Retained ESD protection, repurposed for the UART lines. Added two 1 kΩ series resistors and a 10 kΩ receive-line pull-up. These resistor types already exist in the BOM.
  • Retained RESET and BOOT buttons, the protected vehicle power input, the CAN circuit, the antenna clearance, the ground plane and the mounting-hole positions.
  • No controlled-impedance service is required for Rev C. Use the standard four-layer construction described in manufacturing notes.

There are 41 parts / 25 distinct MPNs, compared with Rev B's 47 / 29. All components are on top: 39 SMT and two through-hole connectors. The connector must be included in factory assembly.

Programming now needs a 3.3 V logic USB-to-UART adapter and a separate 12 V bench supply, connected through J1. J3 has no power pin. Follow the programming instructions; do not use a 5 V logic or RS-232 adapter.

Verification and files

Native KiCad electrical and layout checks pass with zero reported violations, unconnected items and schematic/PCB mismatches. A separate saved-file audit checks the pin map, preserved circuit connections, copper net assignments, power tolerances and BOM/placement consistency. The design review records the scope, one documented KiCad check limitation and the remaining physical tests. Passing CAD checks does not establish a working or automotive-qualified product.

The native project, .kicad_dru, Leaf.kicad_sym, Leaf.pretty/ and both library tables belong together. The Gerbers in exports/fabrication/ are for Rev C only. Existing PCBWay/JLCPCB quotation requests contain Rev B, so their files and totals must not be treated as Rev C quotes.

Firmware connections

FunctionESP32-C3 GPIOBehavior
CAN transmit / receive4 / 5Internal TWAI controller
CAN standby1High = standby; external pull-up retained
Battery sense0ADC reads VPWR × 47/1047 after the input diode
Status LED7High lights LED
UART receive / transmit20 / 21Bootloader download and serial log
Reset / enableENRESET button and 10 kΩ / 1 µF startup network
Boot straps2, 8, 9Pulled high; BOOT pulls GPIO9 low
Unused former USB pins3, 18, 19Explicit no-connect; no USB-presence detection

Start with CAN in standby, require a fresh authenticated heat request after every reset, and implement a bounded heating interval, explicit stop handling, bus-error handling and low-battery behavior. Wi-Fi updates and recovery/rollback must be implemented in firmware; they are not provided by this hardware revision. The earlier development-board plan uses different GPIO assignments.

Parts

66
QtyValueFootprintReferences
8100nF / 50VLeaf:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder__HandC4, C10, C11, C12, C13, C14, C17, C20
610kLeaf:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder__HandR3, R4, R5, R6, R10, R20
41uF / 25VLeaf:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder__HandC3, C8, C18, C19
4MountingHole_2.7mm_M2.5MountingHole_2.7mm_M2.5H1, H2, H3, H4
31kLeaf:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder__HandR9, R18, R19
322uF / 25VLeaf:C_1210_3225Metric_Pad1.33x2.70mm_HandSolder__HandC5, C6, C7
2100k / 1%Leaf:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder__HandR1, R26
2220nF / 100VLeaf:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder__HandC2, C16
247k / 1%Leaf:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder__HandR8, R23
110M / 1%Leaf:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder__HandR24
110uF / 16VLeaf:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder__HandC9
11A / 125VLeaf:Fuse_Littelfuse-NANO2-451_453__HandF1
11M / 1%Leaf:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder__HandR7
11R / 1.5WLeaf:R_2512_HandR21
12.2uF / 100VLeaf:C_1210_3225Metric_Pad1.33x2.70mm_HandSolder__HandC1
122uH / 3.3A satLeaf:L_Bourns_SRN6045TA__FactoryL1
13V3Leaf:TestPoint_3mm_Hole1.5mmTP4
143.2k / 1%Leaf:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder__HandR2
1470k / 1%Leaf:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder__HandR25
147uF / 63VLeaf:CP_Radial_D6.3mm_P2.50mm__HandC15
1680k / 1%Leaf:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder__HandR22
1B1100 / 100VLeaf:D_SMA__HandD1
1BOOTLeaf:SW_PUSH_6mm_H4.3mm__HandSW2
1CAN_HLeaf:TestPoint_3mm_Hole1.5mmTP5
1CAN_LLeaf:TestPoint_3mm_Hole1.5mmTP6
1CAR_12VLeaf:TestPoint_3mm_Hole1.5mmTP2
1ESP32-C3-WROOM-02-N4Leaf:ESP32-C3-WROOM-02_0p3mm_Vias__FactoryU2
1ESP_ENLeaf:TestPoint_3mm_Hole1.5mmTP7
1GNDLeaf:TestPoint_3mm_Hole1.5mmTP1
1GREEN / statusLeaf:LED_1206_3216Metric_Pad1.42x1.75mm_HandSolder__HandD6
1LMR36510ADDARLeaf:Texas_HTSOP-8-1EP_3.9x4.9mm_P1.27mm_EP2.95x4.9mm_Mask2.4x3.1mm_ThermalVias__FactoryU1
1NISSAN LEAF CABLELeaf:NorComp_182-009-113R561__HandJ1
1PESD2CANLeaf:SOT-23_Handsoldering__HandD4
1RESETLeaf:SW_PUSH_6mm_H4.3mm__HandSW1
1SMBJ24CALeaf:D_SMB__HandD3
1TCAN3404DRQ1Leaf:SOIC8_Hand_Access__HandU3
1TMUX1511PWRLeaf:TSSOP-14_4.4x5mm_P0.65mm__FactoryU6
1TPS3760A012DYYRQ1Leaf:TI_DYY0014A__FactoryU5
1UART / 3.3V LOGICLeaf:PinHeader_1x03_P2.54mm_Vertical__HandJ3
1USBLC6-2SC6 / UART ESDLeaf:SOT-23-6__FactoryU4
1VPWRLeaf:TestPoint_3mm_Hole1.5mmTP3

More from ahdrage/leafy

4
  • 4 layers100 × 100 mmLeaf heat v7, the printed circuit board in 3D

    Leaf heat v7

    ahdrage/leafy

    DIY Wi-Fi climate-control prototype for Nissan Leaf: KiCad PCB, ESP32-C3 firmware, Blender enclosure and build notes. Inspired by OVMS.

    66 parts
  • 4 layers150 × 150 mmBefore router, the printed circuit board in 3D

    Before router

    ahdrage/leafy

    DIY Wi-Fi climate-control prototype for Nissan Leaf: KiCad PCB, ESP32-C3 firmware, Blender enclosure and build notes. Inspired by OVMS.

    51 parts
  • 4 layers65 × 50 mmCritical backup, the printed circuit board in 3D

    Critical backup

    ahdrage/leafy

    DIY Wi-Fi climate-control prototype for Nissan Leaf: KiCad PCB, ESP32-C3 firmware, Blender enclosure and build notes. Inspired by OVMS.

    50 parts
  • 4 layers65 × 50 mmLeaf heat v3, the printed circuit board in 3D

    Leaf heat v3

    ahdrage/leafy

    DIY Wi-Fi climate-control prototype for Nissan Leaf: KiCad PCB, ESP32-C3 firmware, Blender enclosure and build notes. Inspired by OVMS.

    44 parts

Similar boards

  • 2 layers100 × 100 mmCan controller, the printed circuit board in 3D

    Can controller

    czalinski/ThlHats

    Test devices with Raspberry PI HAT form factor

    184 partsMIT
  • 4 layers127.5 × 65 mmOsiris PDB RevA, the printed circuit board in 3D

    Osiris PDB RevA

    JaredGarza/Osiris_PDB_RevA

    This repository contains the current KiCad 10 power distribution board project. Open OsirisPDBRevA.kicadpro to edit the schematic and PCB.

    69 parts
  • 4 layers80 × 60 mmBytebeam ble can, the printed circuit board in 3D

    Bytebeam ble can

    Atif6894/automotive-ble-can-pcb

    A small 4-layer board that sits on a vehicle's 12/24 V harness, talks CAN FD through a TCAN4550-Q1, and exposes it over Bluetooth LE through a CC2340R5-Q1.

    153 parts
  • 2 layers60 × 45 mmTracker lite, the printed circuit board in 3D

    Tracker lite

    Sanu0910/RFMW-ANT

    109 parts
  • 4 layers100 × 100 mmA SGSS cskpin routed, the printed circuit board in 3D

    A SGSS cskpin routed

    ThatguyCplus/throttleECU

    STM32F411CE Throttle ECU — PID position control with AS5048A encoder, H-bridge motor, safety module

    571 parts1
  • 2 layers290 × 280 mmCm5-guard A, the printed circuit board in 3D

    Cm5-guard A

    Brico-Hams/antenaSatCommrotor

    DUPLEXER 145 / 435 MHz — BNC — 25 W TARGET — REV A

    158 parts
  • 4 layers150 × 83 mmMasthead Controller, the printed circuit board in 3D

    Masthead Controller

    Tuskar-Marine/hardware

    All tools for the Mermaid's Rest open sailing tools

    230 parts6
  • 4 layers46.4 × 99.8 mmTrimix Analyzer, the printed circuit board in 3D

    Trimix Analyzer

    magnus188/aegir

    Open-source ESP32-P4 trimix analyzer prototype for technical diving,

    171 parts14

Questions

How big is the Before router PCB?

It measures 100 × 100 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Before router use?

66 parts, built around the ESP32-C3-WROOM-02-N4, TCAN3404DRQ1, TPS3760A012DYYRQ1 and USBLC6-2SC6. 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 Before router KiCad files?

From the ahdrage/leafy repository on GitHub, at the commit this page was made from: the board is hardware/rev-g/exports/before-router.kicad_pcb and its schematic deliverables/leaf-heat-rev-a/leaf-heat-v1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Before router design in my own project?

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