Skip to the content
PCBKitNew board
4 layers24.4 × 33 mmCANMCU, the printed circuit board in 3D
Size
24.4 × 33 mm
Copper layers
4
Thickness
1.6 mm
Parts
35
Nets
42
Pads
149
Tracks, vias
262, 30
Pours
4
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
16 Dec 2023
Updated
12 Feb 2026

Overview

CANMCU is an open-source printed circuit board by f-zhuk, from the f-zhuk/CAN repository on GitHub. It is a 4-layer board of 24.4 × 33 mm with 35 parts on 42 nets, routed with 262 tracks and 30 vias.

It is built around the MCP2551-I/SN-HG and 1N4148WS. Its parts include 11 capacitors, 9 resistors, 6 diodes, 3 ICs and 3 connectors. It belongs with the PIC boards of this library.

Main components

2

README

README.md

CAN

General description

The work is in progress and is currently not ready for real-life application.
This repository contains hardware, firmware, and software dedicated to the creation of custom CANopen systems for vehicles.
Such custom systems could fit old cars with heavily damaged harnesses and vehicles that do not have electronic equipment by default, for example, boats, kayaks, and bicycles.

Hardware

The complete system should consist of multiple functional blocks. Blocks should be as cheap and simple as possible while implementing complete functions like combination switch assembly, left tail light assembly, and door controls.
Each functional block should be designed around a unified MCU module and simple interconnection boards to adapt signals from the MCU module to the systems of the block.
Interconnection boards may provide 24LC I2C EEPROM memory for identification and non-volatile parameter storage.

MCU

MCU module should be self-sufficient and electrically ready for insertion in the CAN bus system. To achieve this, the MCU module has a power supply converter and CAN driver aside from the controller.
For the first prototype, the PIC18 family was selected. PIC18F83K26 has a built-in CAN periphery and a reasonable price.
MCU module has +12V power input, +5V power input/output, CAN, UART, 8xGPIO(PC7:PC0)

USB-UART

Most important interconnection board. It provides a USB to UART bridge to provide a simple debug interface.
USB-UART board is built with MCP2200. It is connected not only through UART but also 5xGPIO. Additionally, 24LC16 I2C EEPROM memory is connected to C6 and C7. C5 is connected to the bus termination control.

Firmware

Heavily updated code described in AN945. The application note code was written for an older MCU. PIC18F83K26AN945 is not supported by the compiler the code was written for and the code is not compatible with the new compiler.
AN945 default config:
ADC is on (probably unused)
PORT D is all output (probably unused)
PORT B pin 5 is bit 0 of TPDO1, pin 4 is bit 1
State of PORTB pins 4 and 5 compared to their states on previous DemoProcessEvents() call, change, rise and fall events detected and distinguished, written to OD
Dictionary object 0x6005subondex 1 (uIOinIntEnable) bits 0 and 1
Async transmission for TPDO1 by default
PDO transmission type could be changed by writing to TPDO1 subindex 2

Software

The software is written in Python.

Parts

35
QtyValueFootprintReferences
40.1uCapacitor_SMD:C_0603_1608MetricC1, C4, C5, C6
410uCapacitor_SMD:C_1206_3216MetricC8, C9, C10, C11
320pCapacitor_SMD:C_0603_1608MetricC2, C3, C7
20Resistor_SMD:R_0603_1608MetricR2, R4
247kResistor_SMD:R_0603_1608MetricR1, R6
260Resistor_SMD:R_0603_1608MetricR3, R5
2Conn_02x10_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_Vertical_SMDJ1, J2
2D_SchottkyDiode_SMD:D_SMAD3, D5
110kResistor_SMD:R_0603_1608MetricR8
115uInductor_SMD:L_Bourns_SRN6045TAL1
11N4148WSDiode_SMD:D_SOD-323D2
1300Resistor_SMD:R_0603_1608MetricR9
152.3kResistor_SMD:R_0603_1608MetricR7
1Conn_01x06Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ3
1Crystal_GND24Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1D_TVS_x2_AACPackage_TO_SOT_SMD:SOT-23D1
1D_ZenerDiode_SMD:D_SMAD4
1LEDLED_SMD:LED_0603_1608MetricD6
1MCP16331CHPackage_TO_SOT_SMD:SOT-23-6U3
1MCP2551-I-SNPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU2
1PIC18F25K83-xSOPackage_SO:SOIC-28W_7.5x17.9mm_P1.27mmU1
1PolyfuseFuse:Fuse_1206_3216MetricF1

Questions

How big is the CANMCU PCB?

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

What parts does the CANMCU use?

35 parts, built around the MCP2551-I/SN-HG and 1N4148WS. 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 CANMCU KiCad files?

From the f-zhuk/CAN repository on GitHub, at the commit this page was made from: the board is CANMCU/Test.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the CANMCU design in my own project?

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

More from f-zhuk/CAN

2

Similar boards

  • 4 layers100 × 100 mmSTM32Inverter, the printed circuit board in 3D

    STM32Inverter

    Zychlix/Inverter32

    An open source, open hardware plug'n'play 3 phase motor inverter design. It

    154 parts4
  • 4 layers100 × 50 mmTGT kicad data, the printed circuit board in 3D

    TGT kicad data

    sabanekko3/TGT_kicad_data

    学生ロボコン2024、豊田高専T・G・Tがで使用した回路。kicad8

    106 parts37MIT
  • 2 layers67.3 × 54 mmJeep radio, the printed circuit board in 3D

    Jeep radio

    latonita/jeep-canbus

    Projects around CAN BUS in Chrysler Jeep - VES enabler, other small features

    52 parts30MIT
  • 2 layers120 × 100 mmRoot, the printed circuit board in 3D

    Root

    GonzaCerv/noah-hardware

    This repo contains all the hardware description for the Noah project. Here lies 3D models, electronics PCB and Firmware software of the robot.

    127 parts28MIT
  • 4 layers115 × 78 mmAvenashield, the printed circuit board in 3D

    Avenashield

    oats-center/isoblue

    ISOBlue Hardware, Avena software, and Deployment Files

    120 parts25MIT
  • 2 layersSKR CAN, the printed circuit board in 3D

    SKR CAN

    Polar-Ted/SKR_E3_V2_on_CANbus

    11 parts17
  • 4 layers77.6 × 30.1 mmSMDU, the printed circuit board in 3D

    SMDU

    sabanekko3/sMDU_PCB

    sMDU(smart motor driver)のpcbデータ kicad7

    85 parts13