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_HandCAN_Lanalog voltages required by the physical bus). - Physical Bus:
CAN_HandCAN_Ltwisted 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).