Elixir Wizards

Embedded Systems in Elixir vs. C, C++, and Java with Connor Rigby & Taylor Barto


Listen Later

This week on Elixir Wizards, Connor Rigby, Software Engineer at SmartRent, and Taylor Barto, Lead Embedded Software Engineer at Eaton, join Sundi Myint to compare notes on embedded systems development with Elixir, C, C++, and Java. They discuss using Elixir and the Nerves framework for firmware projects versus more traditional choices like C. The guests ask one another questions and gain valuable insights into challenges, tooling, resources, and more across different embedded ecosystems.

In this episode, the guests expand their perspectives and demystify the concept of embedded systems for engineers outside the field. This cross-language exchange of ideas and experiences inspires continued learning and collaboration between embedded software engineers using different programming languages.

Topics Discussed:
  • Defining "true embedded": using an operating system vs. bare metal programming
  • Benefits and drawbacks of Elixir, C, C++, and Java for firmware
  • Many embedded systems today use Java as the programming language via Java Native Interface (JNI) to interface with C/C++ code
  • How Elixir expands the toolbox available for firmware projects
  • Testing, tooling, workflows, and debugging across languages
  • Elixir/Nerves features like hot code reloading and testing vs. Java alternatives
  • Learning curves for new languages and frameworks
  • Industry trends around established vs emerging tools
  • Applying functional programming principles like immutability in new domains
  • Scaling firmware updates across large connected networks
  • Continued maturation of Nerves may bring Elixir into consideration for roles where Java is commonly used today
  • Hardening systems for reliability in safety-critical uses
  • Debugging differences between web development and embedded
  • Hiring considerations for niche languages
  • Additional skills needed for embedded engineers, such as technical writing, reading schematics, and writing test instructions
  • Resources and recommendations for getting started with embedded systems
  • Links Mentioned:

    Nerves: https://github.com/nerves-project/nerves

    https://nerves-project.org/
    AtomVM: https://github.com/atomvm/AtomVM
    GRiSP: https://github.com/grisp
    RISC-V: https://github.com/ultraembedded/riscv
    https://smartrent.com/
    https://www.eaton.com/us/en-us.html
    Zig Programming Language: https://github.com/ziglang
    Docker: https://github.com/docker
    Build a Weather Station with Elixir and Nerves by Alexander Koutmos, Bruce A. Tate, Frank Hunleth
    Build a Binary Clock with Elixir and Nerves by Frank Hunleth and Bruce A. Tate
    http://esp32.net/
    https://www.nordicsemi.com/

    Special Guests: Connor Rigby and Taylor Barto.

    ...more
    View all episodesView all episodes
    Download on the App Store

    Elixir WizardsBy SmartLogic LLC

    • 4.9
    • 4.9
    • 4.9
    • 4.9
    • 4.9

    4.9

    22 ratings


    More shows like Elixir Wizards

    View all
    Software Engineering Radio by se-radio@computer.org

    Software Engineering Radio

    271 Listeners

    The a16z Show by Andreessen Horowitz

    The a16z Show

    1,085 Listeners

    Soft Skills Engineering by Jamison Dance and Dave Smith

    Soft Skills Engineering

    288 Listeners

    Thinking Elixir Podcast by ThinkingElixir.com

    Thinking Elixir Podcast

    32 Listeners