Creating a Terrestrial Telescope using Nerves & LiveView with Lucas Sifoni

About this Episode

Published November 7, 2024 | Duration: 49:56 | RSS Feed | Direct download
Transcript: English

Today on Elixir Wizards, indie developer Lucas Sifoni shares his experience prototyping a remote-controlled terrestrial telescope using Elixir, Nerves, Rust, and various hardware components.

Lucas explains the basic components of a telescope, the challenges he faced during the development process, and the benefits of using Elixir and Nerves for hardware projects. Lucas emphasizes the importance of simulating hardware components and testing assumptions before working with physical devices, as well as the value of literate programming and executable blog posts for documenting and sharing the process.

Lucas encourages listeners to explore Nerves and build their own hardware projects. He also gives a shout-out to the Nerves core team for their incredible work.

Topics discussed in this episode:

  • Challenges in optimizing wiring and PCB design for the prototype
  • Benefits of Elixir and Nerves for hardware projects
  • Communicating with Arduinos using serial connections and pattern matching
  • Leveraging binary pattern matching and construction in Elixir for hardware
  • Balancing educational value and real-world usability
  • Learning CID software and parametric design for 3D printing components
  • Growing interest in Nerves and hardware projects within the Elixir community
  • Simulating hardware components and testing assumptions before physical implementation
  • Literate programming and executable blog posts for documenting hardware projects
  • Using Elixir's interoperability with Rust for performance-critical tasks
  • Elixir's low fragmentation and high-quality libraries for various domains
  • Potential for using Livebook in hardware projects, with some limitations
  • Encouraging listeners to explore Nerves and build their own hardware projects

Links mentioned

https://lucassifoni.info/
https://www.rust-lang.org/
https://go.dev/
https://lisp-lang.org/
https://ubuntu.com/
https://hexdocs.pm/iex/IEx.html
https://nerves-project.org/
https://lucassifoni.info/blog/prototyping-elixir-telescope-code-beam/
https://github.com/Lucassifoni/oiseaux
https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html
https://www.raspberrypi.com/
https://mangopi.org/
https://store.arduino.cc/products/arduino-nano
https://elixir-circuits.github.io/
https://www.erlang.org/doc/apps/runtime_tools/scheduler.html
Binary pattern matching in Elixir with PNG parsing example https://zohaib.me/binary-pattern-matching-in-elixir/
Lucas’ Code Beam Talk: https://www.youtube.com/watch?v=q7bleFzA11c
https://github.com/membraneframework-labs
https://github.com/talklittle/ffmpex
https://studio.blender.org/training/3d-printing/
https://www.autodesk.com/products/fusion-360/personal
https://en.wikipedia.org/wiki/Parametric_design
https://www.exem.fr/
https://www.kikk.be/exhibitions/collectif-lab212-nicolas-guichard-beatrice-lartigue/
https://livebook.dev/
https://github.com/elixir-nx/bumblebee
https://github.com/rusterlium/rustlerhttps://www.youtube.com/watch?v=q7bleFzA11c

Special Guest: Lucas Sifoni.

Transcript (English):