Welcome to GigaElixir Gazette, your 5-minute digest of Elixir ecosystem news that actually matters.

This week: EtherCAT comes to the BEAM, type system design debates heat up, and we explore what happens when Elixir ventures beyond web apps into industrial automation territory.

. WEEKLY PICKS .

⚡ EtherCAT Ships in Pure Elixir - Nerves Talks to Industrial Hardware Now

Pre-1.0 library controls Beckhoff servo modules at 10ms cycle times on a Raspberry Pi 4. Can push to 1ms. No NIFs, no C bindings, just pure Elixir parsing EtherCAT frames over raw Ethernet. Three modules (EK1100 coupler, EL1809 inputs, EL2809 outputs) were auto-discovered and configured. Built with Claude and Codex because the author "would have never been able to write this library" without AI assistance. Nerves entering the automation sector where Siemens Profinet dominated. Fieldbus protocols run factories. EtherCAT is open, runs on Ethernet, and supports any topology. This implementation proves BEAM can handle real-time industrial control.

🔥 Stop Gluing Services Together - BEAM Had Multi-Agent Orchestration for Decades

Millions of processes per box. Preemptive scheduling across cores. No global GC pause. Independent heaps. Mailboxes with process IDs. While teams chain together orchestration services, the BEAM runtime already solved this. Lightweight processes cost almost nothing, and fit millions on one server. Companies switching to Elixir reduce server counts because they actually get use from their hardware. GenServers abstract the actor pattern into callbacks with local state. Call for request-response, cast for fire-and-forget. Go routines with channels? Close. But BEAM processes are globally addressable, fault-isolated, and built for distribution.

🎯 José Cuts Type Checking from 10 Seconds to 25ms by Ditching DNFs

Elixir's type system shifted from Disjunctive Normal Forms to Lazy Binary Decision Diagrams with eager literal intersections. Worst-case type checking dropped from 10 seconds to 25ms. The technical post explains why DNFs explode on complex union types, and BDDs stay compact. Dashbit's follow-up explains the real problem: type systems leak. They promise safety but break at boundaries - external APIs, user input, database schemas. Your types say one thing, runtime says another. The abstraction fails exactly where you need it most. Elixir's gradual typing acknowledges this: types help where they can, runtime checks catch what they miss.

🚀 Loom - An Elixir-Native AI Coding Assistant That Never Forgets Context

Full coding assistant built on the BEAM with Phoenix LiveView UI, streaming chat, and cost dashboard. Supports 16+ LLM providers via req_llm. The killer feature: zero-loss context. Instead of summarizing old messages into garbage like every other AI tool, Loom offloads full conversation chunks to Context Keeper GenServers. Agents keep one-line index entries and query keepers with specific questions when needed. Nothing is ever summarized or lost. Agent teams coordinate through a decision graph. Each agent has its own tools and context, with the orchestrator routing tasks. OTP supervision means crashed agents restart clean. Early WIP, but the architecture is genuinely different from Aider/Claude Code.

🛠️ Elixir 1.20-rc.2 Drops - Compiler Finds More Bugs While Running 10% Faster

Cross-clause type inference catches dead code that your tests missed. Interpreted compilation mode hits up to 5x faster on multi-core. Struct field changes recompile fewer files - add a field without rebuilding half your app. The type checker now infers across clauses: if one clause guards `is_integer(x)`, the next clause knows `x` is not an integer. Redundant clause warnings surface unreachable code. `Integer.popcount/1` and `List.first!/1` join the standard library. Module purging moved to background threads. This is the release where gradual typing starts paying off. Not just annotations for docs-actual bugs caught at compile time, for free, with faster builds.

💡 Pro Tip

Conference Name Badges Shouldn't Run Linux-Until You Need Real Firmware Updates

Building hardware for a conference sounds like scope creep until you realize the constraints force better engineering. Goatmire Elixir shipped name badges running Nerves on Allwinner T113-S4 chips, dual-core ARM at 1.2GHz, eInk displays, Wi-Fi, batteries. The whole stack is open source: Wisteria hardware design, Trellis core board, firmware updates via NervesHub. Tigris sponsored the manufacturing and provided object storage for the photo-sharing feature.

The architecture choice matters: Linux-capable SoC instead of microcontrollers because Nerves needs an MMU and real RAM. First boot process starts the BEAM VM, giving you Erlang's supervision trees on embedded hardware. The eInk display runs grayscale photos at small scale - attendees could upload images that synced across badges. No cloud dependency for the core features, just local Wi-Fi mesh and optional Tigris storage. Real production Nerves deployment teaches you what the framework actually handles. Firmware updates over NervesHub, power management for battery life, Wi-Fi provisioning without a screen keyboard.

The badge hardware is hackable - buttons, GPIO, open schematics. Conference attendees modified firmware during the event. That's the point of choosing Nerves: you get higher-level abstractions for device logic while keeping low-level hardware access when you need it. Small-scale hardware projects expose whether your stack can ship. Goatmire proved Nerves handles real constraints: battery budget, eInk refresh rates, Wi-Fi reliability, and firmware updates in the field.

The name badge wasn't a demo; it was infrastructure. Attendees wore functioning Linux devices running Elixir all weekend. No cloud required, no vendor lock-in, full source available. That's how you validate a framework.

Remember:

  • Pick Linux-capable SoCs for Nerves projects that need firmware updates and complex logic - microcontrollers force you into C.

  • Use NervesHub for over-the-air updates instead of building your own deployment pipeline.

  • Design hardware constraints first (battery life, eInk refresh, Wi-Fi range), then pick components that match - don't assume cloud connectivity.

  • Open-source your hardware schematics and firmware so users can hack the devices after shipping; it validates your architecture choices under real modification pressure.

Stay opinionated, stay building.

Dive into the EtherCAT implementation and see what the BEAM can really do: Read the full technical breakdown

. TIRED OF DEVOPS HEADACHES? .

Deploy your next Elixir app hassle-free with Gigalixir and focus more on coding, less on ops.

We're specifically designed to support all the features that make Elixir special, so you can keep building amazing things without becoming a DevOps expert.

See you next week,

Michael

P.S. Forward this to a friend who loves Elixir as much as you do 💜

Keep Reading