Hello, Zephyr enthusiasts! It’s been a couple of busy weeks as we move further into the Zephyr 4.2 development cycle. Let’s dive into some of the significant additions and improvements merged over the past couple weeks.
New CI servers are blazing fast
There are litterally hundreds of pull requests being submitted to Zephyr every week. We’re trying our best to have them go through a set of relevant tests on our continuous integration servers so that the proposed changes are effectively working, not causing regressions, etc.
With the sheer amount of pull requests involved, our servers are usually VERY busy, pretty much 24/7. Our infrastructure guru Stephanos recently completed the move to Hetzner as our new provider, and we now have a farm of very beefy AMD EPYC™ Genoa 9454P (48 cores / 96 threads!) powered servers that is significantly speeding up the times it takes for pull requests to go through CI (from several hours before to just about 20 minutes now, in most cases).
Interestingly, GitHub just announced this week that they’re making 96 vCPU runners generally available. Priced at $0.384 per minute (!) of usage, it’s a good reminder that Zephyr’s shared development model, with financial support from its member companies, brings a lot of “free” benefits to the community at large.
Twister harness for power measurement
Testing and validating power consumption of embedded systems is often a very manual and time-consuming task.
A new power
harness was recently added to Twister, enabling automated power measurement and validation during test runs. As a reminder, a Twister harness is basically responsible for determining whether a given test passes or not. For example, one would often use the console
harness to validate console output against e.g. a regular expression to confirm an application is working as expected.
With the new power harness, it is possible to use an external power monitor (the initial implementation supports the STMicroelectronics X-NUCLEO-LPM01A expansion board running PowerShield) to measure the current drawn by the device under test, and to express some “rules” as to what’s considered success or failure (ex. to ensure the peak consumption never goes above a given value).
The pull request that introduced this new feature (#85130) is probably the best starting point at this stage for you to get a closer look at how this works (and it looks like documentation for it is maybe a bit lacking at the moment, unfortunately). I haven’t spent a lot of time digging into this new feature just yet but I would be really curious to see people start extending it to support other popular power monitors such as Nordic’s PPK2, JouleScope, etc.
Bluetooth Hands-Free Profile (HFP) improvements
PR #77694 has recently been merged and it brings a pretty significant update to the already supported Bluetooth Hands-Free Profile (HFP) and adds support for features such as remote volume control, caller ID, memory dialing, and more (it’s over 11,000 lines of code that were added!).
New boards and SoCs
As always, way too many boards added so I am focusing on just a few 🙂

- STMicroelectronics STM32MP13 micro-processor is based on Arm Cortex-A7, and a lot of work went into not only adding support for it in Zephyr—PR #87687—but basically also introducing Zephyr support for Cortex-A7 in the first place!
Should you want to get started with Cortex-A7 on Zephyr, I guess you best bet for now is to then use the STM32MP135 Discovery kit port which, quite naturally, was also introduced in the same PR 🙂 - You may or may not know that Zephyr is widely used to write Embedded Controller firmwares. For example, laptops such as Chromebooks or Framework Laptops are effectively leveraging Zephyr for all kinds of low-level hardware management stuff (power management, keyboard interfacing, etc.).
PR #87095 introduces support for ITE Tech’s IT51XXX SoC series. IT51XXX is a 32-bit RISC-V microcontroller with 128KB SRAM, 512K-1M of embedded flash, and a variety of buses and peripherals you’d expect to find on a computer motherboard (SMBus, I3C, cryptographic engine, …) - Two new XIAO boards from Seeed Studio: XIAO RA4M1 and XIAO MG24.
Drivers
- A new MBOX driver for Arm MHUv3 (
arm,mhuv3
) has been introduced. The MHU (Message Handling Unit) is a standard hardware block found in many multi-core Arm MCUs. It is designed to facilitate low-latency signaling and message passing between different cores. (PR #82564)
You can read more on Arm MHU here. - New sensor drivers added for:
- New driver for the Sitronix ST7701 display controller (PR#85569).
- New Espressif LP UART driver targetting the Low Power core found on Espressif SoCs such as ESP32-C6 (PR #87684)
- New driver for the TI BQ25713 battery charger IC (PR #86791).
- The Silicon Labs EUSART driver now supports Power Management, Asynchronous API, and DMA (PR #85796).
- I2S support was added for Espressif ESP32 and ESP32-S2 (PR #83710).
- The Bosch BMA4xx accelerometer driver now supports streaming API (PR #83575).
Miscellaneous
- Arduino GIGA Display Shield: Support for the display shield designed for the Arduino GIGA R1 board has been added (PR #85569).

- Coredump In-Memory Backend: The coredump subsystem now features an optional in-memory backend, useful for capturing crash information on systems without persistent storage (PR #87565).
SeeCONFIG_DEBUG_COREDUMP_BACKEND_IN_MEMORY
. - Some long overdue improvements to Zephyr’s JSON library, with better support for parsing/serializing “NaN”, “Infinity”, scientific notation, and char arrays. (PR #86956 & #87580)
- It’s know possible to suspend/resume the task watchdog, which can be useful when the system needs to go into a suspend state. (PR #87590)
A big thank you to the 41 individuals who had their first pull request accepted this week, 💙 🙌: @peterwangsz, @juickar, @seankyer, @raulgotor, @dereje-demant, @Bucknalla, @PicoBoy2017, @aisuneko, @stefan-golinschi, @KwsBaer, @thanhthe23, @pir0n, @manoj-aerlync, @fimohame, @marekmaskarinec, @Yunshao-Chiang, @tq-delimayuki, @Pharb, @kesyog, @AdamOpenshaw, @vbrzeski, @woobacca, @saimohith-google, @lukkelele, @darrenlu-ambiq, @PeggyCienet, @DavidCerrone, @ivanwagner, @derekvalleroy, @caiohbm, @jamesturton, @rob-robinson-14, @cjwinklhofer, @ajordanr-google, @echistyakov, @bukepo, @cichiwskyj, @Tim-Wang38, @Gibson431, @paultimke, and @robertperkel.
As always, I very much welcome your thoughts and feedback in the comments below!
If you enjoyed this article, don’t forget to subscribe to this blog to be notified of upcoming publications! And of course, you can also always find me on Twitter and Mastodon.
Catch up on all previous issues of the Zephyr Weekly Update: