Episode

Creating VintageCell: Nerves, PCBs, and GenStateMachine with Bryan Green

Podcast
Elixir Wizards
Published
Oct 24, 2024
Duration seconds
1738
Processing state
processed
Canonical source
https://smartlogic.fireside.fm/s13-e02-vintagecell-nerves-bryan-green
Audio
https://aphid.fireside.fm/d/1437767933/03a50f66-dc5e-4da4-ab6e-31895b6d4c9e/51406e56-b785-416b-a0f9-71bcfd4154a6.mp3
JSON
/v1/public/podcasts/elixir-wizards/episodes/creating-vintagecell-nerves-pcbs-and-genstatemachine-with-bryan-green
Markdown
/podcast/elixir-wizards/creating-vintagecell-nerves-pcbs-and-genstatemachine-with-bryan-green.md

Actions

  • POST https://stenobird.com/v1/public/podcasts/elixir-wizards/episodes/creating-vintagecell-nerves-pcbs-and-genstatemachine-with-bryan-green/transcription-requests
    Idempotently request low-priority transcript generation for this episode.
  • GET https://stenobird.com/podcast/elixir-wizards/creating-vintagecell-nerves-pcbs-and-genstatemachine-with-bryan-green.md
    Read the agent-friendly Markdown representation of this episode resource.

Summary

Today on Elixir Wizards, Bryan Green shares how he transformed a vintage 1930s rotary phone into a fully functional cell phone using Elixir, Nerves, and a mix of hardware components. Bryan shares the highs and lows of his project, from decoding rotary dial clicks to troubleshooting hardware issues with LED outputs. He explains why Nerves was the perfect fit for this project, offering SSH access, over-the-air updates, and remote debugging. You’ll also hear how Elixir’s concurrency model helped him manage hardware inputs and outputs efficiently using GenStateMachine and Genservers. Elixir and Nerves really shine when modeling real-world systems. Bryan dives into how he used a finite state machine to track the phone’s states and handled inputs from the rotary dial and hook switch via GPIO. For hardware enthusiasts, Bryan’s advice is to embrace this “golden age” of DIY electronics. Whether you're experienced with embedded systems or just curious on where to start, Bryan's VintageCell can inspire you to tinker with a hardware engineering project. Key topics discussed in this episode: Advantages of functional programming and immutability in Elixir Building hardware projects using Adafruit components Why Nerves was the best choice for the VintageCell project Interpreting rotary dial clicks using GPIO and circuits.gpio Troubleshooting hardware issues with LED diagnostics Challenges in optimizing wiring and PCB design Benefits of Nerves: SSH access, OTA updates, and remote debugging Modeling real-world systems with Elixir and Nerves Implementing a finite state machine with GenStateMachine Managing input with Genservers for rotary dial and hook switch Leveraging community resources like Discord, Elixir Slack, and forums Practical advice for keeping hardware projects on track Pot…