Best of Embedded SystemsDecember 2025

  1. 1
    Video
    Avatar of letsgetrustyLet's Get Rusty·23w

    I’m a Rust developer, here’s what I’d do if I had to start over

    Three key strategies for learning Rust more effectively: focus on domain-specific knowledge rather than trying to master every feature, maintain consistent progress through community support and mentorship instead of repeatedly restarting, and learn with the goal of becoming job-market ready to ensure practical skill development. The approach emphasizes learning only the 20% of Rust needed for your specific use case, whether backend services, embedded systems, or blockchain development.

  2. 2
    Article
    Avatar of mtlynchMichael Lynch·26w

    My First Impressions of MeshCore Off-Grid Messaging

    MeshCore enables encrypted text messaging over long-range (LoRa) radios without cellular infrastructure, forming mesh networks where devices relay messages through each other. Testing three devices (Heltec v3, SenseCAP T-1000e, and Lilygo T-Deck+) revealed significant usability challenges: confusing onboarding, poor UI/UX design, limited range (only 5 blocks in suburban areas), and critical components being closed-source despite appearing open. While the concept appeals for emergency communication, the technology isn't yet practical for non-technical users or reliable disaster scenarios.

  3. 3
    Article
    Avatar of oxideOxide·24w

    A disappearing Service Processor

    A Service Processor on Oxide's Cosmo sled would intermittently disappear from the network, appearing completely dead. After weeks of debugging with limited access, the root cause was traced to mismatched memory attributes between privileged and unprivileged modes when accessing an FPGA via the STM32H7's Flexible Memory Controller. The CPU's cache was treating the FMC bus as Normal Cached memory in kernel mode but Device Memory in task mode, causing the bus to hang when stores from unprivileged tasks hit the cache during interrupts. Moving the FMC base address to a memory region with consistent Device Memory attributes resolved the issue.

  4. 4
    Article
    Avatar of jeffgeerlingJeff Geerling·24w

    CM0 - a new Raspberry Pi you can't buy

    The CM0 is a new Raspberry Pi Compute Module based on the Pi Zero 2 architecture, featuring castellated edges for direct PCB soldering, eMMC storage, and WiFi. Currently only available in China through EDAtec's CM0NANO development board, global distribution is unlikely due to LPDDR2 RAM shortages and supply prioritization for the Pi Zero 2 W. The module targets low-end commercial integration in products like kiosks and signage, offering a complete Linux environment in a postage stamp-sized System on Module.

  5. 5
    Article
    Avatar of ferroussystemsFerrous Systems·25w

    Ferrocene 25.11.0 now available!

    Ferrocene 25.11.0 is now available, featuring the first IEC 61508 (SIL 2) certified subset of Rust's core library. This qualified Rust toolchain enables developers to build certifiable code for safety-critical industrial systems across multiple architectures. The release includes changes from Rust 1.89 and 1.90, supports qualification for ISO 26262 (ASIL D), IEC 61508 (SIL 3), and IEC 62304 (Class C), and is 100% compatible with the main Rust compiler. The certified core subset provides access to essential Rust types like Option, Clone, str, and primitives, making it easier to develop high-assurance software without massive upfront investment.