Skip to the content
4 layers78 × 58 mmJohnson node, the printed circuit board in 3D

Fully modular CAN node hardware and firmware libraries

Size
78 × 58 mm
Copper layers
4
Thickness
1.6 mm
Parts
108
Nets
93
Pads
382
Tracks, vias
889, 106
Pours
5
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 Apr 2026
Updated
6 Nov 2026

Overview

Johnson node is an open-source printed circuit board by ManchesterStingerMotorsports, from the ManchesterStingerMotorsports/johnson-node repository on GitHub. It is a 4-layer board of 78 × 58 mm with 108 parts on 93 nets, routed with 889 tracks and 106 vias.

It is built around the ESP32-S3-WROOM-1U-N4R2, ISO1042BQDWVQ1 and LMR50410Y3FQDBVRQ1, with the LMR50410Y5FQDBVRQ1, MIE1W0505BGLVH-3R-Z and DX07S016JA1R1500 among its other parts. Its parts include 34 capacitors, 33 resistors, 15 connectors, 11 diodes and 8 ICs. It belongs with the ESP32 boards of this library.

Main components

6

README

README.md

Johnson Node

The Johnson Node is a modular CAN node for sensor networks. It is designed as a small configurable board that can sit on a CAN bus, read local sensors or IO, and publish data for the rest of the network to use.

At its simplest, it is an ADC and IO node on CAN. A lot of the ESP32-S3 IO is broken out to a 14-pin multipin connector, so the same base board can be adapted for different sensor, control, and interface jobs without spinning a whole new main node each time.

The board can also interface with add-on hats. This repo currently includes hat hardware for:

  • GPS and IMU
  • Strain gauge interface

Name

This project is named the "Johnson node" after Alexander Johnson, who did a dissertation on the preliminary prototype.

In reality this project has now far exceeded the scope of the original dissertation but the name remains as a legacy artefact and a reminder of the original work it was built upon, and the iterative nature of engineering development.

If I have seen further it is by standing on the shoulders of giants.
— Isaac Newton

Repository Layout

PathPurpose
hardware/johnson-node/Main Johnson Node KiCad project, schematic, and PCB.
hardware/hats/IMU, GPS/GPS and IMU hat KiCad project.
hardware/hats/Strain Gauge Interface/Strain gauge interface hat KiCad project.
main/Big Scary Code Blob (jokes, i've actually tried my best to make it readable)
sdkconfigESP-IDF configuration for the ESP32-S3 target.

Hardware Overview

The base board is built around an ESP32-S3 module and CAN bus interface. Its role is to provide:

  • CAN connectivity for distributed sensor networks.
  • Local ADC and IO handling.
  • A 14-pin multipin connector exposing a broad set of IO.
  • Expansion through application-specific hats.
  • A reusable base for different sensor-node configurations.

Development Notes

  • build/ is generated by ESP-IDF and should not be edited by hand.
  • sdkconfig is committed so target and flash settings are reproducible.
  • The top-level CMake file enables MINIMAL_BUILD, so new ESP-IDF component dependencies should be added explicitly in main/CMakeLists.txt.

Parts

108
QtyValueFootprintReferences
16RResistor_SMD:R_0805_2012MetricR7, R14, R15, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31
10Conn_01x03Connector_JST:JST_XA_S03B-XASK-1_1x03_P2.50mm_HorizontalJ2, J3, J4, J5, J6, J7, J8, J9, J10, J11
90.1uCapacitor_SMD:C_0603_1608MetricC3, C7, C8, C11, C12, C14, C21, C22, C23
8100RResistor_SMD:R_0603_1608MetricR4, R5, R6, R8, R9, R10, R11, R12
833nCapacitor_SMD:C_0603_1608MetricC25, C26, C27, C28, C29, C30, C31, C32
8D_SchottkyDiode_SMD:D_0603_1608MetricD1, D2, D3, D4, D5, D6, D7, D8
610uCapacitor_SMD:C_0603_1608MetricC2, C5, C6, C15, C18, C48
51uCapacitor_SMD:C_0603_1608MetricC1, C13, C19, C20, C24
4100nCapacitor_SMD:C_0603_1608MetricC4, C9, C16, C17
3RED LEDLED_SMD:LED_0603_1608MetricD9, D10, D11
227Resistor_SMD:R_0603_1608MetricR1, R2
2270RResistor_SMD:R_0603_1608MetricR16, R18
25kResistor_SMD:R_0603_1608MetricR32, R33
2ADC124S051CIMM_NOPBcustomFootprints:SOP50P490X110-10NIC1, IC2
2LOGOLOGOG***, G***
2MAX3390EEUD_TcustomFootprints:SOP65P640X110-14NU5, U6
110kResistor_SMD:R_0603_1608MetricR3
1120Resistor_SMD:R_0603_1608MetricR13
12.2ucustomFootprints:WE-TPC_4828L1
122uCapacitor_SMD:C_0603_1608MetricC49
14.7uCapacitor_SMD:C_0603_1608MetricC10
15.6ucustomFootprints:WE-TPC_4828L2
1620RResistor_SMD:R_0603_1608MetricR17
1BSELConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ13
1Conn_01x02Connector_JST:JST_XA_S02B-XASK-1_1x02_P2.50mm_HorizontalJ1
1Conn_01x14Connector_JST:JST_XA_B14B-XASK-1_1x14_P2.50mm_VerticalJ17
1DX07S016JA1R1500customFootprints:JAE_DX07S016JA1R1500J12
1ESP32-S3-WROOM-1U-N4R2customFootprints:XCVR_ESP32-S3-WROOM-1U-N16R8U1
1ISO1042BQDWVQ1customFootprints:DWV0008A-MFGU4
1LMR50410Y3FQDBVRQ1customFootprints:DBV0006A-MFGU2
1LMR50410Y5FQDBVRQ1customFootprints:DBV0006A-MFGU3
1MIE1W0505BGLVH-3R-ZcustomFootprints:CONV_MIE1W0505BGLVH-3R-ZPS1
1RSTConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ14

The 106 most common of 108 parts.

More from ManchesterStingerMotorsports/johnson-node

4
  • 2 layers78 × 58 mmSGI, the printed circuit board in 3D

    SGI

    ManchesterStingerMotorsports/johnson-node

    Fully modular CAN node hardware and firmware libraries

    84 parts2
  • 2 layersTEENY ROSETTE, the printed circuit board in 3D

    TEENY ROSETTE

    ManchesterStingerMotorsports/johnson-node

    Fully modular CAN node hardware and firmware libraries

    58 parts2
  • 2 layers78 × 58 mmHAT, the printed circuit board in 3D

    HAT

    ManchesterStingerMotorsports/johnson-node

    Fully modular CAN node hardware and firmware libraries

    41 parts2
  • 2 layers78 × 58 mmIGL, the printed circuit board in 3D

    IGL

    ManchesterStingerMotorsports/johnson-node

    Fully modular CAN node hardware and firmware libraries

    12 parts2

Similar boards

  • 2 layers118 × 78 mmIC PDM V2.0, the printed circuit board in 3D

    IC PDM V2.0

    ManchesterStingerMotorsports/IC-PDM

    IC car PDM for the 2025-2026 Season

    49 parts
  • 2 layers80 × 60 mmLed controller, the printed circuit board in 3D

    Led controller

    codeThatThinks/autotank-led-hw

    A CANbus-enabled LED and GPIO controller -- PCB design files

    86 partsMIT
  • 2 layers50 × 90 mmESC Device Hub v0, the printed circuit board in 3D

    ESC Device Hub v0

    tmcit-ararobo-2026a/esc-control-hub

    141 partsMIT
  • 2 layers102 × 34 mmRykerConnect, the printed circuit board in 3D

    RykerConnect

    JanB97/RykerConnect

    Addon Media Display for CanAm Ryker

    67 parts3GPL-3.0
  • 2 layers50.8 × 37.1 mmSmart shunt, the printed circuit board in 3D

    Smart shunt

    open-pe/smart-shunt-fw

    This is a energy monitor based on the INA228. It comes with a Würth PowerPlus M5 terminals and a 4026 shunt resistor slot for resistors from e.g. Bourns, Vishay, Isabellenhütte.

    66 parts1
  • 4 layers44.2 × 66.5 mmBattery node, the printed circuit board in 3D

    Battery node

    ColtonTshudy/battery-node

    Daisy-chainable battery

    223 parts
  • 2 layers33 × 18.7 mmEasyISO, the printed circuit board in 3D

    EasyISO

    Protocentral/protocentral_easyiso_hardware

    ProtoCentral easyISO isolated Qwiic adapter — hardware design files (CERN-OHL-P v2)

    25 partsCERN-OHL-P-2.0
  • 4 layers45.7 × 45.7 mmIMU DIY, the printed circuit board in 3D

    IMU DIY

    NTURacingTeam/nturt_kicad

    kicad files

    64 parts4

Questions

How big is the Johnson node PCB?

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

What parts does the Johnson node use?

108 parts, built around the ESP32-S3-WROOM-1U-N4R2, ISO1042BQDWVQ1, LMR50410Y3FQDBVRQ1 and LMR50410Y5FQDBVRQ1. 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 Johnson node KiCad files?

From the ManchesterStingerMotorsports/johnson-node repository on GitHub, at the commit this page was made from: the board is hardware/johnson-node/Johnson-node.kicad_pcb and its schematic hardware/hats/IMU, GPS/IGL.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Johnson node design in my own project?

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