Categories
IoT Zephyr

Zephyr Weekly Update – Mar. 28, 2025

Let’s catch up on some of the things that happened in Zephyr land since Zephyr 4.1 was released 3 weeks ago. Over 750 pull requests have already been merged so, like always, I’m of course only covering a very small portion of the tremendous activity of the project.

Before diving deeper, don’t forget our upcoming Zephyr Tech Talk next Wednesday, April 2, where David Brown will tell us all there is to know about Rust on Zephyr — what’s there already, what’s coming, and how you can help!

And now for your weekly-ish updates 🙂

Introducing MQTT 5.0 support

We’re getting dangerously close to reaching 90,000 issues/pull requests in the project’s GitHub repository, so it’s not often that an issue in the 20,000 range is being closed 🙂 This week, we just added support for MQTT 5.0 (the project has of course supported MQTT 3.1 for quite a while), which was tracked in issue #21633 open on Jan. 1, 2020!

MQTT 5.0 introduces several improvements over MQTT 3.1(.1), such as the addition of user properties and metadata fields in the CONNECT, PUBLISH, and SUBSCRIBE packets. It also features better error reporting, with reason codes offering clearer feedback when things go wrong.

The addition of MQTT 5.0 support should mostly be transparent for existing MQTT 3.1.1 users 🙂

New boards and SoCs

Some (only a few, really) of the new boards you will probably interested in hearing they are now supported in Zephyr:

