Skip to the content
4 layers110 × 72 mmCANShunt, the printed circuit board in 3D

8-Channel CAN current measurement board

Size
110 × 72 mm
Copper layers
4
Thickness
1.6 mm
Parts
124
Nets
103
Pads
445
Tracks, vias
968, 1,042
Pours
34
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
10 Dec 2025
Updated
30 Aug 2026

Overview

CANShunt is an open-source printed circuit board by mcbridejc, from the mcbridejc/CANShunt-pcb repository on GitHub. It is a 4-layer board of 110 × 72 mm with 124 parts on 103 nets, routed with 968 tracks and 1,042 vias.

It is built around the SN65HVD230D, USBLC6-2SC6 and SMAJ24A, with the CUS10S30,H3F and ESD2CANFD24DBZ among its other parts. Its parts include 49 resistors, 35 capacitors, 18 diodes, 12 ICs and 6 connectors. It belongs with the sensors and measurement boards and the STM32 boards of this library.

Main components

5

README

README.md

CANShunt

An 8-channel current sense board with lever actuated WAGO terminals designed for DIN rail mount and measuring load currents on a 12V system.

Rev1

What for?

In my camper, I distribute power to a number of different loads -- heater, fridge, lights, etc. I'd like to measure the consumption of each individually.

Features

  • INA183 current sense amps with a 20A measurement range
  • WAGO screwless terminals which can accomodate AWG 12-24 size wiring
  • USB-C for DFU firmware load
  • CAN bus for communication (CANOpen)
  • LED per channel for indicating current
  • Mode button for enabling/disabling flashy LEDs

DIN Rail Mounting

The board is designed to support being mounted on a DIN rail via either the CIME system or via Pheonix Contact 1201578 adapters.

Generating output

Needs InteractiveHtmlBom python package: pip install InteractiveHtmlBom

./generate_outputs.sh <rev> to generate output files.

Errata

Rev 2

  • Doesn't exist yet

Rev 1

  • VIN protection diodes are backwards.
  • Sense resistors have wrong footprint. I used 1206; should be 2512. They can be installed OK anyway.
  • CAN_D is on wrong MCU pin. Cut trace / jumpers required to fix.

CAN Mod

Parts

124
QtyValueFootprintReferences
320.1uCapacitor_SMD:C_0603_1608MetricC1, C2, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23 +16
1810kResistor_SMD:R_0603_1608MetricR21, R25, R29, R33, R35, R36, R37, R39, R40, R41, R43, R44, R45, R47, R48, R49 +2
81.5mResistor_SMD:R_2512_6332MetricR18, R22, R26, R30, R34, R38, R42, R46
82.61kResistor_SMD:R_0603_1608MetricR10, R11, R12, R13, R14, R15, R16, R17
863.4kResistor_SMD:R_0603_1608MetricR19, R20, R23, R24, R27, R28, R31, R32
8INA183xPackage_TO_SOT_SMD:SOT-23-5_HandSolderingU6, U8, U10, U12, U14, U16, U18, U20
8LEDRJMP_Misc:LED_0805_VLP_LightPipeD3, D4, D5, D6, D7, D8, D9, D10
8SMAJ24ADiode_SMD:D_SMAD11, D12, D13, D14, D15, D16, D17, D18
4100Resistor_SMD:R_0603_1608MetricR1, R2, R3, R4
34.7uCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC4, C5, C30
22604-1308RJMP_Connectors:WAGO_2604-1308J4, J5
25.1kResistor_SMD:R_0603_1608MetricR6, R7
2DIN_Rail_AdapterMountingEquipment:DINRailAdapter_3xM3_PhoenixContact_1201578DRA1, DRA2
12601-1104RJMP_Connectors:WAGO_2601-1104J3
1BOOTButton_Switch_SMD:SW_SPST_PTS810SW2
1CUS10S30,H3FDiode_SMD:D_SOD-323_HandSolderingD1
1DNPResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR9
1ESD2CANFD24Package_TO_SOT_SMD:SOT-323_SC-70D2
1JST XHConnector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_VerticalJ6
1MCP1792x-3302xDBPackage_TO_SOT_SMD:SOT-223-3_TabPin2U4
1RSTButton_Switch_SMD:SW_SPST_PTS810SW1
1SN65HVD230Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU2
1STM32L552RCTxPackage_QFP:LQFP-64_10x10mm_P0.5mmU3
1TAG SWDConnector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_VerticalJ1
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U1
1USB_C_Receptacle_USB2.0_16PRJMP_Connectors:USB_C_Receptacle_JAE_DX07S024WJ3R400J2

Similar boards

  • 4 layers77 × 61.5 mmCAN IMU, the printed circuit board in 3D

    CAN IMU

    risingtideresearch/can-imu-pcb

    An IMU carrier PCB

    56 parts
  • 4 layers64 × 92.8 mmDaisyStepperDriver, the printed circuit board in 3D

    DaisyStepperDriver

    MarginallyClever/Daisy-Driver-2.0-firmware

    Daisy Driver 2.0 firmware

    91 parts1
  • 6 layers34.7 × 43 mmMitsubishiSC, the printed circuit board in 3D

    MitsubishiSC

    loozhengyuan/MitsubishiSC

    Smart controller for Mitsubishi Electric HVAC systems.

    66 partsMIT
  • 2 layers85 × 56 mmOrange juice board, the printed circuit board in 3D

    Orange juice board

    jeji/orange_juice

    A orange pi zero shield board for 3D printer with klipper features

    56 parts13GPL-3.0
  • 2 layers99 × 56 mmOrange juice board, the printed circuit board in 3D

    Orange juice board

    jeji/orange_juice_2

    For Orange Pi zero 2 with klipper and more advance feature

    56 parts5
  • 4 layers221.5 × 130.8 mmMEP MAXI-85V-1-REV-2-Interface Board, the printed circuit board in 3D

    MEP MAXI-85V-1-REV-2-Interface Board

    JGilcreast/MetalHead

    An opensource firmware and software drop-in replacement for the 85V Automatic Stirrup Bender by CRS Specialties Inc. ...short story behind the name...

    407 parts
  • 2 layersOpenPowerDistribution, the printed circuit board in 3D

    OpenPowerDistribution

    ulikoehler/OpenPowerDistributor

    Open-hardware PCB to distribute DC 12V power to 12V / 5V / 9V & 24V consumers

    537 partsCC0-1.0

Questions

How big is the CANShunt PCB?

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

What parts does the CANShunt use?

124 parts, built around the SN65HVD230D, USBLC6-2SC6, SMAJ24A and CUS10S30,H3F. 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 CANShunt KiCad files?

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

Can I use the CANShunt design in my own project?

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