wolfIP – An open-source, lightweight TCP/IP stack with no dynamic memory allocations for embedded systems

wolfip TCP/IP library no memory allocations

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

ESP-IDF Release v6.0

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 firmware release

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

Linux 6.18

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 […]

LWMalloc is a lightweight dynamic memory allocator for embedded systems

LWMalloc dynamic memory allocator for embedded systems

LWMalloc is an ultra-lightweight dynamic memory allocator designed for embedded systems that is said to outperform ptmalloc used in Glibc, achieving up to 53% faster execution time and 23% lower memory usage. Malloc can cause memory fragmentation on embedded systems, potentially leading to crashes after the firmware runs long enough. Garbage collection is one technique for lowering fragmentation, but it’s not always practical on resource-constrained devices, and some simply avoid using malloc in their firmware, preferring static memory allocation or memory pools to improve reliability. Custom dynamic memory allocators are another option, and that’s what LWMalloc provides. LWMalloc is described in a paper entitled “LWMalloc: A Lightweight Dynamic Memory Allocator for Resource-Constrained Environments” as follows: LWMalloc incorporates a lightweight data structure, a deferred coalescing (DC) policy, and dedicated small chunk pools to optimize memory allocation. The lightweight data structure minimizes metadata overhead, ensuring a compact and efficient implementation. The DC […]

Raspberry Pi Pico SDK 2.1.1 release adds 200MHz clock option for RP2040, various Waveshare boards, new code samples

Raspberry Pi RP2040 200 MHz

The Raspberry Pi Pico SDK 2.1.1  has just been released with official 200 MHz clock support for the Raspberry Pi RP2040 MCU, several new boards mostly from Waveshare, but also one from Sparkfun, as well as new code samples, and other small changes. Raspberry Pi RP2040 gets official 200 MHz clock support When the Raspberry Pi RP2040 was first released along with Raspberry Pi Pico in 2021, we were told the default frequency was 48 MHz, but the microcontroller could also run up to 133 MHz. Eventually, I think the Cortex-M0+ cores were clocked at 125 MHz by default, although some projects (e.g. PicoDVI) would boost the frequency up to 252 MHz. Frequencies higher than 133 Mhz were not officially supported so far, but the Pico SDK 2.1.1 changes that since the Raspberry Pi RP2040 has now been certified to run at a system clock of 200MHz when using a […]

Khadas Mind 2 AI Maker Kit Review – Part 3: Ubuntu 24.10 and the importance of power limits

Khadas Mind 2 AI Maker Kit Ubuntu 24.10 Review

I’ve already reviewed the Khadas Mind 2 AI Maker Kit with Windows 11 Home, and today, I’ll report my experience with Linux on the Intel Core Ultra 7 258V mini PC using Ubuntu 24.10 operating system. I would usually review systems with Ubuntu 24.04 LTS OS, but considering the Intel Core Ultra 7 258V SoC is so new, I installed Ubuntu 24.10 when I tested whether disabling VT-d (IOMMU) would improve Intel Arc GPU performance (it does to some extent), and it turns out it was a good decision because Ubuntu 24.04 requires lots of fixes and workarounds to work the Khadas Mind 2 AI Maker Kit, at least until Ubuntu 24.04.2 is released later this month with a more recent kernel. Khadas Mind 2 AI Maker Kit – Ubuntu 24.10 system information My Ubuntu 24.10 installed has both Linux 6.11 (default) and Linux 6.13 kernels, but I did most […]

Linux 6.13 Release – Main changes, Arm, RISC-V, and MIPS architectures

Linux 6.13 Changelog

Linus Torvalds has just announced the release of Linux 6.13 on the Linux Kernel Mailing List: So nothing horrible or unexpected happened last week, so I’ve tagged and pushed out the final 6.13 release. It’s mostly some final driver fixes (gpu and networking dominating – normal), with some doc updates too. And various little stuff all over. The shortlog is appended for people who want to see the details (and, as always, it’s just the shortlog for the last week, the full 6.13 log is obviously much too big). With this, the merge window for 6.14 will obviously open tomorrow. I already have two dozen pull requests pending – thank you, you know who you are. Linus Release about two months ago, Linux 6.12 – the new LTS version – brought us real-time “PREEMPT_RT” support that had always required out-of-tree patchsets until now, the completion of the EEVDF (Earliest Eligible […]

Exit mobile version