Episode
Building an Open Vehicle Control System using Elixir and Nerves with Marc, Thibault, and Loïc
- Podcast
- Elixir Wizards
- Published
- Dec 26, 2024
- Duration seconds
- 3259
- Processing state
processed
Actions
POST https://stenobird.com/v1/public/podcasts/elixir-wizards/episodes/building-an-open-vehicle-control-system-using-elixir-and-nerves-with-marc-thibault-and-lo-c/transcription-requests
Idempotently request low-priority transcript generation for this episode.GET https://stenobird.com/podcast/elixir-wizards/building-an-open-vehicle-control-system-using-elixir-and-nerves-with-marc-thibault-and-lo-c.md
Read the agent-friendly Markdown representation of this episode resource.
Summary
Engineers from Spin42 detail their journey retrofitting a 2007 VW Polo with an electric powertrain using Elixir and Nerves. The discussion explores building an Open Vehicle Control System (OVCS) to extend vehicle lifespans through open-source hardware and software.
Topics
- Elixir
- Nerves
- Embedded Systems
- CAN bus
- Electric Vehicles
- Open Source Hardware
- Raspberry Pi
- Automotive Engineering
Highlights
- Main idea: Using Elixir GenServers to model independent vehicle components and coordinate them via a distributed architecture
- Practical takeaway: Leveraging Nerves and the Erlang socket module to interface with the CAN bus and parse proprietary messages
- Failure mode: The difficulty of reverse-engineering CAN messages and the risks of not documenting hardware traces before disassembly
- Technical approach: Implementing a YAML-based DSL for CAN frame descriptions and building custom hardware to avoid unreliable off-the-shelf hats
- Safety implementation: Designing fail-safe mechanisms, including software-level monitoring and physical emergency shutoff buttons
Chapters
1:05Introduction to Spin42: The engineers introduce themselves and their background in the financial sector and startup ecosystem.4:50The Vision for Retrofitting: The motivation behind converting older internal combustion vehicles to electric power to meet new regulations and reduce waste.9:15Elixir for Vehicle Management: How GenServers mimic independent vehicle components and communicate over an internal bus.13:30Nerves and CAN Bus Integration: Using Nerves to handle CAN communication and the benefits of developing on a laptop without constant firmware uploads.21:40Reverse Engineering Challenges: The technical hurdles and regrets encountered while attempting to decode proprietary CAN messages.30:30Building the Infotainment System: Developing a custom touchscreen interface using Nerves to replace physical buttons for gear selection.42:15Safety and Fail-safes: Implementing hardware and software safeguards to ensure system stability and emergency control.