CAN Bus Communication System (In progress)

Problem / Motivation

To further develop my embedded systems knowledge beyond sensor control and basic I/O, I wanted to dive into real-world microcontroller networking protocols. CAN Bus (Controller Area Network) is heavily used in automotive, industrial, and robotics applications, making it an excellent protocol to study for real-time, fault-tolerant communication. My goal was to design a multi-node CAN Bus system from scratch, building both the hardware interface and the embedded protocol stack entirely myself to gain a deeper understanding of low-level bit timing, arbitration, and error handling.

This project integrates directly with my broader IoT system where multiple embedded devices will communicate with a central Raspberry Pi server, forming a modular, scalable network for distributed control and monitoring.

System Architecture

Key Technical Challenges

Future Work & Expansion

Technologies Used

CAN Bus, MCP2515, AVR Microcontrollers, Embedded C, Bit Timing, Bus Arbitration, Fault Handling, Linux Networking, Raspberry Pi Integration