
SGI
ManchesterStingerMotorsports/johnson-node
Fully modular CAN node hardware and firmware libraries

Fully modular CAN node hardware and firmware libraries
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.
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:
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
| Path | Purpose |
|---|---|
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) |
sdkconfig | ESP-IDF configuration for the ESP32-S3 target. |
The base board is built around an ESP32-S3 module and CAN bus interface. Its role is to provide:
build/ is generated by ESP-IDF and should not be edited by hand.sdkconfig is committed so target and flash settings are reproducible.MINIMAL_BUILD, so new ESP-IDF component dependencies should be added explicitly in main/CMakeLists.txt.| Qty | Value | Footprint | References |
|---|---|---|---|
| 16 | R | Resistor_SMD:R_0805_2012Metric | R7, R14, R15, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31 |
| 10 | Conn_01x03 | Connector_JST:JST_XA_S03B-XASK-1_1x03_P2.50mm_Horizontal | J2, J3, J4, J5, J6, J7, J8, J9, J10, J11 |
| 9 | 0.1u | Capacitor_SMD:C_0603_1608Metric | C3, C7, C8, C11, C12, C14, C21, C22, C23 |
| 8 | 100R | Resistor_SMD:R_0603_1608Metric | R4, R5, R6, R8, R9, R10, R11, R12 |
| 8 | 33n | Capacitor_SMD:C_0603_1608Metric | C25, C26, C27, C28, C29, C30, C31, C32 |
| 8 | D_Schottky | Diode_SMD:D_0603_1608Metric | D1, D2, D3, D4, D5, D6, D7, D8 |
| 6 | 10u | Capacitor_SMD:C_0603_1608Metric | C2, C5, C6, C15, C18, C48 |
| 5 | 1u | Capacitor_SMD:C_0603_1608Metric | C1, C13, C19, C20, C24 |
| 4 | 100n | Capacitor_SMD:C_0603_1608Metric | C4, C9, C16, C17 |
| 3 | RED LED | LED_SMD:LED_0603_1608Metric | D9, D10, D11 |
| 2 | 27 | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 2 | 270R | Resistor_SMD:R_0603_1608Metric | R16, R18 |
| 2 | 5k | Resistor_SMD:R_0603_1608Metric | R32, R33 |
| 2 | ADC124S051CIMM_NOPB | customFootprints:SOP50P490X110-10N | IC1, IC2 |
| 2 | LOGO | LOGO | G***, G*** |
| 2 | MAX3390EEUD_T | customFootprints:SOP65P640X110-14N | U5, U6 |
| 1 | 10k | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 120 | Resistor_SMD:R_0603_1608Metric | R13 |
| 1 | 2.2u | customFootprints:WE-TPC_4828 | L1 |
| 1 | 22u | Capacitor_SMD:C_0603_1608Metric | C49 |
| 1 | 4.7u | Capacitor_SMD:C_0603_1608Metric | C10 |
| 1 | 5.6u | customFootprints:WE-TPC_4828 | L2 |
| 1 | 620R | Resistor_SMD:R_0603_1608Metric | R17 |
| 1 | BSEL | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J13 |
| 1 | Conn_01x02 | Connector_JST:JST_XA_S02B-XASK-1_1x02_P2.50mm_Horizontal | J1 |
| 1 | Conn_01x14 | Connector_JST:JST_XA_B14B-XASK-1_1x14_P2.50mm_Vertical | J17 |
| 1 | DX07S016JA1R1500 | customFootprints:JAE_DX07S016JA1R1500 | J12 |
| 1 | ESP32-S3-WROOM-1U-N4R2 | customFootprints:XCVR_ESP32-S3-WROOM-1U-N16R8 | U1 |
| 1 | ISO1042BQDWVQ1 | customFootprints:DWV0008A-MFG | U4 |
| 1 | LMR50410Y3FQDBVRQ1 | customFootprints:DBV0006A-MFG | U2 |
| 1 | LMR50410Y5FQDBVRQ1 | customFootprints:DBV0006A-MFG | U3 |
| 1 | MIE1W0505BGLVH-3R-Z | customFootprints:CONV_MIE1W0505BGLVH-3R-Z | PS1 |
| 1 | RST | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J14 |
The 106 most common of 108 parts.

ManchesterStingerMotorsports/johnson-node
Fully modular CAN node hardware and firmware libraries

ManchesterStingerMotorsports/johnson-node
Fully modular CAN node hardware and firmware libraries

ManchesterStingerMotorsports/johnson-node
Fully modular CAN node hardware and firmware libraries

ManchesterStingerMotorsports/johnson-node
Fully modular CAN node hardware and firmware libraries


codeThatThinks/autotank-led-hw
A CANbus-enabled LED and GPIO controller -- PCB design files



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.


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

It measures 78 × 58 mm and has 4 copper layers, 1.6 mm thick.
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.
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.
Its repository states no licence, so its author keeps all rights: ask ManchesterStingerMotorsports before reusing the design.