can-bus-modules

Installation
SKILL.md

can-bus-modules

Goal: Interface microcontrollers with automotive and industrial Controller Area Networks (CAN) using transceivers to read and spoof packets.

1. Hardware Stack

  • MCU: e.g., Arduino or ESP32.
  • Controller: MCP2515 (Translates SPI from MCU into CAN format). Maintains transmit buffers and acceptance filters.
  • Transceiver: TJA1050 or MCP2551 (Translates logic-level CAN from the MCP2515 into the differential CAN_H and CAN_L analog voltages required by the physical bus).
  • Physical Bus: CAN_H and CAN_L twisted pair. Requires 120-ohm termination resistors at both ends of the bus.

2. Setting Baud Rates & Oscillators

The CAN bus relies entirely on timing. Connecting with the wrong speed brings down the bus (Error Passive).

  • Standard OBD-II in vehicles uses 500 kbps.
  • Slower comfort buses (doors, windows) might use 125 kbps or 250 kbps.
  • Make sure you initialize the library with the exact crystal oscillator speed attached to your MCP2515 board (commonly 8 MHz or 16 MHz).

3. Standard vs Extended Frames

Installs
4
GitHub Stars
22
First Seen
Sep 5, 2026
can-bus-modules — aeondave/malskill