
B CAN Module
ilicmiljan/open-can-controller
Open-source CAN bus controller for BMW E9X instrument clusters (Firmware + PCB)

Open-source CAN bus controller for BMW E9X instrument clusters (Firmware + PCB)
StandardModuleV2 is an open-source printed circuit board by ilicmiljan, from the ilicmiljan/open-can-controller repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 40 × 26.5 mm with 41 parts on 55 nets, routed with 132 tracks and 158 vias.
It is built around the SM24CANB-02HTG, B260 and PRTR5V0U2AX-ES, with the SMAJ18CA among its other parts. Its parts include 15 capacitors, 8 resistors, 5 diodes, 4 ICs and 2 connectors. It belongs with the interfaces and adapters boards and the STM32 boards of this library.
KiCad PCB design for the AVR-based CAN controller. Built around the ATmega328PB with an MCP2515 CAN transceiver.
| Reference | Part | Description |
|---|---|---|
| U1 | ATmega328PB-MU | Main MCU (QFN-32) |
| U2 | MCP2515 | SPI CAN controller |
| D1 | SM24CANB-02HTG | CAN bus TVS diode (ESD protection) |
| U3 | TPS7B8250QDGNRQ1 | 5V automotive LDO regulator |
| J1 | SM06B-SRSS-TB | 6-pin JST SH connector |
| File | Description |
|---|---|
B CAN Module.kicad_sch | Schematic |
B CAN Module.kicad_pcb | PCB layout |
B CAN Module.kicad_pro | KiCad project file |
Pre-generated fabrication files (Gerbers, BOM, component positions) are available on the Releases page.
To regenerate locally, requires KiCad 9 and KiKit:
kikit fab jlcpcb --assembly --schematic "B CAN Module.kicad_sch" "B CAN Module.kicad_pcb" output/| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 100n | Capacitor_SMD:C_0603_1608Metric | C1, C4, C5, C7, C8, C9, C10, C12, C15 |
| 2 | 10K | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 2 | 10uF | Capacitor_SMD:C_1206_3216Metric | C6, C13 |
| 2 | 18pF | Capacitor_SMD:C_0603_1608Metric | C2, C3 |
| 2 | 5K1 | Resistor_SMD:R_0603_1608Metric | R7, R8 |
| 2 | B260 | Diode_SMD:D_SMA | D2, D4 |
| 2 | Jumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1, JP2 |
| 1 | 160mA | Fuse:Fuse_1206_3216Metric | F1 |
| 1 | 1K | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 1M | Resistor_SMD:R_0603_1608Metric | R6 |
| 1 | 1uF | Capacitor_SMD:C_0603_1608Metric | C11 |
| 1 | 33K | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 4.7n | Capacitor_SMD:C_0603_1608Metric | C14 |
| 1 | 600R@100MHz | Inductor_SMD:L_0603_1608Metric | FB1 |
| 1 | 82K | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | 8MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | CANBUS | Connector_JST:JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_Horizontal | J2 |
| 1 | LED | LED_SMD:LED_0603_1608Metric | D3 |
| 1 | PRTR5V0U2AX | Package_TO_SOT_SMD:SOT-143 | D5 |
| 1 | SM24CANB-02HTG | SM24CANB:SOT23-3_SM24CANB-02HTG_LTF | U1 |
| 1 | SMAJ18CA | Diode_SMD:D_SMA | D1 |
| 1 | STM32F072CBUx | Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm | U3 |
| 1 | TCAN3414DRBR | TCAN3414DRBR:VSON8_DRB_TEX | U4 |
| 1 | TPS7B8133DRVR | TPS7B8133DRVR:DRV0006A_TEX | U2 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
The 39 most common of 41 parts.
It measures 40 × 26.5 mm and has 4 copper layers, 1.6 mm thick.
41 parts, built around the SM24CANB-02HTG, B260, PRTR5V0U2AX-ES and SMAJ18CA. 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 ilicmiljan/open-can-controller repository on GitHub, at the commit this page was made from: the board is hardware/stm32/StandardModuleV2.kicad_pcb and its schematic hardware/avr/B CAN Module.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

ilicmiljan/open-can-controller
Open-source CAN bus controller for BMW E9X instrument clusters (Firmware + PCB)



makeitlabs/doorbot
Doorbot is an RFID access control platform, primarily intended for exterior doors in a makerspace environment. Based on Raspberry Pi 3b+, PoE hat, and a custom interface hat.


mefe00/NEMA17_Control_Card
A driver board designed for direct mounting to the rear of NEMA17 motors and supporting PID control algorithms. Please read the README.md for features and applications. Development and work on new versions are ongoing.

tristan-yk/Aroma
PCB design files and firmware for multi-channel diffuser driver board.

caipiblack/STM32-CAN-Bus-board
This is an STM32F042K6T6 based board that can be used to build sensors that communicate over a CAN bus