Drivers

  • Add support for AXP2101 power management IC, which is mostly replacing the AXP192 and is used in several popular devkits from M5Stack and others. (PR #82474)
  • New driver for Bosch BMM350, a 16-bit high accuracy/low-noise magnetometer. (PR#85174)
  • Vishay VEML6031 Ambient Light Sensor (PR #85818)
  • New stepper driver for Allegro A4979 microstepping motor driver (PR #86620)
  • TDK ICM45686 IMU sensor (PR #85963)
  • PAA3905 optical flow sensor (PR #86644)

Miscellaneous


A big thank you to the 48 individuals who had their first pull request accepted since Zephyr 4.1 was released, 💙 🙌: @Abd002, @yyounxp, @lfilliot, @leonrinkel, @randyscott, @realhonbo, @mthiede-acn2, @tgcfoss, @skwort, @rdagher, @jangalda-nsc, @MichaelFeistETC, @elmo9999, @ecutm1, @nirav-agrawal, @AndreHeinemans-NXP, @XDjackieXD, @m-braunschweig, @rbudai98, @MJAS1, @DanTGL, @sctanf, @cylin-realtek, @ctourner, @WangHanChi, @dlim04, @verenascst, @Titan-Realtek, @Nitin-Pandey-01, @ckhardin, @Quizzarex, @zafersn, @thorsten-klein, @sgilbert182, @sayooj-aerlync, @tervonenja, @dewitt-garmin, @MyGh64605, @povsel, @sarchey, @etiennedm, @phb98, @petejohanson-adi, @Martdur, @ccpjboss, @JBarberU, @bia-bonobo, and @natto1784.

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:

Categories
IoT Zephyr

Zephyr Weekly Update – Jan. 24, 2025

Before diving into some recent and noteworthy updates to the Zephyr codebase since my last post, I want to draw your attention to the short Zephyr Diversity & Inclusion Survey we are conducting until the end of February.

I often get feedback along the lines of “We’re an online community, so how could we have a diversity issue? We don’t even know contributors’ gender, color, etc.!”, but the reality is that inclusion challenges can go much deeper than just gender or ethnicity. For example, some people might struggle engaging with the project due to not being comfortable with English, suffering from a disability preventing them to use some of the tools the project uses or recommends using, and so many other reasons…

This survey is a first step to better understand the diversity and inclusion issues in the Zephyr community, and an opportunity to hear about how some other projects/communities might be addressing these issues. Please take a few minutes to fill it out and share it with your friends and colleagues. The more responses we get, the better we can understand the issues and work on improving them.

A banner for "Zephyr Diversity and Inclusion Survey"

And now for your weekly updates 🙂

New boards and SoCs

Only calling out a few of the new boards, but you might be interested in hearing that a new BeagleBoard joined the party, in the form of the BeagleY-AI, a pretty beefy, TI AM67A powered, board targeting the automotive market.

BeagleY-AI

But also:

New MCTP subsystem

MCTP (Management Component Transport Protocol) is a transport layer protocol designed for communication between various management controllers within a system. MCTP is independent of the physical layer, allowing it to operate over various transport mechanisms such as PCI Express, Ethernet, USB, and more.

Thanks to PR #75743 by @teburd, a new MCTP subsystem has been introduced. This subsystem leverages the capabilities of libmctp, an open-source implementation of the MCTP protocol, and initially integrates with Zephyr’s async UART API.

Drivers

  • Microchip 10Base-T1S Ethernet PHY driver, supporting LAN865x and LAN867x PHYs (PR #81271 by @ParthibanI17164)
  • AD4114 ADC Driver, which is a single supply, multichannel, 31.25 kSPS, 24-Bit, Sigma-Delta ADC working over SPI. (PR #82816 by @pcurt)

Miscellaneous


A big thank you to the 37 individuals who had their first pull request accepted since the last post, 💙 🙌: @nhutnguyenkc, @yasinustunerg, @mcuxted, @ParthibanI17164, @ZiadElhanafy, @jhol, @tpennors, @aahmed-dewinelabs, @kbidani, @KevinTangDev, @nrbrook, @felf-zhaw, @kietavainen, @granquet, @srvanloon-priv, @nikolaptr, @CienetmarkChen, @ttwards, @narangmayank, @Jaakko-Bit, @Maartenwn, @iabdalkader, @DaGigabyte, @ofirshe, @pcurt, @gatzka, @CsBoBoNice, @td-pradecki, @ipankr, @gbmhunter, @lam-borg, @wwhheerree, @jacob-wienecke-nxp, @sebhub, @guenzel-kinexon, @silabs-BastienB, and @jcandkk.

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:

Categories
IoT Zephyr

2 boards you can finally use with Zephyr!

Can you tell that I am a bit behind with the Zephyr “Weekly” Updates?… I am trying to think what’s the best format going forward to make sure y’all don’t miss the important changes coming out of Zephyr’s firehose and its hundreds of pull requests merged every week… while not drowning under said firehose myself 🙂 In the meantime, I will try to keep sharing blog posts as regularly as possible!

This week, I want to highlight two new boards (and their underlying SoCs) for which support was added in Zephyr during the last weeks of 2024, and that I know a lot of people have been eagerly waiting for. Namely, Raspberry Pi Pico 2 and WCH CH32V003EVT, are now officially supported in Zephyr… Happy New Year!

Raspberry Pi Pico 2

Raspberry Pi Pico 2

This has been a long time in the making but the latest addition to the series of supported Raspberry Pi boards in Zephyr—after the RP2040, a.k.a Pico, the Raspberry Pi 4 Model B and Raspberry Pi 5—is the Raspberry Pi Pico 2 and its RP2350 dual-core microcontroller.

Kudos to Andrew Featherstone for driving this effort and to everyone else who helped get this merged upstream through testing, reviews, etc.

WCH CH32V003EVT

RISC-V has been a hot topic in the Zephyr community pretty much from day 1, and when the WCH CH32V003 micro-controller appeared a little over two years ago, it was only a matter of time before someone would try to get Zephyr running on it 🙂

WCH CH32V003EVT

In case you’re not familiar, the CH32V003 is a RISC-V micro-controller that runs at up to 48 MHz, has 2 KB of SRAM and 16 KB of flash storage. So… pretty small, eh? What’s small, too, is its price: it sells for under $0.10!

As of last month, initial support for CH32V003 is now available, alongside the reference dev board, the CH32V003EVT. There is obviously not a lot that one can fit in just 2KB of RAM, but all basic peripherals are supported (clock, GPIO, PWM, UART, etc.), and more WCH pull requests are already lined up.

There are dozens of other boards being added to Zephyr every month, but I thought that these two were particularly noteworthy, and I am really looking forward to seeing what people will start running on them now that they support Zephyr!


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: