About the Project

๐ŸŽฏ How and Why This Project Started

The ESP32 CAN Sniffer project was born out of a real-world need for accessible, affordable, and powerful CAN bus analysis tools. Traditional CAN bus analyzers are often expensive, proprietary, and complex, making them inaccessible to hobbyists, students, and independent mechanics.

The Vision: Create a professional-grade CAN bus sniffer that combines the power of modern hardware (ESP32) with an intuitive, feature-rich software interface, all at a fraction of the cost of commercial solutions.

๐Ÿ’ก The Inspiration

Working with vehicle diagnostics and CAN bus communication, we encountered several challenges:

We realized that with modern hardware like the ESP32 and open-source software, we could create a solution that addresses all these pain points while maintaining professional-grade functionality. A key inspiration was the idea to use readily available, off-the-shelf hardware components (ESP32 development boards and MCP2515 CAN controller modules) without needing to design and manufacture custom PCBs. This approach makes the project accessible to anyone who can purchase standard components online, significantly lowering the barrier to entry and reducing costs.

๐Ÿš€ The Journey

Initial Concept
The project started with a simple idea: use an ESP32 microcontroller with a CAN controller (MCP2515) to capture CAN bus traffic and display it on a computer. The ESP32's built-in WiFi and USB capabilities made it perfect for flexible connectivity.
Hardware Integration
We designed and tested the hardware setup using readily available, off-the-shelf componentsโ€”no custom PCB designs required. The solution uses standard ESP32 development boards and MCP2515 CAN controller modules that can be purchased from any electronics supplier. We ensured reliable SPI communication between ESP32 and MCP2515, proper power management, and robust CAN bus connectivity. The pinout was carefully chosen to work with standard ESP32 development boards, making it easy for anyone to assemble the hardware with just basic soldering skills or even jumper wires for prototyping.
Software Development
Building a modern, user-friendly GUI was crucial. We chose PyQt5 for its cross-platform capabilities and professional appearance. The software evolved to include real-time message capture, advanced filtering, session management, and vehicle-specific decoding (starting with Fiat vehicles).
Performance Optimization
As the project grew, performance became critical. We implemented high-performance buffering, optimized serial communication, and added performance tuning options. The system can now handle hundreds of messages per second reliably.
Feature Expansion
Additional features were added based on real-world needs: WiFi connectivity for remote monitoring, session replay, CSV export, custom labeling, dark/light themes, and comprehensive error handling. Each feature was designed with usability in mind.
Production Ready
After extensive testing, bug fixes, and refinement, the project reached production quality. We implemented licensing, crash handling, bug reporting, and comprehensive documentation to ensure a professional user experience.

๐ŸŽฏ Project Goals

Our Mission

To democratize CAN bus analysis by providing a powerful, affordable, and accessible tool that empowers users to understand and work with vehicle communication systems, whether for diagnostics, reverse engineering, education, or hobby projects.

Key Objectives:

๐Ÿ”ง Technical Philosophy

This project follows several key principles:

๐ŸŒ Impact and Future

The ESP32 CAN Sniffer has the potential to:

As the project continues to evolve, we're committed to maintaining high quality, adding new features based on user feedback, and supporting the community of users who rely on this tool.

๐Ÿ™ Acknowledgments

This project builds upon the work of the open-source community, including:

For questions, feedback, or support, contact: contact.josko@gmail.com

Back to Home