Best of Embedded SystemsOctober 2024

  1. 1
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    How to Create Linux Device Drivers

    Linux device drivers facilitate communication between the operating system and hardware. A new hands-on course by freeCodeCamp teaches how to develop these drivers, covering topics from the Linux kernel and system calls to file operations and kernel module management. The course includes practical steps for setting up a development environment and writing a loadable module.

  2. 2
    Article
    Avatar of lobstersLobsters·2y

    Rust is rolling off the Volvo assembly line

    Julius Gustavsson, the main software architect at Volvo, successfully implemented Rust in Volvo's low-power processor ECU for handling power management in electric cars. Initially using C and C++, Julius transitioned to Rust due to its safety features and robustness. Despite some tooling challenges, Rust proved highly effective for the project, leading to fewer bugs and higher quality software. Volvo is now exploring more opportunities to use Rust in other projects.

  3. 3
    Article
    Avatar of hnHacker News·2y

    Embedded Rust in Production ..?

    STABL Energy has successfully used Rust on the embedded ESP32 platform in production for over a year. Initially frustrated with a C implementation for their energy storage system, they switched to Rust, which resulted in greater reliability and fewer bugs despite taking longer to write. They experienced a smooth transition and continued improvements in Rust support from Espressif. Although finding developers proficient in Rust remains a challenge, the language has proven effective for their embedded projects.

  4. 4
    Video
    Avatar of letsgetrustyLet's Get Rusty·2y

    Rust is secretly taking over chip development

    Nvidia, AMD, Google, and Microsoft are collaboratively working on Project Calyptra, which aims to secure computer chips using Rust-based implementations of the root of trust component. Root of trust ensures that low-level boot code is authentic and secure, critical for preventing hardware-level malware attacks. Current implementations suffer from fragmentation, lack of transparency, and scalability issues. Rust's usage in this project promises enhanced security and maintainability. Calyptra is expected to be integrated into Google and Microsoft silicon by 2024, with AMD following by 2026. The trend of using Rust is also growing in the automotive industry, with notable adoption by Volvo and others for embedded systems.

  5. 5
    Article
    Avatar of tdsTowards Data Science·2y

    Master Embedded Development with Rust and no_std

    Running Rust on embedded systems using no_std can optimize for environments with constrained resources like microcontrollers. Practical steps include ensuring compatibility with WASM and WASI, identifying and adjusting dependencies, marking main code with no_std and alloc, and using Cargo features to toggle std usage. Testing embedded systems often requires tools like QEMU. Despite challenges, Rust’s “if it compiles, it works” philosophy is highly applicable for embedded development.

  6. 6
    Article
    Avatar of communityCommunity Picks·2y

    Flipper Zero hacking tool gets MicroPython support

    Oliver Fabel has developed a port to run MicroPython on the Flipper Zero, enabling users to write Python programs for this versatile hacking tool. This development supports GPIO, ADC, PWM, speaker, buttons, display, and infrared communication, although NFC and RFID are not yet supported. Users can access a Python shell (REPL) and run scripts from the CLI without needing a firmware update, reducing the risk of bricking the device. However, the port is not complete and may require retrying if the application crashes due to memory fragmentation.

  7. 7
    Article
    Avatar of awelixAwesome Elixir·2y

    WhyElixir

    Elixir is a dynamic, general-purpose language designed for building scalable, concurrent, fault-tolerant, and high-performance applications. It features a syntax inspired by Ruby and operates on the Erlang Virtual Machine, providing essential features for distributed and responsive applications. Elixir's operational simplicity, straightforward syntax, and active community make it an appealing choice. Notable frameworks like Phoenix for web development and Nerves for embedded systems highlight its versatility. Companies like Adobe, Discord, and Pinterest use Elixir to handle millions of users, attesting to its reliability and efficiency.