ESPHome 2026.5.0 has just been released with the beta version of the new ESPHome Device Builder web app that replaces the legacy in-tree dashboard with a real configuration editor, a firmware job queue, multi-select bulk actions, labels and areas, out-of-sync detection, cross-config search, distributed builds, and a proper settings UI. The firmware itself gains optimizations of the main loop, scheduler, and task watchdog to lower CPU and power usage on supported platforms, and a range of other memory/performance optimizations across the API, audio, and helper hot paths. The audio decoder pipeline has been improved and features new microMP3, microWAV, and microFLAC streaming libraries. OTA has also been enhanced with partition-table and bootloader updates, web-server OTA, and soft-brick recovery, and ESP32 MCUs are now handled by up to the ESP-IDF v6.0.1 framework natively, while Zigbee support has been expanded to ESP32 H2 and ESP32-C6, among other features. Key features of the […]
Study compares Rust and C languages for embedded firmware development
There’s a lot of hype around the Rust programming language, and I’m seeing it being adopted by various projects, not least the Linux kernel. However, so far it was unclear to me whether it was suitable for embedded firmware development since the hardware resources are limited on microcontrollers. A low memory and storage footprint is required, and optimal performance may also be important, for example, to lower the power consumption of battery-powered devices. A research paper by STMicroelectronics, Inria, and the Freie Universität Berlin, entitled “Lessons from an Industrial Microcontroller Use Case with Ariel OS” published on ArXiv hosted by Cornell University, attempts to answer this question using embedded C and Rust, and the conclusion is that Rust is a viable option: As Rust gains traction for developing safer systems software, a reality check for the microcontroller hardware segment becomes necessary. How ready is the Rust ecosystem for this segment? Can […]
Reminder: enable ZRAM on your Linux system to optimize RAM usage (and potentially save money)
With the price of RAM getting out of control, it might be a good idea to remind Linux users to enable ZRAM so they can get better performance without upgrading memory, or save money on their next single board computer by selecting a board with the right amount of memory.
I had already written about the subject when I enabled ZRAM on a ODROID-XU4Q in 2018 using zram-config, and did the same on my Ubuntu laptop at the time. In recent days, I found Firefox crashing often due to running out of memory on my system with 16GB of RAM, and the Linux 7.0 release reminded me about ZRAM, since there were some related changes. So I decided to check the current swap configuration on my Ubuntu 24.04 laptop:
Linux 7.0 Release – Main changes, Arm, RISC-V, and MIPS architectures
Linus Torvalds has just released Linux 7.0 on LKML: The last week of the release continued the same “lots of small fixes” trend, but it all really does seem pretty benign, so I’ve tagged the final 7.0 and pushed it out. I suspect it’s a lot of AI tool use that will keep finding corner cases for us for a while, so this may be the “new normal” at least for a while. Only time will tell. Anyway, this last week was a little bit of everything: networking (core and drivers), arch fixes, tooling and selftests, and various random fixes all over the place. Let’s keep testing, and obviously tomorrow the merge window for 7.1 opens. I already have four dozen pull requests pending – thank you to all the early people. Linus This follows the Linux 6.19 release about two months ago, which brought us PCIe link encryption and […]
wolfIP – An open-source, lightweight TCP/IP stack with no dynamic memory allocations for embedded systems
Better known for its open-source wolfSSL SSL/TLS library, wolfSSL (the company) has now released the wolfIP open-source, lightweight TCP/IP stack with no dynamic memory allocations (e.g., no malloc calls) designed for resource-constrained embedded systems.
The company highlights that wolfIP “supports both endpoint-only mode and full multi-interface support with optional IP forwarding. By default, it operates as a network endpoint, but can be configured to forward traffic between multiple network interfaces”.
ESP-IDF v6.0 framework adds support for ESP32-C5 and ESP32-C61, preview for ESP32-H21 and ESP32-H4
Espressif Systems released the ESP-IDF v6.0 framework a few days ago with stable support for ESP32-C5 and ESP32-C61 SoCs, as well as preview support for ESP32-H21 and ESP32-H4 low-power wireless microcontrollers. The framework also implements a new ESP-IDF Installation Manager (EIM) to make the ESP-IDF installation easier, relies on the low-footprint Picolibc C library, adds security and tooling updates, as well as a few Wi-Fi enhancements, and the ability to update the bootloader over the air. Here are some of the ESP-IDF v6.0 highlights: ESP-IDF Installation Manager – Unified cross-platform tool to simplify the setup process for ESP-IDF and compatible IDEs. It’s available as a graphical interface or a CLI for automation and CI/CD pipelines. You can check the installation instructions for your OS. Picolibc replaces Newlib for a smaller memory footprint and better performance on resource-constrained devices. Check the Newlib vs Picolibc comparison for details. Contrary to some of […]
ESPHome 2026.1.0 optimizes memory usage on ESP32/ESP8266, adds Zigbee support on nRF52, WiFi roaming, and more
ESPHome 2026.1.0 open-source firmware has just been released with new features like automatic WiFi roaming and Zigbee support for Nordic Semi nRF52 targets, as well as memory optimization for ESP32/ESP8266 hardware, among many other changes. Other notable changes include security updates with the project replacing API password authentication with API encryption and requiring SHA256 authentication for OTA updates, better support for non-ASCII configuration, and updates to LibreTiny platforms (BK72xx, RTL87xx, LN882x), which received thread-safe WiFi, atomics, and deep sleep support. ESPHome developers used to advise users not to use ESP8266, not because it was not suitable for the task, but because the runtime heap on ESP8266 routinely dropped below 10k, and devices were unreliable. Since millions of ESP8266 devices were already deployed in homes, they decided to do something about it. The project was greatly helped thanks to increased support from the Open Home Foundation, which allows the project to […]
Linux 6.18 LTS release – Main changes, Arm, RISC-V, and MIPS architectures
Linus Torvalds has just announced the release of Linux 6.18 on the Linux Kernel Mailing List (LKML), which will likely become the next LTS kernel [update: it’s now official]: So I’ll have to admit that I’d have been happier with slightly less bugfixing noise in this last week of the release, but while there’s a few more fixes than I would hope for, there was nothing that made me feel like this needs more time to cook. So 6.18 is tagged and pushed out. Most of the last-minute fixes are minor fixes to drivers, with some random noise elsewhere (bluetooth, ceph, afs..). Nothing strikes me as standing out, but hey, there’s a shortlog appended if you want to see the details. And this obviously means that the merge window will open tomorrow, and I already have three dozen pull requests pending. Thanks. And as I already mentioned a couple of […]









