# Reverse Engineering CAN Communication with Elixir > [! note]- > The content of this page is generated by audio/video transcription and text transformation from the content and links of this source. Source: [https://fosdem.org/2025/schedule/event/fosdem-2025-4973-reverse-engineering-can-communication-and-building-ecus-using-elixir-and-the-beam/](https://fosdem.org/2025/schedule/event/fosdem-2025-4973-reverse-engineering-can-communication-and-building-ecus-using-elixir-and-the-beam/) <video src="https://video.fosdem.org/2025/h1302/fosdem-2025-4973-reverse-engineering-can-communication-and-building-ecus-using-elixir-and-the-beam.av1.webm" controls></video> ## Summary & Highlights: This session explores the use of Elixir and the BEAM for reverse engineering CAN communication and building ECUs in automotive applications. Thibault Poncelet shares insights from his experience converting a VW Polo into an EV using a Nissan LEAF motor, highlighting the challenges and solutions in integrating different vehicle components. The session emphasizes the potential of Elixir for rapid prototyping and real-time applications in automotive systems. **Introduction to CAN Communication and ECUs** Understanding CAN communication is crucial for integrating vehicle components. Thibault explains how he utilized the CAN bus to develop an Open Vehicle Control System, enabling different car parts to communicate, thus facilitating the conversion of a traditional vehicle into an electric one. The session provides an overview of the CAN bus protocol, its applications, and the role of reverse engineering in accessing proprietary data. **The Role of Elixir and the BEAM** Elixir, running on the Erlang Virtual Machine (BEAM), is presented as a powerful tool for building ECUs due to its real-time capabilities and ease of prototyping. The session demonstrates how Elixir's pattern matching and process management make it suitable for handling CAN bus data, offering a practical approach to developing custom vehicle control systems. **Practical Applications and Tools** Thibault introduces open-source tools like Savican and Socket Candy, which facilitate CAN bus data visualization and streaming. He also discusses the use of Raspberry Pi and NURBS for deploying ECUs, showcasing a cost-effective and accessible method for automotive innovation. The session highlights the importance of community-driven efforts in sharing knowledge and resources for reverse engineering. **Challenges and Future Directions** The session addresses the challenges of reverse engineering proprietary CAN data and the need for community collaboration. Thibault emphasizes the potential for further development in areas such as autonomous driving and enhanced vehicle integration. The discussion also touches on the ethical considerations and security implications of modifying vehicle systems. ## Importance for an eco-social transformation This session is significant for eco-social transformation as it demonstrates how open-source technologies can be leveraged to create sustainable automotive solutions. The use of Elixir and the BEAM for developing ECUs offers a pathway to retrofitting existing vehicles, reducing waste, and promoting the transition to electric vehicles. Eco-social designers can apply these methods to create more inclusive and environmentally friendly transportation systems. However, challenges remain in terms of data accessibility, security, and regulatory compliance, which require ongoing collaboration between technologists, policymakers, and communities. ## Slides: | | | | --- | --- | | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_001.jpg\|300]] | The first slide introduces the session's focus on reverse engineering CAN communication and building ECUs using Elixir and the BEAM. It sets the stage for discussing the integration of different vehicle components through open-source methods. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_002.jpg\|300]] | • Introduction to the importance of CAN communication in automotive systems.• Overview of the Open Vehicle Control System developed using Elixir.• Mention of converting a VW Polo into an EV using a Nissan LEAF motor. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_003.jpg\|300]] | The third slide delves into the technical aspects of CAN bus communication, explaining the structure of CAN frames and the challenges of reverse engineering proprietary data. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_004.jpg\|300]] | This slide highlights the tools and methods used for reverse engineering, including Savican and Socket Candy, which facilitate CAN bus data visualization and streaming. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_005.jpg\|300]] | The fifth slide discusses the role of Elixir and the BEAM in building ECUs, emphasizing their suitability for real-time applications and rapid prototyping in automotive systems. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_006.jpg\|300]] | This slide presents a case study of converting a VW Polo into an EV, detailing the process of integrating a Nissan LEAF motor and the challenges encountered in achieving seamless component communication. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_007.jpg\|300]] | • Explanation of the reverse engineering process for CAN data.• Discussion of the challenges in accessing proprietary vehicle data.• Highlighting the importance of community-driven efforts in sharing knowledge. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_008.jpg\|300]] | • Introduction to the open-source tools used in the project.• [GitHub Repository for Nissan LEAF CAN Bus Messages](https://github.com/dalathegreat/leaf_can_bus_messages) | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_009.jpg\|300]] | The ninth slide focuses on the practical applications of the developed system, showcasing how it can be used to display RPM values from a different motor on a VW Polo dashboard. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_010.jpg\|300]] | • Discussion of the technical challenges in integrating different vehicle components.• Explanation of the process used to calibrate and validate data.• [GitHub Repository for CAN Log Parsing](https://github.com/v-ivanyshyn/parse_can_logs) | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_011.jpg\|300]] | • Overview of the ECU building process using Raspberry Pi and NURBS.• Discussion of the deployment and testing phases.• Emphasis on the cost-effectiveness of using open-source tools.• Mention of future development goals. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_012.jpg\|300]] | This slide presents the ethical and security considerations involved in modifying vehicle systems, highlighting the need for responsible innovation and collaboration. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_013.jpg\|300]] | The thirteenth slide discusses the potential for further development in areas such as autonomous driving and enhanced vehicle integration, emphasizing the role of open-source innovation. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_014.jpg\|300]] | • Summary of the session's key points and takeaways.• Encouragement for participants to explore open-source solutions.• Invitation to join community efforts in reverse engineering.• Call to action for eco-social designers to apply these methods. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_015.jpg\|300]] | This slide provides a conclusion, reiterating the session's focus on sustainable automotive solutions and the transformative potential of open-source technologies. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_016.jpg\|300]] | • Introduction to Cantastic, an open-source library for CAN bus communication.• Explanation of its features and benefits for automotive applications.• [GitHub Repository for Cantastic](https://github.com/open-vehicle-control-system/cantastic) | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_017.jpg\|300]] | The seventeenth slide offers a detailed overview of the Cantastic library, demonstrating its use in simplifying CAN bus communication and enhancing system integration. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_018.jpg\|300]] | This slide discusses the future directions for the Open Vehicle Control System, including potential enhancements and applications in various automotive contexts. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_019.jpg\|300]] | The nineteenth slide highlights the community-driven nature of the project, encouraging collaboration and sharing of knowledge among participants. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_020.jpg\|300]] | This slide presents a call to action for attendees to engage with the project, contribute to its development, and explore its applications in eco-social design. | ![[FOSDEM 2025/assets/Reverse-engineering-CAN-communication-and-building/preview_021.jpg\|300]] | • Final thoughts on the session's impact and relevance.• Encouragement to leverage open-source tools for sustainable innovation.• Invitation to connect with the speaker and explore further resources. ## Links [Slides](https://fosdem.org/2025/events/attachments/fosdem-2025-4973-reverse-engineering-can-communication-and-building-ecus-using-elixir-and-the-beam/slides/238112/can_rever_TE0PxYP.pdf) [Video recording (AV1/WebM)](https://video.fosdem.org/2025/h1302/fosdem-2025-4973-reverse-engineering-can-communication-and-building-ecus-using-elixir-and-the-beam.av1.webm) [Video recording (MP4)](https://video.fosdem.org/2025/h1302/fosdem-2025-4973-reverse-engineering-can-communication-and-building-ecus-using-elixir-and-the-beam.av1.mp4)