<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>Benjamin Cabé</title>
	<atom:link href="https://blog.benjamin-cabe.com/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.benjamin-cabe.com/</link>
	<description>IoT - AI - Open Source &#38; random tech news</description>
	<lastBuildDate>Fri, 23 May 2025 22:04:19 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
<site xmlns="com-wordpress:feed-additions:1">94963808</site>	<item>
		<title>Zephyr Weekly Update – Video Killed the Radio Star</title>
		<link>https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star</link>
					<comments>https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star#comments</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 23 May 2025 17:06:26 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=11306</guid>

					<description><![CDATA[Greetings, folks! Yeah, it&#8217;s been a few weeks&#8230; again! I blame the month of May in France that was filled with bridge days. Luckily, this means even more cool news for you to chew on! Also, we have two upcoming Zephyr Tech Talks after a few quiet weeks, make sure to RSVP to the events [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Greetings, folks! Yeah, it&#8217;s been a few weeks&#8230; again! I blame the month of May in France that was filled with bridge days. Luckily, this means even more cool news for you to chew on!</p>



<p>Also, we have two upcoming <strong>Zephyr Tech Talks</strong> after a few quiet weeks, make sure to RSVP to the events so that you don&#8217;t miss the opportunity to ask your questions live (and please help spread the word by relaying to your social network, if you feel like it!).</p>



<div class="wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:50%">
<figure class="wp-block-image size-large"><a href="https://www.linkedin.com/events/behindthescenesofazephyr-powere7330566369161134080/" target="_blank" rel=" noreferrer noopener"><img fetchpriority="high" decoding="async" width="1024" height="576" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/tenstorrent-1024x576.jpg" alt="Behind the Scenes of a Zephyr-powered PCIe AI Accelerator // Zephyr Tech Talk #024" class="wp-image-11310" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/tenstorrent-1024x576.jpg 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/tenstorrent-300x169.jpg 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/tenstorrent-768x432.jpg 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/tenstorrent-1536x864.jpg 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/tenstorrent-1200x675.jpg 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/tenstorrent.jpg 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:50%">
<figure class="wp-block-image size-large"><a href="https://www.linkedin.com/events/behindthescenesofazephyr-powere7330566369161134080/" target="_blank" rel=" noreferrer noopener"><img decoding="async" width="1024" height="576" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/devicetree-lsp-1024x576.jpg" alt="Devicetree Editing Superpowers with LSP // Zephy Tech Talk #025" class="wp-image-11311" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/devicetree-lsp-1024x576.jpg 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/devicetree-lsp-300x169.jpg 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/devicetree-lsp-768x432.jpg 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/devicetree-lsp-1536x864.jpg 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/devicetree-lsp-1200x675.jpg 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/devicetree-lsp.jpg 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>
</div>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star#introducing-support-for-renesas-rx">Introducing support for Renesas RX</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star#video-updates">Video updates</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star#simplifying-downstream-patch-management-with-west-patch">Simplifying downstream patch management with west patch</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star#new-boards-and-socs">New boards and SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star#mqtt-based-sensor-actuator-code-sample">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="introducing-support-for-renesas-rx">Introducing support for Renesas RX</h2>



<figure class="wp-block-image size-full"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/rx.png"><img decoding="async" width="928" height="384" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/rx.png" alt="" class="wp-image-11326" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/rx.png 928w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/rx-300x124.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/rx-768x318.png 768w" sizes="(max-width: 928px) 100vw, 928px" /></a></figure>



<p>The <strong>Renesas RX</strong> family is a line of 32-bit microcontrollers from Renesas Electronics which is positioned as an alternative to Arm Cortex-M.</p>



<p>I personally have no first-hand experience with this architecture, but it seems to be pretty competitive with regards to pure <strong>performance</strong>, as well as <strong>power efficiency</strong>. Renesas RX MCUs are a pretty popular choice in applications such as industrial automation, motor control, and healthcare.</p>



<p>It&#8217;s not often that Zephyr adds support for a new processor architecture, so let&#8217;s celebrate! Also worth noting that the <strong>Zephyr SDK 0.17.1</strong>, which was <a href="https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.17.1" target="_blank" rel="noreferrer noopener">just released</a>, provides RX toolchains which you can use to easily build your first apps for the <a href="https://docs.zephyrproject.org/latest/boards/qemu/rx/doc/index.html" target="_blank" rel="noreferrer noopener">QEMU board</a> or the <a href="https://docs.zephyrproject.org/latest/boards/renesas/rsk_rx130/doc/index.html" target="_blank" rel="noreferrer noopener">Renesas Starter Kit for RX130</a>.</p>



<h2 class="wp-block-heading" id="video-updates">Video updates</h2>



<p>Zephyr has been shipping with video support for a long time, but over the last year or so, this area has regained interest from various parties and has been incredibly active.</p>



<ul class="wp-block-list">
<li>A new <strong>Video Control Framework</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/82158" target="_blank" rel="noreferrer noopener">#82158</a>) is available, providing a standardized way to manage video device parameters.</li>



<li>A <strong>Video Shell</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88566" target="_blank" rel="noreferrer noopener">#88566</a>) was added, offering command-line utilities for interacting with video devices.</li>



<li>Added support for many more Bayer, RGB, and YUV pixel formats (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88817" target="_blank" rel="noreferrer noopener">#88817</a>).</li>



<li>Common CCI (Camera Control Interface) utilities (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87935" target="_blank" rel="noreferrer noopener">#87935</a>).</li>
</ul>



<h2 class="wp-block-heading" id="simplifying-downstream-patch-management-with-west-patch">Simplifying downstream patch management with <code>west patch</code></h2>



<p>The <code><strong>west patch</strong></code> command is not new, but it&#8217;s only recently that documentation for it was added, so I thought it was worth mentioning.</p>



<p>This command allows you to <strong>organize and apply patches to Zephyr or Zephyr modules in a controlled manner</strong>, by means of a <code>patches.yml</code> file that stores metadata about the various patches. It allows, for example, to indicate whether a given patch corresponds to an open pull request.</p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: yaml; title: ; notranslate">
patches:
  - path: zephyr/my-zephyr-change.patch
    sha256sum: c676cd376a4d19dc95ac4e44e179c253853d422b758688a583bb55c3c9137035
    module: zephyr
    author: Obi-Wan Kenobi
    email: obiwan@jedi.org
    date: 2025-05-04
    upstreamable: false
    comments: |
      An application-specific change we need for Zephyr.
  - path: bootloader/mcuboot/my-tweak-for-mcuboot.patch
    sha256sum: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
    module: mcuboot
    author: Darth Sidious
    email: sidious@sith.org
    date: 2025-05-04
    merge-pr: https://github.com/zephyrproject-rtos/zephyr/pull/&lt;pr-number&gt;
    issue: https://github.com/zephyrproject-rtos/zephyr/issues/&lt;issue-number&gt;
    merge-status: true
    merge-commit: 1234567890abcdef1234567890abcdef12345678
    merge-date: 2025-05-06
    apply-command: git apply
    comments: |
      A change to mcuboot that has been merged already. We can remove this
      patch when we are ready to upgrade to the next Zephyr release.
</pre></div>


<h2 class="wp-block-heading" id="new-boards-and-socs">New boards and SoCs</h2>



<p>Some of the other boards and SoCs that caught my attention. As a reminder, there&#8217;s a new board being added to Zephyr almost every day, so the list below is not exhaustive!</p>



<ul class="wp-block-list">
<li>Initial support for the Cortex-R52 based <strong>Versal Gen 2 SoC RPU</strong> (Real-time Processing Unit) (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88667" target="_blank" rel="noreferrer noopener">#88667</a>).</li>



<li><strong><a href="https://docs.zephyrproject.org/latest/boards/waveshare/esp32s3_matrix/doc/index.html">ESP32-S3-Matrix</a></strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/84634" target="_blank" rel="noreferrer noopener">#84634</a>).</li>



<li><strong>Ezurio <a href="https://docs.zephyrproject.org/latest/boards/ezurio/bl54l15_dvk/doc/bl54l15_dvk.html">BL54L10/L15</a>/<a href="https://docs.zephyrproject.org/latest/boards/ezurio/bl54l15u_dvk/doc/bl54l15u_dvk.html">L15u</a> DVK</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87525" target="_blank" rel="noreferrer noopener">#87525</a>).</li>



<li><strong><a href="https://docs.zephyrproject.org/latest/boards/st/stm32u5g9j_dk1/doc/index.html" target="_blank" rel="noreferrer noopener">STM32U5G9J-DK1</a></strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88550" target="_blank" rel="noreferrer noopener">#88550</a>)&nbsp;and&nbsp;<strong><a href="https://docs.zephyrproject.org/latest/boards/st/stm32u5g9j_dk2/doc/index.html" target="_blank" rel="noreferrer noopener">DK2</a></strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88787" target="_blank" rel="noreferrer noopener">#88787</a>).</li>



<li>Texas Instruments <strong>MSPM0 SoC series</strong> and <strong><a href="https://docs.zephyrproject.org/latest/boards/ti/lp_mspm0g3507/doc/index.html" target="_blank" rel="noreferrer noopener">MSPM0G3507 Launchpad</a></strong> board  (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88725" target="_blank" rel="noreferrer noopener">#88725</a>).</li>



<li><a href="https://docs.zephyrproject.org/latest/boards/pjrc/teensy4/doc/index.html"><strong>Teensy Micromod</strong></a> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88502" target="_blank" rel="noreferrer noopener">#88502</a>).</li>



<li>Several new WCH—remember? I already mentioned these crazy cheap RISC-V MCUs a while back—boards and correspoiding SoCs:
<ul class="wp-block-list">
<li>CH32V203 SoC and <strong><a href="https://docs.zephyrproject.org/latest/boards/weact/bluepillplus_ch32v203/doc/index.html">WeactStudio CH32V203 Blue Pill plus</a></strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87490" target="_blank" rel="noreferrer noopener">#87490</a>).</li>



<li>CH32V00x series and <strong><a href="https://docs.zephyrproject.org/latest/boards/wch/ch32v006evt/doc/index.html">CH32V006EVT</a></strong> (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/89361" target="_blank" rel="noreferrer noopener">#89361</a>).</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li>New <strong>sensor drivers</strong>:
<ul class="wp-block-list">
<li><strong>PAJ7620 gesture sensor</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/85351" target="_blank" rel="noreferrer noopener">#85351</a>),</li>



<li><strong>PZEM004T AC energy monitor</strong> (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/89123" target="_blank" rel="noreferrer noopener">#89123</a>),</li>



<li><strong>WSEN-ITDS accelerometer</strong> (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/86213" target="_blank" rel="noreferrer noopener">#86213</a>),</li>



<li><strong>RM3100 magnetomete</strong>r (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/89058" target="_blank" rel="noreferrer noopener">#89058</a>).</li>
</ul>
</li>



<li>Numerous new <strong>display controller drivers</strong> were introduced, including <strong>SH1122</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87431" target="_blank" rel="noreferrer noopener">#87431</a>), <strong>SSD1320</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87169" target="_blank" rel="noreferrer noopener">#87169</a>), <strong>SSD1331</strong> (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/88178" target="_blank" rel="noreferrer noopener">#88178</a>), <strong>SSD1351</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/89566" target="_blank" rel="noreferrer noopener">#89566</a>), and <strong>ST75256</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87584" target="_blank" rel="noreferrer noopener">#87584</a>), all by @VynDragon <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li><strong>Auxiliary Display</strong>: Driver for common&nbsp;<strong>7-segment displays </strong>(PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68501" target="_blank" rel="noreferrer noopener">#68501</a>), and&nbsp;<strong>LCD1602</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/89654" target="_blank" rel="noreferrer noopener">#89654</a>).</li>



<li>New <strong>UART bridge</strong> driver (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/89110" target="_blank" rel="noreferrer noopener">#89110</a>) allows to configure bridge between two serial devices, for example a USB CDC-ACM serial port and a hardware UART.</li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; title: ; notranslate">
uart-bridge {
         compatible = &quot;zephyr,uart-bridge&quot;;
         peers = &lt;&amp;cdc_acm_uart0 &amp;uart1&gt;;
};
</pre></div>


<ul class="wp-block-list">
<li>Support for <strong>ADI TMC51xx stepper motor</strong> controller (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88350" target="_blank" rel="noreferrer noopener">#88350</a>)</li>



<li><strong>USB Device Controller</strong> for Atmel <strong>SAM0</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/86814" target="_blank" rel="noreferrer noopener">#86814</a>).</li>



<li><strong>AIROC Wi-Fi driver</strong> supports new devices and modules (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/86137" target="_blank" rel="noreferrer noopener">#86137</a>).</li>
</ul>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">Miscellaneous</h2>



<ul class="wp-block-list">
<li>It can sometimes be hard to keep track of all the files (.dts, .dtsi, overlays&#8230;) that make up your device&#8217;s Devicetree. The <code><strong>zephyr.dts</strong></code> file that&#8217;s generated as part of the Zephyr build now includes comments that indicate where each given node or property was last touched. It makes it much easier to find that damn overlay that keeps having the last word <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" />  </li>
</ul>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: jscript; title: ; notranslate">
/ {
	#address-cells = &lt; 0x1 &gt;;          /* in zephyr/dts/common/skeleton.dtsi:10 */
	#size-cells = &lt; 0x1 &gt;;             /* in zephyr/dts/common/skeleton.dtsi:11 */
	model = &quot;Wio Terminal&quot;;            /* in zephyr/boards/seeed/wio_terminal/wio_terminal.dts:15 */
	compatible = &quot;seeed,wio-terminal&quot;; /* in zephyr/boards/seeed/wio_terminal/wio_terminal.dts:16 */

	/* node &#039;/chosen&#039; defined in zephyr/dts/common/skeleton.dtsi:12 */
	chosen {
		zephyr,flash-controller = &amp;nvmctrl;       /* in zephyr/dts/arm/atmel/samd5x.dtsi:52 */
		zephyr,entropy = &amp;trng;                   /* in zephyr/dts/arm/atmel/samd5x.dtsi:51 */
		zephyr,sram = &amp;sram0;                     /* in zephyr/boards/seeed/wio_terminal/wio_terminal.dts:19 */
		zephyr,flash = &amp;flash0;                   /* in zephyr/boards/seeed/wio_terminal/wio_terminal.dts:20 */
		zephyr,code-partition = &amp;code_partition;  /* in zephyr/boards/seeed/wio_terminal/wio_terminal.dts:21 */
		zephyr,display = &amp;ili9341;                /* in zephyr/boards/seeed/wio_terminal/wio_terminal.dts:22 */
		zephyr,console = &amp;board_cdc_acm_uart;     /* in zephyr/boards/common/usb/cdc_acm_serial.dtsi:9 */
		zephyr,shell-uart = &amp;board_cdc_acm_uart;  /* in zephyr/boards/common/usb/cdc_acm_serial.dtsi:10 */
		zephyr,uart-mcumgr = &amp;board_cdc_acm_uart; /* in zephyr/boards/common/usb/cdc_acm_serial.dtsi:11 */
		zephyr,bt-mon-uart = &amp;board_cdc_acm_uart; /* in zephyr/boards/common/usb/cdc_acm_serial.dtsi:12 */
		zephyr,bt-c2h-uart = &amp;board_cdc_acm_uart; /* in zephyr/boards/common/usb/cdc_acm_serial.dtsi:13 */
	};

...
</pre></div>


<ul class="wp-block-list">
<li>The <a href="https://docs.zephyrproject.org/latest/boards/index.html#">board catalog</a> now also includes <strong>shields</strong> as part of the listing. There are currently 150+ shields supported in Zephyr so it&#8217;s nice that it will now be easier to search for them more efficiently.</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="802" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-1-1024x802.png" alt="" class="wp-image-11332" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-1-1024x802.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-1-300x235.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-1-768x602.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-1-1536x1204.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-1-1200x940.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-1.png 1636w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<ul class="wp-block-list">
<li><strong>CoAP Secure (CoAPS) support</strong> has been added, allowing to use DTLS to secure CoAP communication. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65963" target="_blank" rel="noreferrer noopener">#65963</a>).</li>



<li><strong>LLEXT</strong> now has basic support for <strong>x86 architecture</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/90176" target="_blank" rel="noreferrer noopener">#90176</a>)&nbsp;as well as <strong>ARC MPU</strong> (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/89118" target="_blank" rel="noreferrer noopener">#89118</a>).</li>



<li><strong>LVGL</strong> now supports <strong>multiple displays</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/86815" target="_blank" rel="noreferrer noopener">#86815</a>).</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="411" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-1024x411.png" alt="" class="wp-image-11320" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-1024x411.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-300x120.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-768x308.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-1536x617.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image-1200x482.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/image.png 1621w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<ul class="wp-block-list">
<li>Support for <strong>Altera NIOS-II</strong> architecture has been dropped. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/89762" target="_blank" rel="noreferrer noopener">#89762</a>)</li>



<li>Added <code>XSI_SINGLE_PROCESS</code> and <code>POSIX_CLOCK_SELECTION</code> POSIX option groups (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/89068" target="_blank" rel="noreferrer noopener">#89068</a>).</li>



<li>Optimizations to the&nbsp;ZMS backend for Settings (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87792" target="_blank" rel="noreferrer noopener">#87792</a>).</li>



<li>Added&nbsp;<strong>runtime Zbus observers pool</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88834" target="_blank" rel="noreferrer noopener">#88834</a>)&nbsp;for dynamic observer registration.</li>



<li><code>west</code> now offers basic <strong><a href="https://docs.zephyrproject.org/latest/develop/west/install.html#enabling-shell-completion" target="_blank" rel="noreferrer noopener">PowerShell auto-completion</a></strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88358" target="_blank" rel="noreferrer noopener">#88358</a>)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>73 (<img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f62c.png" alt="😬" class="wp-smiley" style="height: 1em; max-height: 1em;" />) individuals</strong> who had their first pull request accepted since my last post, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/herculanodavi" target="_blank" rel="noreferrer noopener">@herculanodavi</a>, <a href="https://github.com/ZhaoQiang-b45475" target="_blank" rel="noreferrer noopener">@ZhaoQiang-b45475</a>, <a href="https://github.com/abhinavnxp" target="_blank" rel="noreferrer noopener">@abhinavnxp</a>, <a href="https://github.com/batkay" target="_blank" rel="noreferrer noopener">@batkay</a>, <a href="https://github.com/fiveohhh" target="_blank" rel="noreferrer noopener">@fiveohhh</a>, <a href="https://github.com/gudipudiramanakumar" target="_blank" rel="noreferrer noopener">@gudipudiramanakumar</a>, <a href="https://github.com/mefromac" target="_blank" rel="noreferrer noopener">@mefromac</a>, <a href="https://github.com/segerlund" target="_blank" rel="noreferrer noopener">@segerlund</a>, <a href="https://github.com/alexapostolu" target="_blank" rel="noreferrer noopener">@alexapostolu</a>, <a href="https://github.com/dsseng" target="_blank" rel="noreferrer noopener">@dsseng</a>, <a href="https://github.com/sayooj-atmosic" target="_blank" rel="noreferrer noopener">@sayooj-atmosic</a>, <a href="https://github.com/edt-alex" target="_blank" rel="noreferrer noopener">@edt-alex</a>, <a href="https://github.com/alrodlim" target="_blank" rel="noreferrer noopener">@alrodlim</a>, <a href="https://github.com/Ole2mail" target="_blank" rel="noreferrer noopener">@Ole2mail</a>, <a href="https://github.com/cfunes-pragma" target="_blank" rel="noreferrer noopener">@cfunes-pragma</a>, <a href="https://github.com/cdrask" target="_blank" rel="noreferrer noopener">@cdrask</a>, <a href="https://github.com/wjklimek1" target="_blank" rel="noreferrer noopener">@wjklimek1</a>, <a href="https://github.com/squiniou" target="_blank" rel="noreferrer noopener">@squiniou</a>, <a href="https://github.com/Kronosblaster" target="_blank" rel="noreferrer noopener">@Kronosblaster</a>, <a href="https://github.com/morishitaandre" target="_blank" rel="noreferrer noopener">@morishitaandre</a>, <a href="https://github.com/apps/dependabot" target="_blank" rel="noreferrer noopener">@dependabot[bot]</a>, <a href="https://github.com/PaulSchaetzle" target="_blank" rel="noreferrer noopener">@PaulSchaetzle</a>, <a href="https://github.com/zbas" target="_blank" rel="noreferrer noopener">@zbas</a>, <a href="https://github.com/sandro97git" target="_blank" rel="noreferrer noopener">@sandro97git</a>, <a href="https://github.com/tobiwan88" target="_blank" rel="noreferrer noopener">@tobiwan88</a>, <a href="https://github.com/jsbatch" target="_blank" rel="noreferrer noopener">@jsbatch</a>, <a href="https://github.com/gcopoix" target="_blank" rel="noreferrer noopener">@gcopoix</a>, <a href="https://github.com/TomasBarakNXP" target="_blank" rel="noreferrer noopener">@TomasBarakNXP</a>, <a href="https://github.com/mikolaj-klikowicz" target="_blank" rel="noreferrer noopener">@mikolaj-klikowicz</a>, <a href="https://github.com/AnElderlyFox" target="_blank" rel="noreferrer noopener">@AnElderlyFox</a>, <a href="https://github.com/cbrake" target="_blank" rel="noreferrer noopener">@cbrake</a>, <a href="https://github.com/shiftee" target="_blank" rel="noreferrer noopener">@shiftee</a>, <a href="https://github.com/yolaval" target="_blank" rel="noreferrer noopener">@yolaval</a>, <a href="https://github.com/FKainka" target="_blank" rel="noreferrer noopener">@FKainka</a>, <a href="https://github.com/benson0715" target="_blank" rel="noreferrer noopener">@benson0715</a>, <a href="https://github.com/ct-lt" target="_blank" rel="noreferrer noopener">@ct-lt</a>, <a href="https://github.com/Brandon-Hurst" target="_blank" rel="noreferrer noopener">@Brandon-Hurst</a>, <a href="https://github.com/hdou" target="_blank" rel="noreferrer noopener">@hdou</a>, <a href="https://github.com/jeremydick" target="_blank" rel="noreferrer noopener">@jeremydick</a>, <a href="https://github.com/bastienjauny" target="_blank" rel="noreferrer noopener">@bastienjauny</a>, <a href="https://github.com/iwasz" target="_blank" rel="noreferrer noopener">@iwasz</a>, <a href="https://github.com/duerrfk" target="_blank" rel="noreferrer noopener">@duerrfk</a>, <a href="https://github.com/ebmmy" target="_blank" rel="noreferrer noopener">@ebmmy</a>, <a href="https://github.com/araneusdiadema" target="_blank" rel="noreferrer noopener">@araneusdiadema</a>, <a href="https://github.com/srishtik2310" target="_blank" rel="noreferrer noopener">@srishtik2310</a>, <a href="https://github.com/jbr7rr" target="_blank" rel="noreferrer noopener">@jbr7rr</a>, <a href="https://github.com/mihnen" target="_blank" rel="noreferrer noopener">@mihnen</a>, <a href="https://github.com/muahmed-silabs" target="_blank" rel="noreferrer noopener">@muahmed-silabs</a>, <a href="https://github.com/leonmariotto" target="_blank" rel="noreferrer noopener">@leonmariotto</a>, <a href="https://github.com/conweek" target="_blank" rel="noreferrer noopener">@conweek</a>, <a href="https://github.com/fmoessbauer" target="_blank" rel="noreferrer noopener">@fmoessbauer</a>, <a href="https://github.com/AmaanSingh" target="_blank" rel="noreferrer noopener">@AmaanSingh</a>, <a href="https://github.com/Harry-Martin" target="_blank" rel="noreferrer noopener">@Harry-Martin</a>, <a href="https://github.com/ymleung314" target="_blank" rel="noreferrer noopener">@ymleung314</a>, <a href="https://github.com/smfebe" target="_blank" rel="noreferrer noopener">@smfebe</a>, <a href="https://github.com/dantti" target="_blank" rel="noreferrer noopener">@dantti</a>, <a href="https://github.com/meijemac" target="_blank" rel="noreferrer noopener">@meijemac</a>, <a href="https://github.com/thsieh97" target="_blank" rel="noreferrer noopener">@thsieh97</a>, <a href="https://github.com/Vijayakannan" target="_blank" rel="noreferrer noopener">@Vijayakannan</a>, <a href="https://github.com/vytvir" target="_blank" rel="noreferrer noopener">@vytvir</a>, <a href="https://github.com/kylebonnici" target="_blank" rel="noreferrer noopener">@kylebonnici</a>, <a href="https://github.com/tsi-chung" target="_blank" rel="noreferrer noopener">@tsi-chung</a>, <a href="https://github.com/yongxu-wang15" target="_blank" rel="noreferrer noopener">@yongxu-wang15</a>, <a href="https://github.com/anujdeshpande" target="_blank" rel="noreferrer noopener">@anujdeshpande</a>, <a href="https://github.com/Lorl0rd" target="_blank" rel="noreferrer noopener">@Lorl0rd</a>, <a href="https://github.com/minumn" target="_blank" rel="noreferrer noopener">@minumn</a>, <a href="https://github.com/120MF" target="_blank" rel="noreferrer noopener">@120MF</a>, <a href="https://github.com/cmm1981" target="_blank" rel="noreferrer noopener">@cmm1981</a>, <a href="https://github.com/nordic-mik7" target="_blank" rel="noreferrer noopener">@nordic-mik7</a>, <a href="https://github.com/dylanHsieh4963" target="_blank" rel="noreferrer noopener">@dylanHsieh4963</a>, <a href="https://github.com/harristomy" target="_blank" rel="noreferrer noopener">@harristomy</a>, <a href="https://github.com/hfruchet-st" target="_blank" rel="noreferrer noopener">@hfruchet-st</a>, and <a href="https://github.com/vignesh-aerlync" target="_blank" rel="noreferrer noopener">@vignesh-aerlync</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - May 23, 2025]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - May 23, 2025]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">11306</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Packet Filtering, UUIDs &#038; More</title>
		<link>https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more</link>
					<comments>https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 18 Apr 2025 15:34:21 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=10877</guid>

					<description><![CDATA[Another week, another batch of updates and improvement being made to Zephyr, with over 140 merged pull requests! Before diving into some of the highlights, I would encourage you to add the video recordings of the recent Zephyr Meetup Grenoble to your watchlist as there were quite a few interesting topics covered! Network Packet Filtering [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Another week, another batch of updates and improvement being made to Zephyr, with over 140 merged pull requests!</p>



<p>Before diving into some of the highlights, I would encourage you to add the video recordings of the recent Zephyr Meetup Grenoble to your watchlist as there were quite a few interesting topics covered!</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Zephyr Meetup Grenoble - Mar. 26, 2025" width="580" height="326" src="https://www.youtube.com/embed/videoseries?list=PLzRQULb6-ipHzxCZaWb4R6v-BHgtzV5or" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more#network-packet-filtering-updates">Network Packet Filtering Updates</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more#mqtt-based-sensor-actuator-code-sample">New UUID library</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more#new-boards-and-socs">New boards and SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more#mqtt-based-sensor-actuator-code-sample">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="network-packet-filtering-updates">Network Packet Filtering Updates</h2>



<p>It&#8217;s no secret that Zephyr&#8217;s networking stack is one of its great strengths. This week, some neat improvements to <a href="https://docs.zephyrproject.org/latest/connectivity/networking/api/net_pkt_filter.html" target="_blank" rel="noreferrer noopener"><strong>packet filtering</strong></a> have been introduced (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88544" target="_blank" rel="noreferrer noopener">#88544</a>), including <strong>support for VLAN</strong>, <strong>statistics</strong> collection for number of packets affected by filters, a <strong>shell module</strong>, and more.</p>



<p>A <a href="https://docs.zephyrproject.org/latest/samples/net/pkt_filter/README.html#net-pkt-filter" target="_blank" rel="noreferrer noopener">new code sample</a> is available and a great showcase for how you can leverage the Network Packet Filtering API (including the aforementioned improvements) to setup some filtering rules for e.g. implementing firewall functionality, network traffic control, etc.</p>



<p>For example, installing a filtering rule <strong>dropping any incoming packet larger than 200 bytes</strong> is as simple as:</p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: cpp; title: ; notranslate">
static NPF_SIZE_MAX(maxsize_200, 200);
static NPF_ETH_TYPE_MATCH(ip_packet, NET_ETH_PTYPE_IP);

static NPF_RULE(small_ip_pkt, NET_OK, ip_packet, maxsize_200);

void install_my_filter(void)
{
    npf_insert_recv_rule(&amp;npf_default_drop);
    npf_insert_recv_rule(&amp;small_ip_pkt);
}
</pre></div>


<p>The code sample actually creates multiple VLAN networks, giving an opportunity to showcase rules that only apply to some interfaces. The <code>net filter</code> shell command also conveniently shows you a snapshot of which rules are in place.</p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: bash; title: ; notranslate">
uart:~$ net filter
Rule  Type        Verdict  Tests
&#x5B; 1]  recv        OK       3    eth vlan type&#x5B;0x0800],size max&#x5B;200],iface&#x5B;2]
&#x5B; 2]  recv        OK       3    eth vlan type&#x5B;0x0800],size min&#x5B;100],iface&#x5B;3]
&#x5B; 3]  recv        OK       1    iface&#x5B;1]
&#x5B; 4]  recv        OK       2    eth vlan type&#x5B;0x0806],iface&#x5B;2]
&#x5B; 5]  recv        OK       2    eth vlan type&#x5B;0x0806],iface&#x5B;3]
&#x5B; 6]  recv        DROP     0

</pre></div>


<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">New UUID library</h2>



<p>Generating and managing unique identifiers is crucial in many applications, and can be really useful to e.g. tag sensor data samples, generate session identifiers, etc. Thanks to <a href="https://github.com/sorru94">@sorru94</a>&#8216;s work in PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/77884">#77884</a>, Zephyr now includes a&nbsp;<strong>Universally Unique Identifier (UUID) utility library</strong> implemeting <a href="https://datatracker.ietf.org/doc/html/rfc4122" target="_blank" rel="noreferrer noopener">RFC 4122</a>.</p>



<p>It provides <a href="https://docs.zephyrproject.org/latest/doxygen/html/group__uuid.html" target="_blank" rel="noreferrer noopener">functions</a> for generating UUIDs (both v4 -random- and v5 -deterministic-), comparing them, and converting UUIDs between string and binary representations.</p>



<p>Check out the <a href="https://docs.zephyrproject.org/latest/samples/subsys/uuid/README.html#uuid" target="_blank" rel="noreferrer noopener">dedicated code sample</a> for some code snippets.</p>



<h2 class="wp-block-heading" id="new-boards-and-socs">New boards and SoCs</h2>



<ul class="wp-block-list">
<li><strong><a href="https://docs.zephyrproject.org/latest/boards/renesas/rzg2lc_smarc/doc/index.html" target="_blank" rel="noreferrer noopener">Renesas RZ/G2LC SMARC EVK</a></strong>: Initial support Renesas RZ/G2LC SoC was added, alongside associated evaluation kit. The RZ/G2LC microprocessor is a dual Cortex®-A55 (1.2GHz) CPU. &nbsp;(PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/88569" target="_blank" rel="noreferrer noopener">#88569</a>).</li>



<li><strong><a href="https://docs.zephyrproject.org/latest/boards/st/nucleo_wba65ri/doc/nucleo_wba65ri.html" target="_blank" rel="noreferrer noopener">STM32 NUCLEO-WBA65RI</a></strong>: STM32WBA6 SoC is now supported, and the NUCLEO-WBA65RI is a great starting point to experiment with this ultra-low-power board (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/88407" target="_blank" rel="noreferrer noopener">#88407</a>).</li>



<li><strong><a href="https://docs.zephyrproject.org/latest/boards/nxp/frdm_mcxa153/doc/index.html" target="_blank" rel="noreferrer noopener">NXP FRDM-MCXA153</a></strong>: Added support for the NXP MCXA153 MCU and the corresponding FRDM board (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/85644" target="_blank" rel="noreferrer noopener">#85644</a>).</li>



<li><strong><a href="https://docs.zephyrproject.org/latest/boards/beagle/pocketbeagle_2/doc/index.html" target="_blank" rel="noreferrer noopener">BeagleBoard PocketBeagle 2 M4</a></strong>: The Cortex-M4F co-processor of the TI AM6232-based PocketBeagle 2 is now supported. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/87997" target="_blank" rel="noreferrer noopener">#87997</a>).</li>



<li><strong>TF-M on Nordic nRF54L10</strong>: Initial support for TF-M now available on the nRF54L10 (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/88442" target="_blank" rel="noreferrer noopener">#88442</a>).</li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li><strong>X-Powers AXP2101 Charger</strong>: The charger peripheral within this popular PMIC is now supported. The <strong>TTGO T-Watch S3</strong> directly benefits from this since it&#8217;s one of the boards supported in Zephyr that uses an AXP2101 PMIC. Note to self: order one ASAP as it is a really cool looking device and now has even more peripherals supported 🙂 (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/88125" target="_blank" rel="noreferrer noopener">#88125</a>).</li>



<li><strong>I2C Controller driver</strong> added for the <strong>WCH CH32V</strong> RISC-V family (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/87922" target="_blank" rel="noreferrer noopener">#87922</a>).</li>



<li><strong>ITE IT51xxx Watchdog</strong> timer driver for ITE EC chips (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/88470" target="_blank" rel="noreferrer noopener">#88470</a>).</li>



<li><strong>Silicon Labs SiWx91x WiFi</strong> module now supports <strong>Background Scanning</strong> and <strong>Roaming</strong> (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/87037" target="_blank" rel="noreferrer noopener">#87037</a>).</li>



<li><strong>TI SimpleLink</strong> <strong>CC23x0 SPI controller</strong> support added (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/84521" target="_blank" rel="noreferrer noopener">#84521</a>).</li>



<li><strong>RTS5912 Tachometer Sensor</strong> driver (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/86913" target="_blank" rel="noreferrer noopener">#86913</a>).</li>



<li><strong>STM32N6 USB/UDC</strong>: Support added for the USB peripheral and device controller on the STM32N6 series (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/84976" target="_blank" rel="noreferrer noopener">#84976</a>).</li>
</ul>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">Miscellaneous</h2>



<ul class="wp-block-list">
<li><strong><code>flash_area_copy()</code>&nbsp;API</strong>: A new helper function,&nbsp;<code><a href="https://docs.zephyrproject.org/latest/doxygen/html/group__flash__area__api.html#gaa50bb1b455a9004f9c24e4af9fd74cd7" target="_blank" rel="noreferrer noopener">flash_area_copy()</a></code>, was added to the flash map API, simplifying the process of copying data between partitions (e.g., for firmware updates) (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/84604" target="_blank" rel="noreferrer noopener">#84604</a>).</li>



<li><strong>Xtensa Userspace &amp; Syscall Improvements</strong>: Numerous fixes and enhancements were merged for userspace support and system call handling on the Xtensa architecture (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/88531" target="_blank" rel="noreferrer noopener">#88531</a>).</li>



<li><strong>LoRaWAN Link Check</strong>: Support for the standard&nbsp;<code>LinkCheckReq</code>/<code>LinkCheckAns</code>&nbsp;MAC commands has been added to the LoRaWAN subsystem (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/87828" target="_blank" rel="noreferrer noopener">#87828</a>).</li>



<li><strong>Kernel Constructor Handling</strong>: Internal handling of C++ constructors (<code>.ctors</code>) and&nbsp;<code>.init_array</code>&nbsp;has been unified and simplified (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/74700" target="_blank" rel="noreferrer noopener">#74700</a>).</li>



<li><strong>New CRC Algorithm</strong>: Support for the <a href="https://docs.zephyrproject.org/latest/doxygen/html/group__crc.html#ggabc40e4ffd6da1175eb8ee8573a527edda5d04a93660d113893b7cc27ba48ba25b" target="_blank" rel="noreferrer noopener">CRC-32K/4.2</a> algorithm was added (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/81558" target="_blank" rel="noreferrer noopener">#81558</a>).</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>4 individuals</strong> who had their first pull request accepted this week, 💙 🙌: <a href="https://github.com/tiennguyenzg" target="_blank" rel="noreferrer noopener">@tiennguyenzg</a>, <a href="https://github.com/apni2" target="_blank" rel="noreferrer noopener">@apni2</a>, <a href="https://github.com/tpambor" target="_blank" rel="noreferrer noopener">@tpambor</a>, and <a href="https://github.com/dhanquna" target="_blank" rel="noreferrer noopener">@dhanquna</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[zephyr-weekly-2025-apr-18]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - Apr. 18, 2025]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">10877</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Apr. 11, 2025</title>
		<link>https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025</link>
					<comments>https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 11 Apr 2025 16:45:44 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=10730</guid>

					<description><![CDATA[Hello, Zephyr enthusiasts! It&#8217;s been a couple of busy weeks as we move further into the Zephyr 4.2 development cycle. Let&#8217;s dive into some of the significant additions and improvements merged over the past couple weeks. New CI servers are blazing fast There are literally hundreds of pull requests being submitted to Zephyr every week. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Hello, Zephyr enthusiasts! It&#8217;s been a couple of busy weeks as we move further into the Zephyr 4.2 development cycle. Let&#8217;s dive into some of the significant additions and improvements merged over the past couple weeks.</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025#new-ci-servers-are-blazing-fast">New CI servers are blazing fast</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025#twister-harness-for-power-measurement">Twister harness for power measurement </a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025#massive-improvement-to-bluetooth-hands-free-profile-hfp-1">Bluetooth Hands-Free Profile (HFP) improvements</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025#mqtt-based-sensor-actuator-code-sample">New boards and SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025#mqtt-based-sensor-actuator-code-sample">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="new-ci-servers-are-blazing-fast">New CI servers are blazing fast</h2>



<p>There are literally <strong>hundreds of pull requests</strong> being submitted to Zephyr every week. We&#8217;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.</p>



<p>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 <strong>Hetzner</strong> as our new provider, and we now have a farm of very beefy AMD EPYC<img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Genoa 9454P (48 cores / 96 threads!) powered servers that is significantly speeding up the times it takes for pull requests to go through CI (<strong>from several hours before to just about 20 minutes now</strong>, in most cases).</p>



<p>Interestingly, GitHub <a href="https://github.blog/changelog/2025-04-09-github-actions-hosted-runner-fleet-now-incudes-96-vcpu-larger-runner/" target="_blank" rel="noreferrer noopener">just announced</a> this week that they&#8217;re making <strong>96 vCPU runners</strong> generally available. Priced at <strong>$0.384 per minute</strong> (!) of usage, it&#8217;s a good reminder that Zephyr&#8217;s shared development model, with financial support from its member companies, brings a lot of &#8220;free&#8221; benefits to the community at large.</p>



<h2 class="wp-block-heading" id="twister-harness-for-power-measurement">Twister harness for power measurement </h2>



<p>Testing and validating <strong>power consumption of embedded systems</strong> is often a very manual and time-consuming task.</p>



<p>A new <code>power</code> harness was recently added to Twister, enabling automated power measurement and validation during test runs. As a reminder, a <a href="https://docs.zephyrproject.org/latest/develop/test/twister.html#:~:text=support%20being%20skipped.-,harness,-%3A%20%3Cstring%3E" target="_blank" rel="noreferrer noopener">Twister harness</a> is basically responsible for determining whether a given test passes or not. For example, one would often use the <code>console</code> harness to validate console output against e.g. a regular expression to confirm an application is working as expected.</p>



<p>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 <a href="https://www.st.com/resource/en/user_manual/um2269-getting-started-with-powershield-firmware-stmicroelectronics.pdf">PowerShield</a>) to measure the current drawn by the device under test, and to express some &#8220;rules&#8221; as to what&#8217;s considered success or failure (ex. to ensure the peak consumption never goes above a given value).</p>



<p>The pull request that introduced this new feature (<a href="https://github.com/zephyrproject-rtos/zephyr/pull/85130" target="_blank" rel="noreferrer noopener">#85130</a>) 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&#8217;t spent a lot of time digging into this new feature just yet but I would be really curious to see people start <strong>extending it to support other popular power monitors</strong> such as Nordic&#8217;s PPK2, JouleScope, etc.</p>



<h2 class="wp-block-heading" id="massive-improvement-to-bluetooth-hands-free-profile-hfp-1">Bluetooth Hands-Free Profile (HFP) improvements</h2>



<p><a href="https://github.com/zephyrproject-rtos/zephyr/pull/77694" target="_blank" rel="noreferrer noopener">PR #77694</a> has recently been merged and it brings a pretty significant update to the already supported <strong>Bluetooth Hands-Free Profile (HFP)</strong> and adds support for features such as remote volume control, caller ID, memory dialing, and more (it&#8217;s over 11,000 lines of code that were added!). </p>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">New boards and SoCs</h2>



<p>As always, way too many boards added so I am focusing on just a few <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>


<div class="wp-block-image">
<figure class="alignleft size-medium"><img loading="lazy" decoding="async" width="300" height="300" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/stm32mp135f_dk-300x300.webp" alt="" class="wp-image-10760" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/stm32mp135f_dk-300x300.webp 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/stm32mp135f_dk-150x150.webp 150w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/stm32mp135f_dk-768x768.webp 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/stm32mp135f_dk.webp 800w" sizes="auto, (max-width: 300px) 100vw, 300px" /><figcaption class="wp-element-caption"><em>STM32MP135F-DK Discovery</em></figcaption></figure></div>


<ul class="wp-block-list">
<li><strong>STMicroelectronics STM32MP13</strong> micro-processor is based on Arm Cortex-A7, and a lot of work went into not only adding support for it in Zephyr—PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87687" target="_blank" rel="noreferrer noopener">#87687</a>—but basically also introducing Zephyr support for <strong>Cortex-A7</strong> in the first place!<br>Should you want to get started with Cortex-A7 on Zephyr, I guess you best bet for now is to then use the <a href="https://docs.zephyrproject.org/latest/boards/st/stm32mp135f_dk/doc/index.html" target="_blank" rel="noreferrer noopener">STM32MP135 Discovery kit</a> port which, quite naturally, was also introduced in the same PR <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li>You may or may not know that Zephyr is widely used to write <strong>Embedded Controller firmwares</strong>. For example, laptops such as <strong><a href="https://www.zephyrproject.org/portfolio/google-chromebook/" target="_blank" rel="noreferrer noopener">Chromebooks</a></strong> or <strong><a href="https://www.zephyrproject.org/portfolio/framework-laptop-13-diy-edition-amd-ryzen-7040-series/" target="_blank" rel="noreferrer noopener">Framework Laptops</a></strong> are effectively leveraging Zephyr for all kinds of low-level hardware management stuff (power management, keyboard interfacing, etc.).<br>PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87095" target="_blank" rel="noreferrer noopener">#87095</a> introduces support for ITE Tech&#8217;s <strong>IT51XXX SoC series</strong>. IT51XXX is a 32-bit RISC-V microcontroller with 128KB SRAM, 512K-1M of embedded flash, and a variety of buses and peripherals you&#8217;d expect to find on a computer motherboard (SMBus, I3C, cryptographic engine, &#8230;)</li>



<li>Two new <strong>XIAO boards</strong> from Seeed Studio: <strong><a href="https://docs.zephyrproject.org/latest/boards/seeed/xiao_ra4m1/doc/index.html" target="_blank" rel="noreferrer noopener">XIAO RA4M1</a></strong> and <strong><a href="https://docs.zephyrproject.org/latest/boards/seeed/xiao_mg24/doc/index.html" target="_blank" rel="noreferrer noopener">XIAO MG24</a></strong>.</li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li>A new MBOX driver for <strong>Arm MHUv3</strong> (<code><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/mbox/arm%2Cmhuv3.html#dtbinding-arm-mhuv3">arm,mhuv3</a></code>) 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 <a href="https://github.com/zephyrproject-rtos/zephyr/pull/82564" target="_blank" rel="noreferrer noopener">#82564</a>)<br>You can read more on Arm MHU <a href="https://documentation-service.arm.com/static/65f01fbab5e3c10fe1335edf">here</a>.</li>



<li>New <strong>sensor drivers</strong> added for:
<ul class="wp-block-list">
<li><strong>TDK ICP201XX pressure sensor</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/83914" target="_blank" rel="noreferrer noopener">#83914</a>),</li>



<li><strong>Liteon LTR329 ambient light sensor</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/85453" target="_blank" rel="noreferrer noopener">#85453</a>),</li>



<li><strong>ESP32-C6 internal temperature sensor</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87175" target="_blank" rel="noreferrer noopener">#87175</a>),</li>



<li><strong>TI DAC161S997 DAC</strong> (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/86285" target="_blank" rel="noreferrer noopener">#86285</a>),</li>



<li><strong>NXP PCF2123 RTC</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/88049" target="_blank" rel="noreferrer noopener">#88049</a>),</li>



<li><strong>PAT9136 Optical Flow Sensor</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/86747" target="_blank" rel="noreferrer noopener">#86747</a>)</li>
</ul>
</li>



<li>New driver for the <strong>Sitronix ST7701 display controller</strong> (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/85569" target="_blank" rel="noreferrer noopener">#85569</a>).</li>



<li>New <strong>Espressif LP UART driver</strong> targetting the Low Power core found on Espressif SoCs such as ESP32-C6 (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87684" target="_blank" rel="noreferrer noopener">#87684</a>)</li>



<li>New driver for the <strong>TI BQ25713 battery charger IC</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/86791" target="_blank" rel="noreferrer noopener">#86791</a>).</li>



<li>The&nbsp;<strong>Silicon Labs EUSART driver</strong>&nbsp;now supports&nbsp;Power Management, Asynchronous API, and DMA&nbsp;(PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/85796" target="_blank" rel="noreferrer noopener">#85796</a>).</li>



<li><strong>I2S support</strong>&nbsp;was added for&nbsp;<strong>Espressif ESP32 and ESP32-S2</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/83710" target="_blank" rel="noreferrer noopener">#83710</a>).</li>



<li>The&nbsp;<strong>Bosch BMA4xx accelerometer</strong>&nbsp;driver now supports&nbsp;<strong>streaming API</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/83575" target="_blank" rel="noreferrer noopener">#83575</a>).</li>
</ul>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">Miscellaneous</h2>



<ul class="wp-block-list">
<li><strong>Arduino GIGA Display Shield:</strong>&nbsp;Support for the display shield designed for the Arduino GIGA R1 board has been <a href="https://docs.zephyrproject.org/latest/boards/shields/arduino_giga_display_shield/doc/index.html">added</a> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/85569" target="_blank" rel="noreferrer noopener">#85569</a>).</li>
</ul>



<figure class="wp-block-image size-full is-style-default"><img loading="lazy" decoding="async" width="1000" height="750" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/ASX00039_00.default_1000x750.webp" alt="" class="wp-image-10764" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/ASX00039_00.default_1000x750.webp 1000w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/ASX00039_00.default_1000x750-300x225.webp 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/ASX00039_00.default_1000x750-768x576.webp 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><figcaption class="wp-element-caption">Arduino GIGA Display Shield </figcaption></figure>



<ul class="wp-block-list">
<li><strong>Coredump In-Memory Backend:</strong>&nbsp;The coredump subsystem now features an optional in-memory backend, useful for capturing crash information on systems without persistent storage (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87565" target="_blank" rel="noreferrer noopener">#87565</a>).<br>See <a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_DEBUG_COREDUMP_BACKEND_IN_MEMORY" target="_blank" rel="noreferrer noopener"><code>CONFIG_DEBUG_COREDUMP_BACKEND_IN_MEMORY</code></a>.</li>



<li>Some long overdue <strong>improvements to Zephyr&#8217;s JSON library</strong>, with better support for parsing/serializing &#8220;NaN&#8221;, &#8220;Infinity&#8221;, scientific notation, and char arrays. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/86956" target="_blank" rel="noreferrer noopener">#86956</a> &amp; <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87580" target="_blank" rel="noreferrer noopener">#87580</a>)</li>



<li>It&#8217;s know possible to <strong>suspend/resume the task watchdog</strong>, which can be useful when the system needs to go into a suspend state. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87590" target="_blank" rel="noreferrer noopener">#87590</a>)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>41 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/peterwangsz" target="_blank" rel="noreferrer noopener">@peterwangsz</a>, <a href="https://github.com/juickar" target="_blank" rel="noreferrer noopener">@juickar</a>, <a href="https://github.com/seankyer" target="_blank" rel="noreferrer noopener">@seankyer</a>, <a href="https://github.com/raulgotor" target="_blank" rel="noreferrer noopener">@raulgotor</a>, <a href="https://github.com/dereje-demant" target="_blank" rel="noreferrer noopener">@dereje-demant</a>, <a href="https://github.com/Bucknalla" target="_blank" rel="noreferrer noopener">@Bucknalla</a>, <a href="https://github.com/PicoBoy2017" target="_blank" rel="noreferrer noopener">@PicoBoy2017</a>, <a href="https://github.com/aisuneko" target="_blank" rel="noreferrer noopener">@aisuneko</a>, <a href="https://github.com/stefan-golinschi" target="_blank" rel="noreferrer noopener">@stefan-golinschi</a>, <a href="https://github.com/KwsBaer" target="_blank" rel="noreferrer noopener">@KwsBaer</a>, <a href="https://github.com/thanhthe23" target="_blank" rel="noreferrer noopener">@thanhthe23</a>, <a href="https://github.com/pir0n" target="_blank" rel="noreferrer noopener">@pir0n</a>, <a href="https://github.com/manoj-aerlync" target="_blank" rel="noreferrer noopener">@manoj-aerlync</a>, <a href="https://github.com/fimohame" target="_blank" rel="noreferrer noopener">@fimohame</a>, <a href="https://github.com/marekmaskarinec" target="_blank" rel="noreferrer noopener">@marekmaskarinec</a>, <a href="https://github.com/Yunshao-Chiang" target="_blank" rel="noreferrer noopener">@Yunshao-Chiang</a>, <a href="https://github.com/tq-delimayuki" target="_blank" rel="noreferrer noopener">@tq-delimayuki</a>, <a href="https://github.com/Pharb" target="_blank" rel="noreferrer noopener">@Pharb</a>, <a href="https://github.com/kesyog" target="_blank" rel="noreferrer noopener">@kesyog</a>, <a href="https://github.com/AdamOpenshaw" target="_blank" rel="noreferrer noopener">@AdamOpenshaw</a>, <a href="https://github.com/vbrzeski" target="_blank" rel="noreferrer noopener">@vbrzeski</a>, <a href="https://github.com/woobacca" target="_blank" rel="noreferrer noopener">@woobacca</a>, <a href="https://github.com/saimohith-google" target="_blank" rel="noreferrer noopener">@saimohith-google</a>, <a href="https://github.com/lukkelele" target="_blank" rel="noreferrer noopener">@lukkelele</a>, <a href="https://github.com/darrenlu-ambiq" target="_blank" rel="noreferrer noopener">@darrenlu-ambiq</a>, <a href="https://github.com/PeggyCienet" target="_blank" rel="noreferrer noopener">@PeggyCienet</a>, <a href="https://github.com/DavidCerrone" target="_blank" rel="noreferrer noopener">@DavidCerrone</a>, <a href="https://github.com/ivanwagner" target="_blank" rel="noreferrer noopener">@ivanwagner</a>, <a href="https://github.com/derekvalleroy" target="_blank" rel="noreferrer noopener">@derekvalleroy</a>, <a href="https://github.com/caiohbm" target="_blank" rel="noreferrer noopener">@caiohbm</a>, <a href="https://github.com/jamesturton" target="_blank" rel="noreferrer noopener">@jamesturton</a>, <a href="https://github.com/rob-robinson-14" target="_blank" rel="noreferrer noopener">@rob-robinson-14</a>, <a href="https://github.com/cjwinklhofer" target="_blank" rel="noreferrer noopener">@cjwinklhofer</a>, <a href="https://github.com/ajordanr-google" target="_blank" rel="noreferrer noopener">@ajordanr-google</a>, <a href="https://github.com/echistyakov" target="_blank" rel="noreferrer noopener">@echistyakov</a>, <a href="https://github.com/bukepo" target="_blank" rel="noreferrer noopener">@bukepo</a>, <a href="https://github.com/cichiwskyj" target="_blank" rel="noreferrer noopener">@cichiwskyj</a>, <a href="https://github.com/Tim-Wang38" target="_blank" rel="noreferrer noopener">@Tim-Wang38</a>, <a href="https://github.com/Gibson431" target="_blank" rel="noreferrer noopener">@Gibson431</a>, <a href="https://github.com/paultimke" target="_blank" rel="noreferrer noopener">@paultimke</a>, and <a href="https://github.com/robertperkel" target="_blank" rel="noreferrer noopener">@robertperkel</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - Apr. 11, 2025]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - Apr. 11, 2025]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">10730</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Mar. 28, 2025</title>
		<link>https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025</link>
					<comments>https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 28 Mar 2025 13:44:58 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=10558</guid>

					<description><![CDATA[Let&#8217;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&#8217;m of course only covering a very small portion of the tremendous activity of the project. Before diving deeper, don&#8217;t forget our upcoming [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Let&#8217;s catch up on some of the things that happened in Zephyr land <a href="https://zephyrproject.org/zephyr-rtos-4-1-is-available/">since Zephyr 4.1 was released</a> 3 weeks ago. Over 750 pull requests have already been merged so, like always, I&#8217;m of course only covering a very small portion of the tremendous activity of the project.</p>



<p>Before diving deeper, don&#8217;t forget our upcoming <strong>Zephyr Tech Talk</strong> <strong><a href="https://www.linkedin.com/events/7309928727050678274" target="_blank" rel="noreferrer noopener">next Wednesday</a></strong>, April 2, where David Brown will tell us all there is to know about Rust on Zephyr &#8212; what&#8217;s there already, what&#8217;s coming, and how you can help!</p>


<div class="wp-block-image is-style-default">
<figure class="aligncenter size-large"><a href="https://www.linkedin.com/events/7309928727050678274" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/Artboard-1-1024x576.jpg" alt="" class="wp-image-10566" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/Artboard-1-1024x576.jpg 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/Artboard-1-300x169.jpg 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/Artboard-1-768x432.jpg 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/Artboard-1-1536x864.jpg 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/Artboard-1-1200x675.jpg 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/Artboard-1.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></div>


<p>And now for your weekly-ish updates <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025#introducing-mqtt-5-0-support">Introducing MQTT 5.0 support</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025#mqtt-based-sensor-actuator-code-sample">New boards and SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025#mqtt-based-sensor-actuator-code-sample">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="introducing-mqtt-5-0-support">Introducing MQTT 5.0 support</h2>



<p>We&#8217;re getting dangerously close to reaching 90,000 issues/pull requests in the project&#8217;s GitHub repository, so it&#8217;s not often that an issue in the 20,000 range is being closed <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> This week, we just added <strong>support for MQTT 5.0</strong> (the project has of course supported MQTT 3.1 for quite a while), which was tracked in issue <a href="https://github.com/zephyrproject-rtos/zephyr/pull/21633" target="_blank" rel="noreferrer noopener">#21633</a> open on Jan. 1, 2020!</p>



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



<p>The addition of MQTT 5.0 support should mostly be transparent for existing MQTT 3.1.1 users <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">New boards and SoCs</h2>



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



<ul class="wp-block-list">
<li><a href="https://docs.zephyrproject.org/latest/boards/index.html#name=feather&amp;soc=esp32s2%2Cesp32s3" target="_blank" rel="noreferrer noopener"><strong>Adafruit ESP32S2</strong> and <strong>ESP32S3 Feather</strong></a> boards</li>



<li><strong><a href="https://docs.zephyrproject.org/latest/boards/wiznet/w5500_evb_pico2/doc/index.html" target="_blank" rel="noreferrer noopener">WizNet W5500 EVB Pico2</a></strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/84834" target="_blank" rel="noreferrer noopener">#84834</a>) and <strong><a href="https://docs.zephyrproject.org/latest/boards/pimoroni/pico_plus2/doc/index.html" target="_blank" rel="noreferrer noopener">Pimoroni Pico Plus2</a></strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/77859" target="_blank" rel="noreferrer noopener">#77859</a>) are two new options available to you if you want to play with <a href="https://docs.zephyrproject.org/latest/boards/index.html#soc=rp2350a%2Crp2350b" target="_blank" rel="noreferrer noopener">RP2350-based boards</a>.</li>



<li>Support for ADC, PWM, I2C, SPI, and TRNG has been added to <a href="https://docs.zephyrproject.org/latest/boards/arduino/uno_r4/doc/index.html" target="_blank" rel="noreferrer noopener"><strong>Arduino UNO R4</strong></a>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/85824" target="_blank" rel="noreferrer noopener">#85824</a>)</li>



<li>&#8230; and <a href="https://docs.zephyrproject.org/latest/releases/release-notes-4.2.html#new-boards" target="_blank" rel="noreferrer noopener"><span style="text-decoration: underline;">many</span> new boards</a> and SoCs added by Renesas, STMicroelectronics, Silicon Labs, TI, and others.</li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li>Add support for <strong>AXP2101</strong> power management IC, which is mostly replacing the AXP192 and is used in several popular devkits from M5Stack and others. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/82474" target="_blank" rel="noreferrer noopener">#82474</a>)</li>



<li>New driver for <strong>Bosch BMM350</strong>, a 16-bit high accuracy/low-noise magnetometer. (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/85174" target="_blank" rel="noreferrer noopener">#85174</a>)</li>



<li><strong>Vishay VEML6031 Ambient Light Sensor</strong>  (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/85818" target="_blank" rel="noreferrer noopener">#85818</a>)</li>



<li>New stepper driver for <strong>Allegro A4979</strong> microstepping motor driver (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/86620" target="_blank" rel="noreferrer noopener">#86620</a>)</li>



<li><strong>TDK ICM45686 IMU</strong> sensor (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/85963" target="_blank" rel="noreferrer noopener">#85963</a>)</li>



<li><strong>PAA3905 optical flow </strong>sensor (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/86644" target="_blank" rel="noreferrer noopener">#86644</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">Miscellaneous</h2>



<ul class="wp-block-list">
<li>The deprecated <strong>KSCAN subsystem</strong> has now been completely dropped from the codebase, as the <a href="https://docs.zephyrproject.org/latest/services/input/index.html" target="_blank" rel="noreferrer noopener"><strong>Input subsystem</strong></a> has been its replacement for quite a bit now. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/87353" target="_blank" rel="noreferrer noopener">#87353</a>)</li>



<li>A <a href="https://docs.zephyrproject.org/latest/samples/drivers/stepper/generic/README.html#stepper" target="_blank" rel="noreferrer noopener">new code sample</a> allows you to <strong>learn how to interact with stepper motors</strong> using the recently introduced Stepper subsystem. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/85757" target="_blank" rel="noreferrer noopener">#85757</a>)</li>



<li>The <strong>Zephyr Safety Working Group</strong> is making great progress gathering <strong>requirements</strong>, and you can see them at <a href="https://zephyrproject-rtos.github.io/reqmgmt/" target="_blank" rel="noreferrer noopener">https://zephyrproject-rtos.github.io/reqmgmt/</a>. Feel free to engage with the group <a href="https://github.com/zephyrproject-rtos/reqmgmt" target="_blank" rel="noreferrer noopener">through GitHub</a> or via <a href="https://github.com/zephyrproject-rtos/zephyr/wiki/Safety-Working-Group" target="_blank" rel="noreferrer noopener">mailing list / Discord</a> if you want to get involved! </li>
</ul>



<figure class="wp-block-image size-large"><a href="https://zephyrproject-rtos.github.io/reqmgmt/reqmgmt/docs/software_requirements/semaphore.html" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="739" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/screenshot-1743166650542-1024x739.png" alt="" class="wp-image-10578" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/screenshot-1743166650542-1024x739.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/screenshot-1743166650542-300x217.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/screenshot-1743166650542-768x554.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/screenshot-1743166650542-1536x1109.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/screenshot-1743166650542-2048x1479.png 2048w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/screenshot-1743166650542-1200x866.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/screenshot-1743166650542-1980x1430.png 1980w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>48 individuals</strong> who had their first pull request accepted since Zephyr 4.1 was released, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/Abd002" target="_blank" rel="noreferrer noopener">@Abd002</a>, <a href="https://github.com/yyounxp" target="_blank" rel="noreferrer noopener">@yyounxp</a>, <a href="https://github.com/lfilliot" target="_blank" rel="noreferrer noopener">@lfilliot</a>, <a href="https://github.com/leonrinkel" target="_blank" rel="noreferrer noopener">@leonrinkel</a>, <a href="https://github.com/randyscott" target="_blank" rel="noreferrer noopener">@randyscott</a>, <a href="https://github.com/realhonbo" target="_blank" rel="noreferrer noopener">@realhonbo</a>, <a href="https://github.com/mthiede-acn2" target="_blank" rel="noreferrer noopener">@mthiede-acn2</a>, <a href="https://github.com/tgcfoss" target="_blank" rel="noreferrer noopener">@tgcfoss</a>, <a href="https://github.com/skwort" target="_blank" rel="noreferrer noopener">@skwort</a>, <a href="https://github.com/rdagher" target="_blank" rel="noreferrer noopener">@rdagher</a>, <a href="https://github.com/jangalda-nsc" target="_blank" rel="noreferrer noopener">@jangalda-nsc</a>, <a href="https://github.com/MichaelFeistETC" target="_blank" rel="noreferrer noopener">@MichaelFeistETC</a>, <a href="https://github.com/elmo9999" target="_blank" rel="noreferrer noopener">@elmo9999</a>, <a href="https://github.com/ecutm1" target="_blank" rel="noreferrer noopener">@ecutm1</a>, <a href="https://github.com/nirav-agrawal" target="_blank" rel="noreferrer noopener">@nirav-agrawal</a>, <a href="https://github.com/AndreHeinemans-NXP" target="_blank" rel="noreferrer noopener">@AndreHeinemans-NXP</a>, <a href="https://github.com/XDjackieXD" target="_blank" rel="noreferrer noopener">@XDjackieXD</a>, <a href="https://github.com/m-braunschweig" target="_blank" rel="noreferrer noopener">@m-braunschweig</a>, <a href="https://github.com/rbudai98" target="_blank" rel="noreferrer noopener">@rbudai98</a>, <a href="https://github.com/MJAS1" target="_blank" rel="noreferrer noopener">@MJAS1</a>, <a href="https://github.com/DanTGL" target="_blank" rel="noreferrer noopener">@DanTGL</a>, <a href="https://github.com/sctanf" target="_blank" rel="noreferrer noopener">@sctanf</a>, <a href="https://github.com/cylin-realtek" target="_blank" rel="noreferrer noopener">@cylin-realtek</a>, <a href="https://github.com/ctourner" target="_blank" rel="noreferrer noopener">@ctourner</a>, <a href="https://github.com/WangHanChi" target="_blank" rel="noreferrer noopener">@WangHanChi</a>, <a href="https://github.com/dlim04" target="_blank" rel="noreferrer noopener">@dlim04</a>, <a href="https://github.com/verenascst" target="_blank" rel="noreferrer noopener">@verenascst</a>, <a href="https://github.com/Titan-Realtek" target="_blank" rel="noreferrer noopener">@Titan-Realtek</a>, <a href="https://github.com/Nitin-Pandey-01" target="_blank" rel="noreferrer noopener">@Nitin-Pandey-01</a>, <a href="https://github.com/ckhardin" target="_blank" rel="noreferrer noopener">@ckhardin</a>, <a href="https://github.com/Quizzarex" target="_blank" rel="noreferrer noopener">@Quizzarex</a>, <a href="https://github.com/zafersn" target="_blank" rel="noreferrer noopener">@zafersn</a>, <a href="https://github.com/thorsten-klein" target="_blank" rel="noreferrer noopener">@thorsten-klein</a>, <a href="https://github.com/sgilbert182" target="_blank" rel="noreferrer noopener">@sgilbert182</a>, <a href="https://github.com/sayooj-aerlync" target="_blank" rel="noreferrer noopener">@sayooj-aerlync</a>, <a href="https://github.com/tervonenja" target="_blank" rel="noreferrer noopener">@tervonenja</a>, <a href="https://github.com/dewitt-garmin" target="_blank" rel="noreferrer noopener">@dewitt-garmin</a>, <a href="https://github.com/MyGh64605" target="_blank" rel="noreferrer noopener">@MyGh64605</a>, <a href="https://github.com/povsel" target="_blank" rel="noreferrer noopener">@povsel</a>, <a href="https://github.com/sarchey" target="_blank" rel="noreferrer noopener">@sarchey</a>, <a href="https://github.com/etiennedm" target="_blank" rel="noreferrer noopener">@etiennedm</a>, <a href="https://github.com/phb98" target="_blank" rel="noreferrer noopener">@phb98</a>, <a href="https://github.com/petejohanson-adi" target="_blank" rel="noreferrer noopener">@petejohanson-adi</a>, <a href="https://github.com/Martdur" target="_blank" rel="noreferrer noopener">@Martdur</a>, <a href="https://github.com/ccpjboss" target="_blank" rel="noreferrer noopener">@ccpjboss</a>, <a href="https://github.com/JBarberU" target="_blank" rel="noreferrer noopener">@JBarberU</a>, <a href="https://github.com/bia-bonobo" target="_blank" rel="noreferrer noopener">@bia-bonobo</a>, and <a href="https://github.com/natto1784" target="_blank" rel="noreferrer noopener">@natto1784</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[zephyr-weekly-2025-mar-28]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - Mar. 28, 2025]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">10558</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Jan. 24, 2025</title>
		<link>https://blog.benjamin-cabe.com/2025/01/24/zephyr-weekly-update-jan-24-2025</link>
					<comments>https://blog.benjamin-cabe.com/2025/01/24/zephyr-weekly-update-jan-24-2025#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 24 Jan 2025 18:49:23 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=9849</guid>

					<description><![CDATA[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 &#38; Inclusion Survey we are conducting until the end of February. I often get feedback along the lines of &#8220;We&#8217;re an online community, so how could we have [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">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 <strong><a href="https://zephyrproject.org/diversity-survey">Zephyr Diversity &amp; Inclusion Survey</a></strong> we are conducting until the end of February.</p>



<p>I often get feedback along the lines of &#8220;We&#8217;re an online community, so how could we have a diversity issue? We don&#8217;t even know contributors&#8217; gender, color, etc.!&#8221;, 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…</p>



<p>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. <strong>Please take a few minutes to <a href="https://zephyrproject.org/diversity-survey" target="_blank" rel="noreferrer noopener">fill it out</a> and share it with your friends and colleagues</strong>. The more responses we get, the better we can understand the issues and work on improving them.</p>



<figure class="wp-block-image size-large is-style-rounded"><a href="https://zephyrproject.org/diversity-survey"><img loading="lazy" decoding="async" width="1024" height="341" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/zephyr-diversity-survey-1024x341.png" alt="A banner for &quot;Zephyr Diversity and Inclusion Survey&quot;" class="wp-image-9850" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/zephyr-diversity-survey-1024x341.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/zephyr-diversity-survey-300x100.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/zephyr-diversity-survey-768x256.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/zephyr-diversity-survey-1200x400.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/zephyr-diversity-survey.png 1500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>And now for your weekly updates <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/01/24/zephyr-weekly-update-jan-24-2025#mqtt-based-sensor-actuator-code-sample">New boards and SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/01/24/zephyr-weekly-update-jan-24-2025#new-mctp-subsystem">New MCTP subsystem</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/01/24/zephyr-weekly-update-jan-24-2025#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/01/24/zephyr-weekly-update-jan-24-2025#mqtt-based-sensor-actuator-code-sample">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">New boards and SoCs</h2>



<p>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 <strong><a href="https://docs.zephyrproject.org/latest/boards/beagle/beagley_ai/doc/index.html">BeagleY-AI</a></strong>, a pretty beefy, TI AM67A powered, board targeting the automotive market.</p>



<figure class="wp-block-image size-full"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/image.png"><img loading="lazy" decoding="async" width="600" height="338" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/image.png" alt="" class="wp-image-9855" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/image.png 600w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/image-300x169.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a><figcaption class="wp-element-caption">BeagleY-AI</figcaption></figure>



<p>But also:</p>



<ul class="wp-block-list">
<li>ST <a href="https://docs.zephyrproject.org/latest/boards/st/nucleo_f072rb/doc/index.html">Nucleo-F072RB</a>,</li>



<li><a href="https://docs.zephyrproject.org/latest/boards/we/oceanus1ev/doc/index.html">Oceanus-I EV</a> from Würth Elektronik</li>



<li>NXP <a href="https://docs.zephyrproject.org/latest/boards/nxp/mimxrt700_evk/doc/index.html" target="_blank" rel="noreferrer noopener">MIMXRT700-EVK</a></li>



<li>and many more! </li>
</ul>



<h2 class="wp-block-heading" id="new-mctp-subsystem">New MCTP subsystem</h2>



<p><a href="https://en.wikipedia.org/wiki/Management_Component_Transport_Protocol" target="_blank" rel="noreferrer noopener">MCTP</a> (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.</p>



<p>Thanks to <strong><a href="https://github.com/zephyrproject-rtos/zephyr/pull/75743">PR #75743</a></strong> by <a href="https://github.com/teburd">@teburd</a>, a new MCTP subsystem has been introduced. This subsystem leverages the capabilities of <strong><code><a href="https://github.com/openbmc/libmctp">libmctp</a></code></strong>, an open-source implementation of the MCTP protocol, and initially integrates with Zephyr&#8217;s async UART API.</p>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li><strong>Microchip 10Base-T1S Ethernet PHY </strong>driver, supporting LAN865x and LAN867x PHYs (PR<strong> <a href="https://github.com/zephyrproject-rtos/zephyr/pull/81271" target="_blank" rel="noreferrer noopener">#81271</a></strong> by <a href="https://github.com/ParthibanI17164">@ParthibanI17164</a>)</li>



<li><strong>AD4114 ADC Driver</strong>, which is a single supply, multichannel, 31.25 kSPS, 24-Bit, Sigma-Delta ADC working over SPI. (PR <strong><a href="https://github.com/zephyrproject-rtos/zephyr/pull/82816" target="_blank" rel="noreferrer noopener">#82816</a></strong> by <a href="https://github.com/pcurt">@pcurt</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">Miscellaneous</h2>



<ul class="wp-block-list">
<li>Multiple updates have been made to try and improve our <strong><a href="https://docs.zephyrproject.org/latest/contribute/contributor_expectations.html" target="_blank" rel="noreferrer noopener">Contribution Guidelines</a></strong> to clarify expectations <em>both</em> from a reviewer and contributor perspective.</li>



<li>A new <a href="https://docs.zephyrproject.org/latest/samples/net/openthread/coap/README.html" target="_blank" rel="noreferrer noopener">code sample for using OpenThread&#8217;s CoAP API</a>. </li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>37 individuals</strong> who had their first pull request accepted since the last post, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/nhutnguyenkc" target="_blank" rel="noreferrer noopener">@nhutnguyenkc</a>, <a href="https://github.com/yasinustunerg" target="_blank" rel="noreferrer noopener">@yasinustunerg</a>, <a href="https://github.com/mcuxted" target="_blank" rel="noreferrer noopener">@mcuxted</a>, <a href="https://github.com/ParthibanI17164" target="_blank" rel="noreferrer noopener">@ParthibanI17164</a>, <a href="https://github.com/ZiadElhanafy" target="_blank" rel="noreferrer noopener">@ZiadElhanafy</a>, <a href="https://github.com/jhol" target="_blank" rel="noreferrer noopener">@jhol</a>, <a href="https://github.com/tpennors" target="_blank" rel="noreferrer noopener">@tpennors</a>, <a href="https://github.com/aahmed-dewinelabs" target="_blank" rel="noreferrer noopener">@aahmed-dewinelabs</a>, <a href="https://github.com/kbidani" target="_blank" rel="noreferrer noopener">@kbidani</a>, <a href="https://github.com/KevinTangDev" target="_blank" rel="noreferrer noopener">@KevinTangDev</a>, <a href="https://github.com/nrbrook" target="_blank" rel="noreferrer noopener">@nrbrook</a>, <a href="https://github.com/felf-zhaw" target="_blank" rel="noreferrer noopener">@felf-zhaw</a>, <a href="https://github.com/kietavainen" target="_blank" rel="noreferrer noopener">@kietavainen</a>, <a href="https://github.com/granquet" target="_blank" rel="noreferrer noopener">@granquet</a>, <a href="https://github.com/srvanloon-priv" target="_blank" rel="noreferrer noopener">@srvanloon-priv</a>, <a href="https://github.com/nikolaptr" target="_blank" rel="noreferrer noopener">@nikolaptr</a>, <a href="https://github.com/CienetmarkChen" target="_blank" rel="noreferrer noopener">@CienetmarkChen</a>, <a href="https://github.com/ttwards" target="_blank" rel="noreferrer noopener">@ttwards</a>, <a href="https://github.com/narangmayank" target="_blank" rel="noreferrer noopener">@narangmayank</a>, <a href="https://github.com/Jaakko-Bit" target="_blank" rel="noreferrer noopener">@Jaakko-Bit</a>, <a href="https://github.com/Maartenwn" target="_blank" rel="noreferrer noopener">@Maartenwn</a>, <a href="https://github.com/iabdalkader" target="_blank" rel="noreferrer noopener">@iabdalkader</a>, <a href="https://github.com/DaGigabyte" target="_blank" rel="noreferrer noopener">@DaGigabyte</a>, <a href="https://github.com/ofirshe" target="_blank" rel="noreferrer noopener">@ofirshe</a>, <a href="https://github.com/pcurt" target="_blank" rel="noreferrer noopener">@pcurt</a>, <a href="https://github.com/gatzka" target="_blank" rel="noreferrer noopener">@gatzka</a>, <a href="https://github.com/CsBoBoNice" target="_blank" rel="noreferrer noopener">@CsBoBoNice</a>, <a href="https://github.com/td-pradecki" target="_blank" rel="noreferrer noopener">@td-pradecki</a>, <a href="https://github.com/ipankr" target="_blank" rel="noreferrer noopener">@ipankr</a>, <a href="https://github.com/gbmhunter" target="_blank" rel="noreferrer noopener">@gbmhunter</a>, <a href="https://github.com/lam-borg" target="_blank" rel="noreferrer noopener">@lam-borg</a>, <a href="https://github.com/wwhheerree" target="_blank" rel="noreferrer noopener">@wwhheerree</a>, <a href="https://github.com/jacob-wienecke-nxp" target="_blank" rel="noreferrer noopener">@jacob-wienecke-nxp</a>, <a href="https://github.com/sebhub" target="_blank" rel="noreferrer noopener">@sebhub</a>, <a href="https://github.com/guenzel-kinexon" target="_blank" rel="noreferrer noopener">@guenzel-kinexon</a>, <a href="https://github.com/silabs-BastienB" target="_blank" rel="noreferrer noopener">@silabs-BastienB</a>, and <a href="https://github.com/jcandkk" target="_blank" rel="noreferrer noopener">@jcandkk</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2025/01/24/zephyr-weekly-update-jan-24-2025/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/zephyr-weekly-2025-jan-24.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[zephyr-weekly-2025-jan-24]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/zephyr-weekly-2025-jan-24-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - Jan. 24, 2025]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">9849</post-id>	</item>
		<item>
		<title>2 boards you can finally use with Zephyr!</title>
		<link>https://blog.benjamin-cabe.com/2025/01/14/2-boards-you-can-finally-use-with-zephyr</link>
					<comments>https://blog.benjamin-cabe.com/2025/01/14/2-boards-you-can-finally-use-with-zephyr#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Tue, 14 Jan 2025 13:48:01 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=9664</guid>

					<description><![CDATA[Can you tell that I am a bit behind with the Zephyr &#8220;Weekly&#8221; Updates?&#8230; I am trying to think what&#8217;s the best format going forward to make sure y&#8217;all don&#8217;t miss the important changes coming out of Zephyr&#8217;s firehose and its hundreds of pull requests merged every week&#8230; while not drowning under said firehose myself [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Can you tell that I am a bit behind with the Zephyr &#8220;Weekly&#8221; Updates?&#8230; I am trying to think what&#8217;s the best format going forward to make sure y&#8217;all don&#8217;t miss the important changes coming out of Zephyr&#8217;s firehose and its hundreds of pull requests merged every week&#8230; while not drowning under said firehose myself <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> In the meantime, I will try to keep sharing blog posts as regularly as possible!</p>



<p>This week, I want to highlight <strong>two new boards</strong> (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, <strong>Raspberry Pi Pico 2</strong> and <strong>WCH CH32V003EVT</strong>, are now officially supported in Zephyr&#8230; Happy New Year!</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/01/14/2-boards-you-can-finally-use-with-zephyr#raspberry-pi-pico-2">Raspberry Pi Pico 2</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2025/01/14/2-boards-you-can-finally-use-with-zephyr#wch-ch32v003evt">WCH CH32V003EVT</a></li></ol></nav>



<h2 class="wp-block-heading" id="raspberry-pi-pico-2">Raspberry Pi Pico 2</h2>


<div class="wp-block-image">
<figure class="alignleft size-medium"><a href="https://docs.zephyrproject.org/latest/boards/raspberrypi/rpi_pico2/doc/index.html"><img loading="lazy" decoding="async" width="300" height="272" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/pico-2-300x272.webp" alt="" class="wp-image-9716" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/pico-2-300x272.webp 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/pico-2-768x697.webp 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/pico-2.webp 800w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption class="wp-element-caption">Raspberry Pi Pico 2</figcaption></figure></div>


<p>This has been a long time in the making but the latest addition to the series of <a href="https://docs.zephyrproject.org/latest/boards/index.html#vendor=raspberrypi" target="_blank" rel="noreferrer noopener">supported Raspberry Pi boards in Zephyr</a>—after the RP2040, a.k.a Pico, the Raspberry Pi 4 Model B and Raspberry Pi 5—is the <strong>Raspberry Pi Pico 2</strong> and its RP2350 dual-core microcontroller. </p>



<p>Kudos to <a href="https://github.com/ajf58">Andrew Featherstone</a> for driving this effort and to everyone else who helped get this merged upstream through testing, reviews, etc.</p>



<h2 class="wp-block-heading" id="wch-ch32v003evt">WCH CH32V003EVT</h2>



<p>RISC-V has been a hot topic in the Zephyr community pretty much from day 1, and when the <strong>WCH CH32V003</strong> 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 <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>


<div class="wp-block-image">
<figure class="alignright size-medium"><a href="https://docs.zephyrproject.org/latest/boards/wch/ch32v003evt/doc/index.html"><img loading="lazy" decoding="async" width="257" height="300" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/ch32v003evt-257x300.webp" alt="" class="wp-image-9701" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/ch32v003evt-257x300.webp 257w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/ch32v003evt.webp 382w" sizes="auto, (max-width: 257px) 100vw, 257px" /></a><figcaption class="wp-element-caption">WCH CH32V003EVT</figcaption></figure></div>


<p>In case you&#8217;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&#8230; pretty small, eh? What&#8217;s small, too, is its price: it sells for under $0.10!</p>



<p>As of last month, initial support for CH32V003 is now available, alongside the reference dev board, the <a href="https://docs.zephyrproject.org/latest/boards/wch/ch32v003evt/doc/index.html" target="_blank" rel="noreferrer noopener">CH32V003EVT</a>. 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 <a href="https://github.com/zephyrproject-rtos/zephyr/pull/82704">already</a> <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64472">lined up</a>.</p>



<p>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!</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2025/01/14/2-boards-you-can-finally-use-with-zephyr/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/zephyr-weekly-jan13-1.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[zephyr-weekly-jan13 (1)]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2025/01/zephyr-weekly-jan13-1-768x429.png"
					width="580"
					height="324" />
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">9664</post-id>	</item>
		<item>
		<title>5 Tips to Make the Most of Zephyr Documentation</title>
		<link>https://blog.benjamin-cabe.com/2024/10/25/5-tips-to-make-the-most-of-zephyr-documentation</link>
					<comments>https://blog.benjamin-cabe.com/2024/10/25/5-tips-to-make-the-most-of-zephyr-documentation#comments</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 25 Oct 2024 17:11:20 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=8702</guid>

					<description><![CDATA[It&#8217;s already feature freeze day for Zephyr 4.0, and it&#8217;s been two months since I last posted a Zephyr Weekly Update. Oops! Personal life got in the way, a baby girl joined our family since then. So, there&#8217;s my excuse! 🙂 Since it wouldn’t do justice to any of the features introduced over the past [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">It&#8217;s already <a href="https://github.com/zephyrproject-rtos/zephyr/wiki/Release-Management#release-milestone-dates" target="_blank" rel="noreferrer noopener">feature freeze day for Zephyr 4.0</a>, and it&#8217;s been two months since I last posted a Zephyr Weekly Update. <em>Oops</em>! Personal life got in the way, a baby girl joined our family since then. So, there&#8217;s my excuse! <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>Since it wouldn’t do justice to any of the features introduced over the past few months by cramming them all into one post, I decided to focus on some recent improvements to the  <strong><a href="https://docs.zephyrproject.org/latest/">Zephyr documentation</a></strong> that you ought to know about.</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/10/25/5-tips-to-make-the-most-of-zephyr-documentation#mqtt-based-sensor-actuator-code-sample">New board catalog</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/10/25/5-tips-to-make-the-most-of-zephyr-documentation#towards-zephyrpedia">Towards Zephyrpedia? <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/10/25/5-tips-to-make-the-most-of-zephyr-documentation#finding-the-right-code-sample">Finding the right code sample</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/10/25/5-tips-to-make-the-most-of-zephyr-documentation#c-api-tooltips">C API tooltips</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/10/25/5-tips-to-make-the-most-of-zephyr-documentation#where-s-the-driver-for-that-compatible">Where&#8217;s the driver for that compatible?</a></li></ol></nav>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">New board catalog</h2>



<p>There are well over 600 boards supported in Zephyr, and until very recently we didn&#8217;t really provide an easy way for someone to easily get a sense of which boards were available for a given architecture or SoC family, or from a given vendor. Instead, one would be served with a ginormous &#8220;flat&#8221; list of hundreds of boards that was really hard to navigate.</p>



<p>With the new <a href="https://docs.zephyrproject.org/latest/boards/" target="_blank" rel="noreferrer noopener"><strong>board catalog</strong></a>, you can now easily filter boards according to various criteria, and narrow down the list of 620+ boards to only the boards that you care about in just seconds.</p>



<figure class="wp-block-image size-large"><a href="https://docs.zephyrproject.org/latest/boards/#arch=arm&amp;soc=stm32f030x6%2Cstm32f030x8%2Cstm32f030xc%2Cstm32f031x6%2Cstm32f042x6%2Cstm32f051x8%2Cstm32f070xb%2Cstm32f072xb%2Cstm32f091xc%2Cstm32f098xx%2Cstm32f401xc%2Cstm32f401xe%2Cstm32f405xx%2Cstm32f407xx%2Cstm32f410rx%2Cstm32f411xe%2Cstm32f412cx%2Cstm32f412rx%2Cstm32f412vx%2Cstm32f412zx%2Cstm32f413xx%2Cstm32f415xx%2Cstm32f417xx%2Cstm32f423xx%2Cstm32f427xx%2Cstm32f429xx%2Cstm32f437xx%2Cstm32f446xx%2Cstm32f469xx%2Cstm32f722xx%2Cstm32f723xx%2Cstm32f745xx%2Cstm32f746xx%2Cstm32f750xx%2Cstm32f756xx%2Cstm32f765xx%2Cstm32f767xx%2Cstm32f769xx"><img loading="lazy" decoding="async" width="965" height="1024" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-965x1024.png" alt="" class="wp-image-8703" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-965x1024.png 965w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-283x300.png 283w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-768x815.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-1200x1274.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image.png 1428w" sizes="auto, (max-width: 965px) 100vw, 965px" /></a></figure>



<p>And more is coming! This catalog will <a href="https://github.com/zephyrproject-rtos/zephyr/pull/79754">soon</a> also allow you to do something that&#8217;s even more useful when prototyping a new project which is <strong>filtering by supported hardware capabilities</strong> (think: &#8220;I am looking for a board with a display, a Bluetooth chip, and from vendor Foo, what do you have in stock for me, Zephyr?&#8221;).</p>



<h2 class="wp-block-heading" id="towards-zephyrpedia">Towards Zephyrpedia? <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></h2>



<p>You may have noticed that the documentation page for -most- boards recently changed.</p>



<figure class="wp-block-image size-large"><a href="https://docs.zephyrproject.org/latest/boards/seeed/wio_terminal/doc/index.html"><img loading="lazy" decoding="async" width="1024" height="660" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-5-1024x660.png" alt="" class="wp-image-8711" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-5-1024x660.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-5-300x193.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-5-768x495.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-5-1536x990.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-5-1200x773.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-5.png 1698w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p><br>That new card on the side of the page, similar to what you would find on Wikipedia, is a first step towards trying to <strong>provide more structure and uniformity to the documentation of the various boards</strong> supported in Zephyr and, more importantly, to make sure that every piece of information that can automatically be deduced from things like Devicetree, or the board hardware model, is used to generate the documentation.</p>



<p>The intent is to make it way less likely that things like the <em>Supported Features</em> section of a board&#8217;s doc page get outdated, since they will be <strong>generated</strong> from a single source of truth.</p>



<h2 class="wp-block-heading" id="finding-the-right-code-sample">Finding the right code sample</h2>



<p>We have nearly 500 different <a href="https://docs.zephyrproject.org/latest/samples/" target="_blank" rel="noreferrer noopener">code samples</a> so, as you might have experienced, it can sometimes be hard to find the right sample for your needs.</p>



<p>Somewhat similar to the board catalog, you can now quickly search for samples right from the samples index page. As a lot of effort was spent carefully reviewing the description of the samples, and making sure they contain the right keywords in them, you should be able to find what you&#8217;re looking for much more easily.</p>



<p>Try it for yourself, whether you care about <em><strong>mqtt</strong></em>, <em><strong>audio</strong></em>, <em><strong>servo</strong></em>, <em><strong>battery</strong></em>, or whatever else, you will hopefully find at least one sample that will help you get going!</p>



<figure class="wp-block-image size-large"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-4.png"><img loading="lazy" decoding="async" width="1024" height="743" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-4-1024x743.png" alt="" class="wp-image-8709" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-4-1024x743.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-4-300x218.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-4-768x557.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-4-1200x871.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-4.png 1510w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>What&#8217;s also new is that the <a href="https://docs.zephyrproject.org/latest/samples/boards/nordic/battery/README.html#nrf_battery" target="_blank" rel="noreferrer noopener">README for each code sample</a> now includes a button that can <strong>directly take you to the source code</strong> of said sample on Github!</p>



<figure class="wp-block-image size-large"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-3.png"><img loading="lazy" decoding="async" width="1024" height="324" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-3-1024x324.png" alt="" class="wp-image-8708" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-3-1024x324.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-3-300x95.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-3-768x243.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-3-1536x486.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-3-1200x380.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-3.png 1744w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading" id="c-api-tooltips">C API tooltips</h2>



<p>You may have noticed that the documentation of Zephyr&#8217;s C API is not &#8220;inlined&#8221; in the main documentation page anymore, and you may now refer directly to the <a href="https://docs.zephyrproject.org/latest/doxygen/html/index.html" target="_blank" rel="noreferrer noopener">Doxygen documentation</a> to access the reference documentation of the various APIs.</p>



<p>However, in many cases you probably won&#8217;t have to leave the main Zephyr documentation since everytime an API is mentioned in the documentation, you can hover over it to get a <strong>tooltip</strong> which will directly <strong>show you the full Doxygen documentation of that API</strong>.</p>



<figure class="wp-block-image size-large"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-2.png"><img loading="lazy" decoding="async" width="1024" height="536" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-2-1024x536.png" alt="" class="wp-image-8707" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-2-1024x536.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-2-300x157.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-2-768x402.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-2-1536x803.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-2-1200x628.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-2.png 1786w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading" id="where-s-the-driver-for-that-compatible">Where&#8217;s the driver for that compatible?</h2>



<p>Often times, when adding or editing a node in your Devicetree, looking at the documentation of the binding properties is not enough to understand how the actual driver matching the node&#8217;s <em>compatible</em> makes use of the properties, and what behavior to expect. </p>



<p>From the <a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings.html" target="_blank" rel="noreferrer noopener">Devicetree bindings documentation page</a>, you may now click on the compatible you&#8217;re interested in and, alongside the documentation of the various binding properties, you can now actually <strong>go directly to the matching driver&#8217;s source code</strong> to see how it&#8217;s implemented. Handy, eh?</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/dac/adi%2Cad5672.html#dtbinding-adi-ad5672"><img loading="lazy" decoding="async" width="1024" height="430" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-1-1024x430.png" alt="" class="wp-image-8706" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-1-1024x430.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-1-300x126.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-1-768x323.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/image-1.png 1152w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></div>


<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>I am sure there are a lot more tips I could share, but I am also quite certain there are things you would like to see implemented in the documentation so please feel free to join the <strong>#documentation</strong> channel on <a href="https://chat.zephyrproject.org/" target="_blank" rel="noreferrer noopener">Discord</a> to get the conversation going! </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/10/25/5-tips-to-make-the-most-of-zephyr-documentation/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/zephyr-weekly-oct-25.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[zephyr-weekly-oct-25]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/10/zephyr-weekly-oct-25-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - Oct. 25, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">8702</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Aug. 23, 2024</title>
		<link>https://blog.benjamin-cabe.com/2024/08/23/zephyr-weekly-update-aug-23-2024</link>
					<comments>https://blog.benjamin-cabe.com/2024/08/23/zephyr-weekly-update-aug-23-2024#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 23 Aug 2024 18:03:51 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=8253</guid>

					<description><![CDATA[As there were quite a few large and significant features that landed since the last time I posted, I will use a slightly different approach this week and won&#8217;t be going in details through all the new boards, drivers, or SoCs, but will rather spend time on presenting what these new features are and how [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">As there were quite a few large and significant features that landed since the last time I posted, I will use a slightly different approach this week and won&#8217;t be going in details through all the new boards, drivers, or SoCs, but will rather spend time on presenting what these new features are and how they can be useful to you.</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/23/zephyr-weekly-update-aug-23-2024#mqtt-based-sensor-actuator-code-sample">Manage your Zephyr SDK using West</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/23/zephyr-weekly-update-aug-23-2024#new-performance-profiling-subsytem">New performance profiling subsytem</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/23/zephyr-weekly-update-aug-23-2024#mqtt-based-sensor-actuator-code-sample">HTTP Server sample gets some nice improvements</a></li></ol></nav>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">Manage your Zephyr SDK using West</h2>



<p>I can&#8217;t believe we&#8217;ve lived all this years without such a command, but I am really glad it&#8217;s now available! While you typically don&#8217;t (re-)install the Zephyr SDK everyday, this is a task which can require quite a bit of work and be error-prone. And this is even more true for Zephyr newcomers, of course.</p>



<p>With the <strong>new <code>west sdk</code> command</strong>, one can now <strong>easily manage the download and installation of the Zephyr SDK</strong>. In most cases, it will <em>just work</em><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> and will, for example, automatically look for the latest version of the SDK.</p>



<p> The Zephyr Getting Started Guide should be updated shortly to take advantage of this new cool tool, but in the meantime I really encourage you to basically have a look at the various options documented via <code>west sdk --help</code> so that you keep the tool in mind for next time you need to tinker with your Zephyr SDK! </p>



<h2 class="wp-block-heading" id="new-performance-profiling-subsytem">New performance profiling subsytem</h2>



<p>We had two Zephyr Tech Talks in the recent past where we discussed tracing and profiling (<a href="https://www.youtube.com/watch?v=PKlTP01lrHo" target="_blank" rel="noreferrer noopener">check them</a> <a href="https://www.youtube.com/watch?v=rPjZzJ3omVg" target="_blank" rel="noreferrer noopener">out</a>!) and the question that was asked first on both occasions was: <strong>what&#8217;s the performance impact on my application going to be if I enable tracing/profiling</strong>?</p>



<p>It is an important question since in most cases you don&#8217;t want the performance overhead to be such that it will completely change how your application behaves, for example due to tasks taking longer to do their job and causing changes in the scheduling.</p>



<p>A <strong>new <a href="https://docs.zephyrproject.org/latest/services/profiling/index.html" target="_blank" rel="noreferrer noopener">profiling subsystem</a></strong> has recently been introduced with a first implementation of a <strong>very lightweight profiling mechanism</strong> that samples the <strong>stack trace</strong> at regular intervals.</p>



<p>Once a given configurable period has elapsed, you are able to retrieve the captured raw information, run it through a Python script, and then directly feed it into <a href="https://github.com/brendangregg/FlameGraph/" target="_blank" rel="noreferrer noopener">FlameGraph</a> to get a visual representation of what your application has been busy doing during that time.</p>



<p>This provides you with a quick overview of what&#8217;s going on, and allows you to potentially spot unexpected bottlenecks, or a stack getting dangerously close to overflowing.</p>



<figure class="wp-block-image alignwide size-large"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-4.png"><img loading="lazy" decoding="async" width="1024" height="183" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-4-1024x183.png" alt="" class="wp-image-8256" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-4-1024x183.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-4-300x54.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-4-768x137.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-4.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">HTTP Server sample gets some nice improvements</h2>



<p>The <a href="https://docs.zephyrproject.org/latest/samples/net/sockets/http_server/README.html" target="_blank" rel="noreferrer noopener">HTTP server sample</a> has some new interesting features worth checking out, as it now serves <strong>new resources</strong> that demonstrates something closer to what you may be interested in doing for a real-life scenario.</p>



<figure class="wp-block-image size-large"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-5.png"><img loading="lazy" decoding="async" width="1007" height="1024" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-5-1007x1024.png" alt="" class="wp-image-8258" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-5-1007x1024.png 1007w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-5-295x300.png 295w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-5-768x781.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-5.png 1076w" sizes="auto, (max-width: 1007px) 100vw, 1007px" /></a></figure>



<ul class="wp-block-list"></ul>



<p>More specifically the sample now serves a &#8220;home page&#8221; that&#8217;s much more useful as before, as it exercises HTTP resource handlers that are doing more than the simple &#8220;echo&#8221; service from before. Namely, there is now:</p>



<ul class="wp-block-list">
<li>a <code>/led</code> resource that can be POSTed to and will take JSON commands allowing to toggle an LED on or off. This is also a great way to get some concrete example of how JSON can be used in combination with the HTTP server library, as it&#8217;s definitely a common serialization format <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li>an improved WebSocket showcase since the web page can now show network traffic statistics in real-time, directly streamed from the Zephyr device to the browser.</li>



<li>a new <code>/uptime</code> endpoint that serves the device uptime dynamically.</li>
</ul>



<p>Give the code sample a try, I am pretty confident this will give you some inspiration <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>23 individuals</strong> who had their first pull request accepted since the last post <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/maxdog988" target="_blank" rel="noreferrer noopener">@maxdog988</a>, <a href="https://github.com/lucien-nxp" target="_blank" rel="noreferrer noopener">@lucien-nxp</a>, <a href="https://github.com/thenguyenyf" target="_blank" rel="noreferrer noopener">@thenguyenyf</a>, <a href="https://github.com/Stan-Corellium" target="_blank" rel="noreferrer noopener">@Stan-Corellium</a>, <a href="https://github.com/Yagoor" target="_blank" rel="noreferrer noopener">@Yagoor</a>, <a href="https://github.com/tot0rokr" target="_blank" rel="noreferrer noopener">@tot0rokr</a>, <a href="https://github.com/Terezvent" target="_blank" rel="noreferrer noopener">@Terezvent</a>, <a href="https://github.com/johankraft" target="_blank" rel="noreferrer noopener">@johankraft</a>, <a href="https://github.com/epc-ake" target="_blank" rel="noreferrer noopener">@epc-ake</a>, <a href="https://github.com/deGerard" target="_blank" rel="noreferrer noopener">@deGerard</a>, <a href="https://github.com/marek14" target="_blank" rel="noreferrer noopener">@marek14</a>, <a href="https://github.com/cyberjupiter" target="_blank" rel="noreferrer noopener">@cyberjupiter</a>, <a href="https://github.com/wearyzen" target="_blank" rel="noreferrer noopener">@wearyzen</a>, <a href="https://github.com/xiaolusu" target="_blank" rel="noreferrer noopener">@xiaolusu</a>, <a href="https://github.com/bianik" target="_blank" rel="noreferrer noopener">@bianik</a>, <a href="https://github.com/zin-HXQ" target="_blank" rel="noreferrer noopener">@zin-HXQ</a>, <a href="https://github.com/haduongquang" target="_blank" rel="noreferrer noopener">@haduongquang</a>, <a href="https://github.com/krzysztofgawrys" target="_blank" rel="noreferrer noopener">@krzysztofgawrys</a>, <a href="https://github.com/KushnerovMikhail" target="_blank" rel="noreferrer noopener">@KushnerovMikhail</a>, <a href="https://github.com/tunguyen4585" target="_blank" rel="noreferrer noopener">@tunguyen4585</a>, <a href="https://github.com/GrygiriiS" target="_blank" rel="noreferrer noopener">@GrygiriiS</a>, <a href="https://github.com/esoutham-lvt" target="_blank" rel="noreferrer noopener">@esoutham-lvt</a>, and <a href="https://github.com/morihisa-momona" target="_blank" rel="noreferrer noopener">@morihisa-momona</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/08/23/zephyr-weekly-update-aug-23-2024/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/zephyr-weekly-aug-23.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[zephyr-weekly-aug-23]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/zephyr-weekly-aug-23-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - Aug. 23, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">8253</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Feeling a disturbance in the Force</title>
		<link>https://blog.benjamin-cabe.com/2024/08/09/zephyr-weekly-update-feeling-a-disturbance-in-the-force</link>
					<comments>https://blog.benjamin-cabe.com/2024/08/09/zephyr-weekly-update-feeling-a-disturbance-in-the-force#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 09 Aug 2024 17:44:00 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=8121</guid>

					<description><![CDATA[We are just a few days away from hitting 100,000 (!) commits on the main Zephyr repository, and things are not really slowing down despite the summer holidays 🙂 Let&#8217;s dive right in! New Haptics driver class It is common for interactive devices to provide haptic feedback to the user. For example, pressing widgets on [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">We are just a few days away from hitting 100,000 (!) commits on the main Zephyr repository, and things are not really slowing down despite the summer holidays <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Let&#8217;s dive right in!</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/09/zephyr-weekly-update-feeling-a-disturbance-in-the-force#mqtt-based-sensor-actuator-code-sample">New Haptics driver class</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/09/zephyr-weekly-update-feeling-a-disturbance-in-the-force#a-practical-state-machine-framework-example">A practical State Machine Framework example</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/09/zephyr-weekly-update-feeling-a-disturbance-in-the-force#socs-boards-shields">SoCs, Boards &amp; Shields</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/09/zephyr-weekly-update-feeling-a-disturbance-in-the-force#ddrivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/09/zephyr-weekly-update-feeling-a-disturbance-in-the-force#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">New Haptics driver class</h2>



<p>It is common for interactive devices to provide haptic feedback to the user. For example, pressing widgets on a touch screen may trigger gentle vibrations&nbsp;while a stronger vibration may indicate that the action was not successful. Well, as of this week, <strong>Zephyr supports haptic feedback devices</strong> through a new <a href="https://docs.zephyrproject.org/latest/hardware/peripherals/haptics.html#haptics" target="_blank" rel="noreferrer noopener">haptics driver class</a>!</p>



<p>An IC providing haptic feedback functionality is typically hooked up to a tiny motor that will vibrate when a signal is sent to it. <strong>The actual vibration pattern can be controlled in several ways</strong>: directly feeding the IC with a PWM or analogue signal, using built-in &#8220;melodies&#8221; available from the chip&#8217;s ROM (ex. &#8220;strong click&#8221;, &#8220;short double click&#8221;, etc.), etc.</p>



<p>The new haptics driver class provides a common API for starting/stopping vibrations, and for now most of the actual configuration is done through hardware-specific API. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/76343" target="_blank" rel="noreferrer noopener">#76343</a>)</p>



<p><strong>Texas Instruments DRV2605</strong> is the only driver implementing this API for now, but let&#8217;s hope we&#8217;ll get more in the near future.</p>



<p>I&#8217;ll try to prepare a short demo of this new feature for the next blog post, but you may check out <a href="https://docs.zephyrproject.org/latest/samples/drivers/haptics/drv2605/README.html" target="_blank" rel="noreferrer noopener">this code sample</a> in the meantime.</p>



<h2 class="wp-block-heading" id="a-practical-state-machine-framework-example">A practical State Machine Framework example</h2>



<p>I have mentioned Zephyr&#8217;s <a href="https://docs.zephyrproject.org/latest/services/smf/index.html"><strong>State Machine Framework</strong></a> quite a bit in the past, and I am happy to see that more and more subsystems are either transitioning to it, or considering doing so. State machines are something you definitely don&#8217;t want to get wrong, and using a proven framework can really help with making your code easier to read, test, and maintain over time.</p>



<p>We have a new <a href="https://docs.zephyrproject.org/latest/samples/subsys/smf/smf_calculator/README.html" target="_blank" rel="noreferrer noopener">very cool code sample</a> that <strong>implements a calculator</strong> with a fancy LVGL GUI and whose logic is implemented using the State Machine Framework.</p>



<p>It is really nice to see how to turn a pretty complex state machine into something that can actually be executed and hooked up to a UI. I hope this will inspire folks to look at SMF whenever they&#8217;re just about to get lost in switch/case madness <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>



<p>(PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/76465" target="_blank" rel="noreferrer noopener">#76465</a>)</p>



<figure class="wp-block-image size-full"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/smf_calculator.gif"><img loading="lazy" decoding="async" width="719" height="580" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/smf_calculator.gif" alt="" class="wp-image-8134"/></a></figure>



<h2 class="wp-block-heading" id="socs-boards-shields">SoCs, Boards &amp; Shields</h2>



<p><strong>Support has been added for the following SoCs:</strong></p>



<ul class="wp-block-list">
<li>Several SoCs from <strong>Analog Devices&#8217; DARWIN MAX326xx </strong>Series (MAX32662 , MAX32666, MAX32675). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/73578" target="_blank" rel="noreferrer noopener">#73578</a>, <a href="https://github.com/zephyrproject-rtos/zephyr/pull/73560" target="_blank" rel="noreferrer noopener">#73560</a>, <a href="https://github.com/zephyrproject-rtos/zephyr/pull/73576" target="_blank" rel="noreferrer noopener">#73576</a>)</li>



<li><strong>FLPR </strong>(Fast Lightweight Processor) RISC-V core on <strong>nRF54H20 </strong>is now supported. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/75451" target="_blank" rel="noreferrer noopener">#75451</a>)</li>



<li>Wi-Fi driver for the NXP RW612 has been added. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/76289" target="_blank" rel="noreferrer noopener">#76289</a>)</li>
</ul>



<p><strong>New boards and shields:</strong></p>



<ul class="wp-block-list">
<li>The <strong>nRF7002 EK</strong> is a versatile evaluation kit in the form of an Arduino shield that can be used in Nordic and non-Nordic host boards. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/75714" target="_blank" rel="noreferrer noopener">#75714</a>)</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-medium"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-3.png"><img loading="lazy" decoding="async" width="278" height="300" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-3-278x300.png" alt="" class="wp-image-8140" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-3-278x300.png 278w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-3.png 600w" sizes="auto, (max-width: 278px) 100vw, 278px" /></a></figure></div>


<ul class="wp-block-list">
<li>01space ESP32C3-0.42-OLED. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/74964" target="_blank" rel="noreferrer noopener">#74964</a>)</li>



<li>STM32F405 Core. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/74378" target="_blank" rel="noreferrer noopener">#74378</a>)</li>
</ul>



<h2 class="wp-block-heading" id="ddrivers">Drivers</h2>



<ul class="wp-block-list">
<li>New MBOX driver for ESP32. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/76301" target="_blank" rel="noreferrer noopener">#76301</a>)</li>



<li>New DMA driver for MAX32xxx. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/76627" target="_blank" rel="noreferrer noopener">#76627</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>Added support for <strong>Wi-Fi Device Provisioning Protocol</strong> (DPP) via hostap. DPP is a secure, simplified method for connecting devices to a Wi-Fi network without needing to share the network password directly. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/73707">#73707</a>)</li>



<li>A new <code><a href="https://docs.zephyrproject.org/latest/doxygen/html/structwifi__mgmt__ops.html#ae66901b434ab02863c0d3bd539c4b650">reset_stats()</a></code> API has been introduced to allow <strong>resetting Wi-Fi usage statistics</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/75768" target="_blank" rel="noreferrer noopener">#75768</a>)</li>



<li>New <a href="https://docs.zephyrproject.org/latest/connectivity/networking/api/coap_client.html" target="_blank" rel="noreferrer noopener">sample application</a> demonstrating how to use the <strong>CoAP client</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/76069" target="_blank" rel="noreferrer noopener">#76069</a>)</li>



<li><strong>LittleFS </strong>module has been updated to <strong>2.9.3</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/74001" target="_blank" rel="noreferrer noopener">#74001</a>)</li>



<li>POSIX
<ul class="wp-block-list">
<li>Added support for <code>_POSIX_THREAD_PRIO_PROTECT</code>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/74386" target="_blank" rel="noreferrer noopener">#74386</a>)</li>



<li>Implemented <code>readdir_r</code>. (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/74394" target="_blank" rel="noreferrer noopener">#74394</a>)</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>16 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/alexstanoev-nordic" target="_blank" rel="noreferrer noopener">@alexstanoev-nordic</a>, <a href="https://github.com/nngt88" target="_blank" rel="noreferrer noopener">@nngt88</a>, <a href="https://github.com/pyadvichuk" target="_blank" rel="noreferrer noopener">@pyadvichuk</a>, <a href="https://github.com/duynguyenxa" target="_blank" rel="noreferrer noopener">@duynguyenxa</a>, <a href="https://github.com/juliaazziz" target="_blank" rel="noreferrer noopener">@juliaazziz</a>, <a href="https://github.com/LeoBRIANDSmile" target="_blank" rel="noreferrer noopener">@LeoBRIANDSmile</a>, <a href="https://github.com/aa889788" target="_blank" rel="noreferrer noopener">@aa889788</a>, <a href="https://github.com/yiding" target="_blank" rel="noreferrer noopener">@yiding</a>, <a href="https://github.com/konrad1s" target="_blank" rel="noreferrer noopener">@konrad1s</a>, <a href="https://github.com/unsanded" target="_blank" rel="noreferrer noopener">@unsanded</a>, <a href="https://github.com/thales-nascimento" target="_blank" rel="noreferrer noopener">@thales-nascimento</a>, <a href="https://github.com/pblxptr" target="_blank" rel="noreferrer noopener">@pblxptr</a>, <a href="https://github.com/LiLongNXP" target="_blank" rel="noreferrer noopener">@LiLongNXP</a>, <a href="https://github.com/Robibobo1" target="_blank" rel="noreferrer noopener">@Robibobo1</a>, <a href="https://github.com/asingh-GiN" target="_blank" rel="noreferrer noopener">@asingh-GiN</a>, and <a href="https://github.com/00thirdeye00" target="_blank" rel="noreferrer noopener">@00thirdeye00</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/08/09/zephyr-weekly-update-feeling-a-disturbance-in-the-force/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/zephyr-weekly-aug-9.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[zephyr-weekly-aug-9]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/zephyr-weekly-aug-9-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - Aug. 9, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">8121</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Rust coming to Zephyr?</title>
		<link>https://blog.benjamin-cabe.com/2024/08/02/zephyr-weekly-update-rust-coming-to-zephyr</link>
					<comments>https://blog.benjamin-cabe.com/2024/08/02/zephyr-weekly-update-rust-coming-to-zephyr#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 02 Aug 2024 15:08:34 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=8045</guid>

					<description><![CDATA[It has been way too long since I posted a Zephyr Weekly Update, so let&#8217;s try to get back to a more regular schedule, shall we? The past few weeks have been very busy for the Zephyr community as the new Long-Term Support version of the project, Zephyr 3.7 was just released. It is a [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">It has been way too long since I posted a Zephyr Weekly Update, so let&#8217;s try to get back to a more regular schedule, shall we? The past few weeks have been very busy for the Zephyr community as the <strong>new Long-Term Support version of the project, Zephyr 3.7 was just released</strong>.</p>



<p>It is a big milestone for the project and it brings <strong>a lot of new features and improvements</strong> which I&#8217;ve been covering in details in <a href="https://www.zephyrproject.org/announcing-zephyr-3-7-new-long-term-support-release-of-zephyr-rtos/">last week&#8217;s announcement blog post</a>. I also had a lot of fun diving into some of the most significant changes and putting together <a href="https://www.youtube.com/watch?v=KbMaX69O1_0" target="_blank" rel="noreferrer noopener">this video</a> that&#8217;s packed with in-depth demos of the new HTTP Server, Precision Time Protocol integration, and more.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="What&#039;s new in Zephyr 3.7 LTS" width="580" height="326" src="https://www.youtube.com/embed/KbMaX69O1_0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>As for this week&#8217;s news, just keep reading!</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/02/zephyr-weekly-update-rust-coming-to-zephyr#mqtt-based-sensor-actuator-code-sample">Rust coming to Zephyr?</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/02/zephyr-weekly-update-rust-coming-to-zephyr#upcoming-zephyr-tech-talk">Upcoming Zephyr Tech Talk</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/02/zephyr-weekly-update-rust-coming-to-zephyr#boards-socs">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/02/zephyr-weekly-update-rust-coming-to-zephyr#ddrivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/08/02/zephyr-weekly-update-rust-coming-to-zephyr#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">Rust coming to Zephyr?</h2>



<p>The first few weeks after a major release are the perfect time for new significant features to be proposed, and this is exactly what is happening right now with the <strong>proposal to add Rust support to Zephyr</strong>.</p>



<p>RFC <a href="https://github.com/zephyrproject-rtos/zephyr/issues/65837">#65837</a> describes the bulk of the proposal and there&#8217;s now <a href="https://github.com/zephyrproject-rtos/zephyr/pull/75904" target="_blank" rel="noreferrer noopener">a number</a> <a href="https://github.com/zephyrproject-rtos/zephyr/pull/76074" target="_blank" rel="noreferrer noopener">of</a> <a href="https://github.com/zephyrproject-rtos/zephyr/pull/76500" target="_blank" rel="noreferrer noopener">pull requests</a> with actual code and documentation that I highly encourage everyone to give a try.</p>



<pre class="wp-block-code"><code>#!&#91;no_std]

use zephyr::printkln;

extern crate zephyr;

#&#91;no_mangle]
extern "C" fn rust_main() {
    printkln!("Hello world from Rust on {}",
              zephyr::kconfig::CONFIG_BOARD);
}</code></pre>



<p>I am really excited to see all the work and discussions happening around the topic as this will be my excuse to finally learn Rust! </p>



<p>Interesting, and related: as of this week, <strong><code>probe-rs</code> is a <a href="https://docs.zephyrproject.org/latest/develop/flash_debug/host-tools.html#probe-rs-debug-host-tools">new supported runner</a></strong> which you can use to flash/debug a supported board. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71627" target="_blank" rel="noreferrer noopener">#71627</a>)</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><a href="https://probe.rs/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="568" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-1024x568.png" alt="" class="wp-image-8082" style="width:469px;height:auto" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-1024x568.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-300x166.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-768x426.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image-1200x666.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/image.png 1464w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption"><strong>probe-rs</strong> is an embedded debugging and target interaction toolkit. It enables its user to program and debug microcontrollers via a debug probe.</figcaption></figure></div>


<h2 class="wp-block-heading" id="upcoming-zephyr-tech-talk">Upcoming Zephyr Tech Talk</h2>



<p>Join me on Wednesday, August 7 (3.oo pm CEST / 9.00 am EDT) for a new Zephyr Tech Talk live stream! Katarzyna Zalewska will be back on the show and we will be discussing some of the <strong>best practices for monitoring the health of IoT devices in realtime</strong>. </p>



<p>You may join us from <a href="https://www.youtube.com/live/rPjZzJ3omVg">YouTube</a> or <a href="https://www.linkedin.com/events/7218962469057167361">LinkedIn</a>, whichever you prefer <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="How to Collect and Analyze Data From Zephyr Devices // Zephyr Tech Talk #018" width="580" height="326" src="https://www.youtube.com/embed/rPjZzJ3omVg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading" id="boards-socs">Boards &amp; SoCs</h2>



<p>Not an exhaustive list, but some of the new boards and shields recently added are:</p>



<ul class="wp-block-list">
<li>Added support for the <strong>Nucleo-H503RB board</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/75590" target="_blank" rel="noreferrer noopener">#75590</a>)</li>



<li>Added support for <strong>Mikroe BLE TINY Click shield</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/76246" target="_blank" rel="noreferrer noopener">#76246</a>)</li>



<li>Added support for <strong>Adafruit Feather nrf52840 Sense</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/76135" target="_blank" rel="noreferrer noopener">#76135</a>)</li>
</ul>



<h2 class="wp-block-heading" id="ddrivers">Drivers</h2>



<ul class="wp-block-list">
<li>New driver for <strong>ST LSM9DS1</strong> 9-DOF IMU. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/73141" target="_blank" rel="noreferrer noopener">#73141</a>)</li>



<li>New RTC driver for  <strong>Micro Crystal RV-8263-C8</strong> . (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/73385" target="_blank" rel="noreferrer noopener">#73385</a>)</li>



<li>New driver for <strong>Infineon CAT1 QSPI flash</strong> controller. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/73976" target="_blank" rel="noreferrer noopener">#73976</a>)</li>



<li>New <strong>True-RNG driver for Analog Device MAX32xxx SoC series</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/74943" target="_blank" rel="noreferrer noopener">#74943</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li><strong>HTTP server</strong> now allows to <a href="https://docs.zephyrproject.org/latest/connectivity/networking/api/http_server.html#static-filesystem-resources"><strong>serve static resources directly from the file system</strong></a>. The content type of the resource is auto-guessed based on the file extension, and .gz files are also automatically treated as compressed content and HTTP headers set accordingly. Neat! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/76106" target="_blank" rel="noreferrer noopener">#76106</a>)</li>



<li><strong>Emulated UART devices</strong> can now be added to a <code>zephyr,uart-emul</code> UART controller. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/75827" target="_blank" rel="noreferrer noopener">#75827</a>)</li>



<li>New <strong>LwM2M shell command (<code>obs</code>) </strong>to dig into active observations. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/74293" target="_blank" rel="noreferrer noopener">#74293</a>)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>23 individuals</strong> who had their first pull request accepted since Zephyr 3.7 was released, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/jacobw" target="_blank" rel="noreferrer noopener">@jacobw</a>, <a href="https://github.com/bas-archembedded" target="_blank" rel="noreferrer noopener">@bas-archembedded</a>, <a href="https://github.com/dberlin" target="_blank" rel="noreferrer noopener">@dberlin</a>, <a href="https://github.com/alexstanoev-nordic" target="_blank" rel="noreferrer noopener">@alexstanoev-nordic</a>, <a href="https://github.com/maarten1C96" target="_blank" rel="noreferrer noopener">@maarten1C96</a>, <a href="https://github.com/SandraArrow" target="_blank" rel="noreferrer noopener">@SandraArrow</a>, <a href="https://github.com/Finwood" target="_blank" rel="noreferrer noopener">@Finwood</a>, <a href="https://github.com/juliaazziz" target="_blank" rel="noreferrer noopener">@juliaazziz</a>, <a href="https://github.com/LeoBRIANDSmile" target="_blank" rel="noreferrer noopener">@LeoBRIANDSmile</a>, <a href="https://github.com/Finomnis" target="_blank" rel="noreferrer noopener">@Finomnis</a>, <a href="https://github.com/anobli" target="_blank" rel="noreferrer noopener">@anobli</a>, <a href="https://github.com/gschwaer" target="_blank" rel="noreferrer noopener">@gschwaer</a>, <a href="https://github.com/WalkingTalkingPotato" target="_blank" rel="noreferrer noopener">@WalkingTalkingPotato</a>, <a href="https://github.com/florolf" target="_blank" rel="noreferrer noopener">@florolf</a>, <a href="https://github.com/thales-nascimento" target="_blank" rel="noreferrer noopener">@thales-nascimento</a>, <a href="https://github.com/mrodgers-witekio" target="_blank" rel="noreferrer noopener">@mrodgers-witekio</a>, <a href="https://github.com/VineetaNarkhede-eaton" target="_blank" rel="noreferrer noopener">@VineetaNarkhede-eaton</a>, <a href="https://github.com/GaofengZhangNXP" target="_blank" rel="noreferrer noopener">@GaofengZhangNXP</a>, <a href="https://github.com/munir-zin" target="_blank" rel="noreferrer noopener">@munir-zin</a>, <a href="https://github.com/olivier-le-sage" target="_blank" rel="noreferrer noopener">@olivier-le-sage</a>, <a href="https://github.com/00thirdeye00" target="_blank" rel="noreferrer noopener">@00thirdeye00</a>, <a href="https://github.com/nordic-pikr" target="_blank" rel="noreferrer noopener">@nordic-pikr</a>, and <a href="https://github.com/jsarha" target="_blank" rel="noreferrer noopener">@jsarha</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/08/02/zephyr-weekly-update-rust-coming-to-zephyr/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/zephyr-weekly-aug-2.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[zephyr-weekly-aug-2]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/08/zephyr-weekly-aug-2-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - Aug. 2, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">8045</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – New SoC porting guide</title>
		<link>https://blog.benjamin-cabe.com/2024/05/24/zephyr-weekly-update-new-soc-porting-guide</link>
					<comments>https://blog.benjamin-cabe.com/2024/05/24/zephyr-weekly-update-new-soc-porting-guide#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 24 May 2024 15:42:25 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=7594</guid>

					<description><![CDATA[Before diving into this week&#8217;s updates, a quick reminder about our upcoming Zephyr Tech Talk, next Thursday, May 30!We will be discussing all things tracing and profiling, and I am really looking forward to seeing lots of live demos of some of the tools available out there that can really help you understand better what&#8217;s [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Before diving into this week&#8217;s updates, a quick reminder about our <a href="https://www.linkedin.com/events/tracing-profiling-yourzephyrrto7193205170367877120/" target="_blank" rel="noreferrer noopener">upcoming Zephyr Tech Talk</a>, next Thursday, May 30!<br>We will be discussing all things <strong>tracing and profiling</strong>, and I am really looking forward to seeing lots of live demos of some of the tools available out there that can really help you understand better what&#8217;s <em>really</em> going on under the hood of your favorite RTOS, as well as potentially identify performance bottlenecks.</p>



<figure class="wp-block-image size-large"><a href="https://www.linkedin.com/events/tracing-profiling-yourzephyrrto7193205170367877120/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/016-20240530-Tracing-and-Profiling-1024x576.png" alt="" class="wp-image-7601" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/016-20240530-Tracing-and-Profiling-1024x576.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/016-20240530-Tracing-and-Profiling-300x169.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/016-20240530-Tracing-and-Profiling-768x432.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/016-20240530-Tracing-and-Profiling-1536x864.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/016-20240530-Tracing-and-Profiling-1200x675.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/016-20240530-Tracing-and-Profiling.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/24/zephyr-weekly-update-new-soc-porting-guide#mqtt-based-sensor-actuator-code-sample">MQTT-based sensor/actuator code samples</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/24/zephyr-weekly-update-new-soc-porting-guide#new-soc-porting-guide">New SoC porting guide</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/24/zephyr-weekly-update-new-soc-porting-guide#boards-socs">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/24/zephyr-weekly-update-new-soc-porting-guide#ddrivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/24/zephyr-weekly-update-new-soc-porting-guide#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="mqtt-based-sensor-actuator-code-sample">MQTT-based sensor/actuator code samples</h2>



<p>We have a <a href="https://docs.zephyrproject.org/latest/samples/net/secure_mqtt_sensor_actuator/README.html" target="_blank" rel="noreferrer noopener">new code sample</a> that might be one of the most comprehensive to date in the Zephyr tree.</p>



<p>It demonstrates how to <strong>implement a simple IoT sensor that publishes sensor data over MQTT</strong>. IoT 101, you might say, but the sample is a great showcase of the many services one needs to support such a scenario, among which:</p>



<ul class="wp-block-list">
<li>Establishing <strong>network connectivity</strong> using DHCP ;</li>



<li>Establishing a <strong>secure</strong> MQTT connection (using TLS 1.2) ;</li>



<li>Using <strong>JSON to encode sensor data</strong> and send it at a user-defined interval (would be curious to see CBOR or other encoding formats introduced as alternatives) ;</li>



<li><strong>Subscribing to user-defined topic(s)</strong> on the MQTT server, e.g. to receive commands ;</li>



<li>etc.</li>
</ul>



<h2 class="wp-block-heading" id="new-soc-porting-guide">New SoC porting guide</h2>



<p>A <a href="https://docs.zephyrproject.org/latest/hardware/porting/soc_porting.html" target="_blank" rel="noreferrer noopener">new documentation page</a> describes the process of porting a new SoC to Zephyr.</p>



<p>This is a most welcome addition, that complements the existing <a href="https://docs.zephyrproject.org/latest/hardware/porting/arch.html" target="_blank" rel="noreferrer noopener">architecture</a> and <a href="https://docs.zephyrproject.org/latest/hardware/porting/board_porting.html" target="_blank" rel="noreferrer noopener">board porting</a> guides, and will be very useful for anyone looking to add support for a new SoC to Zephyr. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69475" target="_blank" rel="noreferrer noopener">#69475</a>)</p>



<h2 class="wp-block-heading" id="boards-socs">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li>Several additions to the list of peripherals supported for <strong>Renesas Smartbond </strong>SoCs: memory controller, added power management support to the crypto and MIPI DBI driver, &#8230;  (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68023" target="_blank" rel="noreferrer noopener">#68023</a>, <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72994" target="_blank" rel="noreferrer noopener">#72994</a>, <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72819" target="_blank" rel="noreferrer noopener">#72819</a>)</li>



<li><strong>Apollo 3</strong> SoC series getting some love as well, with new counter driver (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72842" target="_blank" rel="noreferrer noopener">#72842</a>), I2C (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72913" target="_blank" rel="noreferrer noopener">#72913</a>), and watchdog (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72830" target="_blank" rel="noreferrer noopener">#72830</a>)</li>



<li>Added support for <strong>NXP Kinetis KE1xZ series</strong>. KE1xZ MCUs are based on a Cortex-M0+ core, running up to 96 MHz. These MCUs support up to 512 KB flash, 96 KB RAM, and a complete set of analog/digital features. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71670" target="_blank" rel="noreferrer noopener">#71670</a>)</li>



<li>Added support for <strong>Microchip MEC5</strong> SoC family. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72876" target="_blank" rel="noreferrer noopener">#72876</a>)</li>
</ul>



<p><strong><span style="text-decoration: underline;">New boards and shields:</span> </strong></p>



<ul class="wp-block-list">
<li>Added support for <strong>NXP FRDM-RW612</strong> board.<br>The RW612 is a highly integrated, low-power tri-radio wireless MCU with an integrated 260 MHz ARM Cortex-M33 MCU and Wi-Fi 6 + Bluetooth Low Energy (LE) 5.3 / 802.15.4 radios. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72306" target="_blank" rel="noreferrer noopener">#72306</a>)</li>



<li>Alongside KE1xZ SoC support, the <strong><a href="http://Alongside KE1xZ SoC support, the https://docs.zephyrproject.org/latest/boards/nxp/frdm_ke15z/doc/index.html is now also supported. It contains a robust TSI (touch sensing interface) module with up to 50 channels, making it highly flexible for handling touch keys." target="_blank" rel="noreferrer noopener">NXP FRDM-KE15Z</a></strong> is now also supported. It contains a robust TSI (touch sensing interface) module with up to 50 channels, making it highly flexible for handling touch keys. </li>



<li><strong>USB device</strong> controller now available for <strong>nRF54H20 DK</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72774" target="_blank" rel="noreferrer noopener">#72774</a>)</li>
</ul>



<h2 class="wp-block-heading" id="ddrivers">Drivers</h2>



<ul class="wp-block-list">
<li>It seems like the <a href="https://docs.zephyrproject.org/latest/hardware/peripherals/video.html" target="_blank" rel="noreferrer noopener">Video</a> subsystem is getting some attention recently, and it is really nice to see a new driver just landed for the <strong>OV5640 CMOS 5-Megapixel image sensor</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71854" target="_blank" rel="noreferrer noopener">#71854</a>)</li>



<li>New driver for <strong>Festo VEAA-X-3</strong> series proportional pressure regulator.  (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69047" target="_blank" rel="noreferrer noopener">#69047</a>)</li>



<li>New LED Strip driver for <strong>Texas Instruments TLC59731</strong>. TLC59731 is a 3-channel, 8-bit, PWM LED driver with single-wire interface based on the EasySet protocol. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68617" target="_blank" rel="noreferrer noopener">#68617</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>A new <code><a href="https://docs.zephyrproject.org/latest/snippets/rtt-console/README.html" target="_blank" rel="noreferrer noopener">rtt-console</a></code> <strong>snippet </strong>has been introduced to quickly switch serial console output to <strong>Segger J-Link RTT</strong>.</li>



<li>When using the <code><a href="https://docs.zephyrproject.org/latest/samples/sensor/sensor_shell/README.html" target="_blank" rel="noreferrer noopener">sensor_shell</a></code> code sample, you can now include a <strong><em>fake</em> sensor implementation</strong>, which can help when you don&#8217;t have an actual sensor at hand <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72833" target="_blank" rel="noreferrer noopener">#72833</a>)</li>



<li>You may now enable <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_EXCEPTION_STACK_TRACE_SYMTAB" target="_blank" rel="noreferrer noopener">CONFIG_EXCEPTION_STACK_TRACE_SYMTAB</a></code> to have <strong>symbol names printed in stack traces</strong> on Arm64 and RISC-V. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72973" target="_blank" rel="noreferrer noopener">#72973</a>)</li>



<li>Added a new module implementing <strong>MIPI STPv2 </strong>(System Trace Protocol). MIPI STP was developed as a generic base protocol that can be shared by multiple application-specific trace protocols. The new module can be used to decode a stream of STPv2 data. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72151" target="_blank" rel="noreferrer noopener">#72151</a>)</li>



<li>Add a <strong>modem backend statistics module</strong>.<br>Similar to how you can use kernel stats to e.g monitor how &#8220;high&#8221; your threads go, you can use this new module to keep an eye on buffer usage within the modem subsystem, and use the information to optimize their size. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72576" target="_blank" rel="noreferrer noopener">#72576</a>)</li>
</ul>



<pre class="wp-block-code"><code>uart:~$ modem_stats buffer
ppp0_rx: used at most: 124 of 2048 (6%)
ppp0_tx: used at most: 2048 of 2048 (100%)
uart@b000_rx: used at most: 233 of 4096 (5%)
uart@b000_tx: used at most: 4062 of 4096 (99%)
cmux_rx: used at most: 124 of 2048 (6%)
cmux_tx: used at most: 2047 of 2048 (99%)
dlci_1_rx: used at most: 124 of 2048 (6%)
dlci_2_rx: used at most: 25 of 1024 (2%)</code></pre>



<ul class="wp-block-list">
<li><strong>Hierarchical state-machine operations in SMF </strong>(State Machine Framework) now follow a more &#8220;<strong>UML</strong>-like&#8221; transition flow. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71729" target="_blank" rel="noreferrer noopener">#71729</a>)</li>



<li>New <code>sys_bitarray_*</code> APIs to now allow &#8220;popcount&#8221; (count how many bits are set), xor with another bitarray, as well as find the Nth bit set in a region. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72901" target="_blank" rel="noreferrer noopener">#72901</a>)</li>



<li>New Kconfig, <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_MEM_DOMAIN_ISOLATED_STACKS" target="_blank" rel="noreferrer noopener">CONFIG_MEM_DOMAIN_ISOLATED_STACKS</a></code> &#8212; on supported architectures, <strong>thread stacks within the same memory domains are now isolated</strong>, i.e. threads within the same memory domains have no access to others threads&#8217; stacks.</li>



<li>Added support for bt_disable in the ISO implementation. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72690" target="_blank" rel="noreferrer noopener">#72690</a>)</li>



<li><code>west build</code> now allows to pass the list of shield(s) you want to add to your board via the <code>--shield</code> argument &#8212; much more natural than the old way of passing <code>-DSHIELD</code> as a CMake parameter. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72720" target="_blank" rel="noreferrer noopener">#72720</a>)</li>



<li><strong>USB device</strong> &#8220;next&#8221; stack now has initial support for <strong>BOS (Binary Object Store)</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72215" target="_blank" rel="noreferrer noopener">#72215</a>)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>7 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/alex-bellon" target="_blank" rel="noreferrer noopener">@alex-bellon</a>, <a href="https://github.com/charliegilliland" target="_blank" rel="noreferrer noopener">@charliegilliland</a>, <a href="https://github.com/luqasn" target="_blank" rel="noreferrer noopener">@luqasn</a>, <a href="https://github.com/roger1wang-intel" target="_blank" rel="noreferrer noopener">@roger1wang-intel</a>, <a href="https://github.com/nicogrx" target="_blank" rel="noreferrer noopener">@nicogrx</a>, <a href="https://github.com/zaporozhets" target="_blank" rel="noreferrer noopener">@zaporozhets</a>, and <a href="https://github.com/srmnw" target="_blank" rel="noreferrer noopener">@srmnw</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/05/24/zephyr-weekly-update-new-soc-porting-guide/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/zephyr-weekly-may-24.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - May 24, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/zephyr-weekly-may-24-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - May 24, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">7594</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – LLEXT extension development made easier</title>
		<link>https://blog.benjamin-cabe.com/2024/05/17/zephyr-weekly-update-llext-extension-development-made-easier</link>
					<comments>https://blog.benjamin-cabe.com/2024/05/17/zephyr-weekly-update-llext-extension-development-made-easier#comments</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 17 May 2024 11:39:00 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=7526</guid>

					<description><![CDATA[A very cool addition this week makes the lives of LLEXT extension developers easier, and makes me think I should already start working on some nice demos for when it will be time to announce Zephyr 3.7 (which is not until late July, though!). Check this out, alongside other cool news, in this new weekly [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">A very cool addition this week makes the lives of LLEXT extension developers easier, and makes me think I should already start working on some nice demos for when it will be time to announce Zephyr 3.7 (which is not until late July, though!). Check this out, alongside other cool news, in this new weekly update <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/17/zephyr-weekly-update-llext-extension-development-made-easier#extension-developer-kit-for-llext">Extension developer kit for LLEXT</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/17/zephyr-weekly-update-llext-extension-development-made-easier#xxx">Sysbuild multi-target sample</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/17/zephyr-weekly-update-llext-extension-development-made-easier#boards-socs">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/17/zephyr-weekly-update-llext-extension-development-made-easier#ddrivers">Networking</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/17/zephyr-weekly-update-llext-extension-development-made-easier#ddrivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/17/zephyr-weekly-update-llext-extension-development-made-easier#bluetooth">Bluetooth</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/17/zephyr-weekly-update-llext-extension-development-made-easier#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="extension-developer-kit-for-llext">Extension developer kit for LLEXT</h2>



<p>Introduced with the latest Zephyr 3.6 release, the LLEXT (Linkable Loadable Extension) subsystem has been gaining a lot of traction lately.</p>



<p>In many cases, people developing the &#8220;core&#8221; of a Zephyr application designed to be extensible (e.g. a smart home gateway with a fancy display allowing for news &#8220;apps&#8221; to be added) are not the same people that will be developing the extensions (e.g. an energy monitoring or a weather forecast application, to take the previous example). LLEXT extensions as usually meant as lightweight &#8220;plugins&#8221; that use a well-controlled and limited set of APIs ; therefore, asking developers to setup a full-blown Zephyr development environment is overkill and error-prone.</p>



<p>This is where the new <strong>LLEXT Extension Developer Kit (EDK)</strong> comes in: it simplifies the development of extensions outside of the Zephyr tree, by allowing to generate an &#8220;SDK&#8221; (using <code>west build -t llext-edk</code> target) that <strong>packages all the necessary headers and compile flags </strong>relevant in the context of a given Zephyr app, effectively <strong>providing extension developers with all they need</strong> to start hacking away!</p>



<p>Try out the new <a href="https://docs.zephyrproject.org/latest/samples/subsys/llext/edk/README.html" target="_blank" rel="noreferrer noopener">EDK code sample</a> and see PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69831" target="_blank" rel="noreferrer noopener">#69831</a> for more details.</p>



<h2 class="wp-block-heading" id="xxx">Sysbuild multi-target sample</h2>



<p>As a way to make it easier to grasp the concepts behind <a href="https://docs.zephyrproject.org/latest/build/sysbuild/index.html" target="_blank" rel="noreferrer noopener">sysbuild</a>, and how it can be used to build multiple facets of your application at once (ex. the actual Zephyr application alongside an MCUboot bootloader), a new <a href="https://docs.zephyrproject.org/latest/samples/sysbuild/hello_world/README.html" target="_blank" rel="noreferrer noopener">&#8220;multitarget Hello World&#8221; code sample</a> has been introduced.</p>



<p>It showcases a classical <strong>Hello World</strong> application, except that it also includes the configuration files and explanation on how to <strong>build it and flash it for multiple targets</strong> (ex. different SoC cores), also leveraging the new hardware model and board target terminology in the process. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69652" target="_blank" rel="noreferrer noopener">#69652</a>)</p>



<h2 class="wp-block-heading" id="boards-socs">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li>New ARM architecture Kconfig options <code>CONFIG_ROMSTART_REGION_ADDRESS</code> and <code>CONFIG_ROMSTART_REGION_SIZE</code> allow to <strong>relocate the <code>rom_start</code> region</strong> (that typically contains the boot-vector data and irq vectors) <strong>to a custom region</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71684" target="_blank" rel="noreferrer noopener">#71684</a>)</li>



<li><strong>Removed limitation to 4 CPUs for SMP on x86</strong>, and also updated Zephyr kernel limitation to 32 CPUs (instead of 8) in the meantime! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/60230" target="_blank" rel="noreferrer noopener">#60230</a>)</li>



<li>Power management support added to Renesas SmartBond UART. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/62190" target="_blank" rel="noreferrer noopener">#62190</a>)</li>



<li>Power management support added to NXP RW61 SoC series. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72758" target="_blank" rel="noreferrer noopener">#72758</a>)</li>



<li>Added USB support for NXP MCX N947. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72386" target="_blank" rel="noreferrer noopener">#72386</a>)</li>



<li>Added RTC alarm support for all STM32 MCU series. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71957" target="_blank" rel="noreferrer noopener">#71957</a>)</li>
</ul>



<p><strong><span style="text-decoration: underline;">New boards and shields:</span> </strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-2.png"><img loading="lazy" decoding="async" width="426" height="333" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-2.png" alt="STWIN.box" class="wp-image-7538" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-2.png 426w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-2-300x235.png 300w" sizes="auto, (max-width: 426px) 100vw, 426px" /></a><figcaption class="wp-element-caption">STWIN.box from STMicroelectronics</figcaption></figure></div>


<ul class="wp-block-list">
<li>The <strong>STWIN.box</strong> (a.k.a. STEVAL-STWINBX1) from STMicroelectronics packs an impressive amount of sensors (accelerometer, magnetometers, MEMS microphones, &#8230;) and has Wi-Fi, Bluetooth, and NFC connectivity as well. It is now supported in Zephyr <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72723" target="_blank" rel="noreferrer noopener">#72723</a>)</li>



<li><strong>STM32H745I Discovery kit</strong> is a complete demonstration and development platform for STMicroelectronics Cortex-M4 and M7 based STM32H745XI MCU. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72510" target="_blank" rel="noreferrer noopener">#72510</a>)</li>
</ul>



<h2 class="wp-block-heading" id="ddrivers">Networking</h2>



<ul class="wp-block-list">
<li>There is now a really great <strong><a href="https://docs.zephyrproject.org/latest/connectivity/networking/api/http_server.html" target="_blank" rel="noreferrer noopener">documentation page</a> for the new HTTP server</strong>. It compliments the existing code sample quite well and really gives you all you need to know how to declare static resources, expose WebSocket endpoints, etc.</li>



<li>A new <code>net http</code> shell command gives you the ability to get a quick snapshot of the HTTP resources currently available. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72578" target="_blank" rel="noreferrer noopener">#72578</a>)</li>
</ul>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: plain; title: ; notranslate">
Host:Port       Concurrent/Backlog        Resource type   Methods         Endpoint

192.0.2.1:80    1/10                      dynamic         GET,POST        /dynamic
                                          static          GET             /
                                          websocket       GET             /

1 service and 3 resources found.
</pre></div>


<ul class="wp-block-list">
<li><strong>TLS sockets</strong> have been available and use in Zephyr for quite a while, so it was long time due that they&#8217;re no longer marked as &#8220;experimental)&#8221;. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72482" target="_blank" rel="noreferrer noopener">#72482</a>)</li>
</ul>



<h2 class="wp-block-heading" id="ddrivers">Drivers</h2>



<ul class="wp-block-list">
<li>There were <strong>several improvements made to the LED strip driver</strong> class this week, including new API function to get the length of an LED strip at runtime, which is now also a mandatory binding property alongside color-ordering. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71630" target="_blank" rel="noreferrer noopener">#71630</a>)</li>



<li><strong>I2C driver for ESP32</strong> now allows for <strong>clock speed</strong> to be configured at <strong>runtime</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72380" target="_blank" rel="noreferrer noopener">#72380</a>)</li>



<li>Added support for <strong>GPIO </strong>for <strong>Apollo3 SoCs</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72438" target="_blank" rel="noreferrer noopener">#72438</a>)</li>



<li>Added the ability to <strong>read the advanced capabilities (GETCAPS) of an I3C target</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71792" target="_blank" rel="noreferrer noopener">#71792</a>)</li>



<li>Added <strong>DAC and ADC drivers</strong> for the General Analog Unit (GAU) peripheral as found on <strong>NXP RW SoCs</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70506" target="_blank" rel="noreferrer noopener">#70506</a>)</li>



<li>New driver for <strong>Innovative Sensor Technology TSic xx6 temperature sensors</strong>. These are low-power, calibrated sensors with accuracy as high as ±0.07 °C at +20 °C. (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/70432" target="_blank" rel="noreferrer noopener">#70432</a>)</li>



<li>Added support for <strong>DS18S20 High-Precision 1-Wire Digital Thermometer</strong> (<code>maxim,ds18s20</code>) to the existing DS18B20 driver. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71286" target="_blank" rel="noreferrer noopener">#71286</a>)</li>
</ul>



<h2 class="wp-block-heading" id="bluetooth">Bluetooth</h2>



<ul class="wp-block-list">
<li><strong>Bluetooth BAP (Basic Audio Profile) shell</strong> now supports <strong>receiving audio data </strong>from e.g. a PC over USB, and <strong>encoding it</strong> using LC3 before <strong>sending it</strong>. to BAP audio streams. (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/71084" target="_blank" rel="noreferrer noopener">#71084</a>)</li>



<li>Added support for <strong>Hands-free Audio Gateway (AG)</strong>, which can be enabled using <code>CONFIG_BT_HFP_AG</code>). The audio gateway profile allows the microphone/speakers of a Bluetooth device (ex. a computer) to be used as an audio input/output device for another Bluetooth device, such as a mobile phone. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70532" target="_blank" rel="noreferrer noopener">#70532</a>)</li>



<li>Simplified Kconfig options and interface between the host and controller. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72580" target="_blank" rel="noreferrer noopener">#72580</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>I think a lot of people don&#8217;t necessarily know it, but Zephyr has a complete <a href="https://docs.zephyrproject.org/latest/services/smf/index.html" target="_blank" rel="noreferrer noopener">State Machine Framework</a> (SMF) that can greatly simplify the implementation of protocol stacks, graphical user interfaces, etc. There are a few places in Zephyr where SMF is being used, but until this week there was no dedicated sample showcasing SMF &#8220;on its own&#8221;. Thanks to an awesome contribution from Glenn Andrews, it&#8217;s not the case anymore, and I highly encourage you to <a href="https://docs.zephyrproject.org/latest/samples/subsys/smf/hsm_psicc2/README.html" target="_blank" rel="noreferrer noopener">check out this new sample</a>! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70921" target="_blank" rel="noreferrer noopener">#70921</a>)</li>



<li>A <strong>new build option</strong>, enabled via <code>CONFIG_BUILD_OUTPUT_COMPRESS_DEBUG_SECTIONS</code>, allows to <strong>compress debug sections</strong> and therefore reduce size of ELF files substantially. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72436" target="_blank" rel="noreferrer noopener">#72436</a>)</li>



<li>As part of ongoing work to move away from TinyCrypt and towards PSA (<a href="https://github.com/zephyrproject-rtos/zephyr/issues/43712" target="_blank" rel="noreferrer noopener">#43712</a>), <strong>MCUmgr switched to PSA for its crypto operations</strong> (ex. checksum and hash functions). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71947" target="_blank" rel="noreferrer noopener">#71947</a>)</li>



<li>Added initial HID device support to the USB &#8220;next&#8221; stack. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65801" target="_blank" rel="noreferrer noopener">#65801</a>)</li>



<li>Several welcome fixes and improvements were made to the <code>scripts/footprint/size_report</code> script. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72316" target="_blank" rel="noreferrer noopener">#72316</a>)</li>



<li>When using deferred logging, new <code>log_thread_trigger()</code> API allows to essentially <strong>flush the log buffer</strong> by forcing the log thread to process any pending messages immediately. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71530" target="_blank" rel="noreferrer noopener">#71530</a>)</li>



<li><strong>nRF Services library</strong> is now available for the Nordic HAL. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70245" target="_blank" rel="noreferrer noopener">#70245</a>)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>7 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/trunghieulenxp" target="_blank" rel="noreferrer noopener">@trunghieulenxp</a>, <a href="https://github.com/jlh-makeen" target="_blank" rel="noreferrer noopener">@jlh-makeen</a>, <a href="https://github.com/darkmoon32" target="_blank" rel="noreferrer noopener">@darkmoon32</a>, <a href="https://github.com/AyushKot96" target="_blank" rel="noreferrer noopener">@AyushKot96</a>, <a href="https://github.com/mstumpf585" target="_blank" rel="noreferrer noopener">@mstumpf585</a>, <a href="https://github.com/dapperlo" target="_blank" rel="noreferrer noopener">@dapperlo</a>, and <a href="https://github.com/Rafal-Nordic" target="_blank" rel="noreferrer noopener">@Rafal-Nordic</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/05/17/zephyr-weekly-update-llext-extension-development-made-easier/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/zephyr-weekly-may-17.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - May 17, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/zephyr-weekly-may-17-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - May 17, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">7526</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Always a Zephyr meetup near you!</title>
		<link>https://blog.benjamin-cabe.com/2024/05/10/zephyr-weekly-update-always-a-zephyr-meetup-near-you</link>
					<comments>https://blog.benjamin-cabe.com/2024/05/10/zephyr-weekly-update-always-a-zephyr-meetup-near-you#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 10 May 2024 17:26:04 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=7464</guid>

					<description><![CDATA[Happy Friday! Before diving into this week&#8217;s news, I wanted to remind you about the now almost weekly Zephyr meetups happening all around the world. It is really great to see the community coming together to share their experiences, and I highly encourage you to check out if there&#8217;s a meetup happening near you. If [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Happy Friday! Before diving into this week&#8217;s news, I wanted to remind you about the now almost weekly <strong>Zephyr meetups happening all around the world</strong>.</p>



<p>It is really great to see the community coming together to share their experiences, and I highly encourage you to <a href="https://zephyrproject.org/events/list/?tribe_eventcategory%5B0%5D=134">check out if there&#8217;s a meetup happening near you</a>. If not, you may actually be interested in <a href="https://github.com/zephyrproject-rtos/zephyr/wiki/Meetup-and-Event-Resources" target="_blank" rel="noreferrer noopener">starting one yourself</a>!</p>



<p>Next up is <a href="https://www.zephyrproject.org/event/zephyr-project-meetup-germany-cologne-grandcentrix/" target="_blank" rel="noreferrer noopener">Cologne</a>, where a second Zephyr meetup is already held after a very successful first edition a few months back!</p>


<div class="wp-block-image is-style-rounded">
<figure class="aligncenter size-large"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-1.png" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-1-1024x576.png" alt="" class="wp-image-7476" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-1-1024x576.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-1-300x169.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-1-768x432.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-1-1536x864.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-1-1200x675.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-1.png 1600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></div>


<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/10/zephyr-weekly-update-always-a-zephyr-meetup-near-you#xxx">Update to Python 3.10 as min version</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/10/zephyr-weekly-update-always-a-zephyr-meetup-near-you#soc-wide-overlays">SoC-wide overlays</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/10/zephyr-weekly-update-always-a-zephyr-meetup-near-you#bash-completion-for-twister-commands">Bash completion for Twister commands</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/10/zephyr-weekly-update-always-a-zephyr-meetup-near-you#boards-socs">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/10/zephyr-weekly-update-always-a-zephyr-meetup-near-you#ddrivers">Networking</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/10/zephyr-weekly-update-always-a-zephyr-meetup-near-you#ddrivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/10/zephyr-weekly-update-always-a-zephyr-meetup-near-you#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="xxx">Update to Python 3.10 as min version</h2>



<p>A small but noteworthy change: ahead of the upcoming Long-Term Support version of Zephyr, and in order to make sure we support a minimum version of Python that&#8217;s consistent with their own LTS cycles, <strong>Zephyr now requires Python 3.10 as the minimum version</strong>. PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72142" target="_blank" rel="noreferrer noopener">#72142</a></p>



<h2 class="wp-block-heading" id="soc-wide-overlays">SoC-wide overlays</h2>



<p>Historically, Devicetree/Kconfig overlays have always been board specific. With the introduction of the new hardware model, it is now possible to define <strong>overlays that apply to an entire SoC series</strong>, which can be <em>really</em> convenient, as illustrated with this <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72286" target="_blank" rel="noreferrer noopener">recent update</a> to the Wi-Fi code sample, which now doesn&#8217;t require zillions of repetitive overlays for all the different ESP-32 boards supported in-tree, but instead just a few only based on the actual SoCs.</p>



<h2 class="wp-block-heading" id="bash-completion-for-twister-commands">Bash completion for Twister commands</h2>



<p>I am frankly always struggling to know how to run Twister test suites from the command line, and I spend a ridiculous amount of time either going through my shell history or recent CI jobs to find the options I need. Therefore, I am really happy to see that there is now <strong>bash completion for Twister</strong>! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72167" target="_blank" rel="noreferrer noopener">#72167</a>)</p>



<h2 class="wp-block-heading" id="boards-socs">Boards &amp; SoCs</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="900" height="598" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image.png" alt="" class="wp-image-7469" style="width:430px;height:auto" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image.png 900w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-300x199.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/image-768x510.png 768w" sizes="auto, (max-width: 900px) 100vw, 900px" /></figure></div>


<ul class="wp-block-list">
<li>Support has been added for <strong>Ambiq Apollo3 Blue</strong> and <strong>Apollo3 Blue Plus</strong> SoCs, alongside associated evaluation boards. Apollo3 Blue series are ultra-low power Cortex-M4F MCUs with an integrated Bluetooth 5 controller. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67815" target="_blank" rel="noreferrer noopener">#67815</a>)</li>



<li>New <strong>MDIO driver</strong> (Management Data Input/Output) for <strong>STM32</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71012" target="_blank" rel="noreferrer noopener">#71012</a>)</li>



<li>New <strong>video driver</strong> for <strong>STM32 Digital Camera Memory Interface (DCMI)</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71462" target="_blank" rel="noreferrer noopener">#71462</a>)</li>



<li>GCC toolchain configuration updated to support <strong>Arm Cortex-R82</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72279" target="_blank" rel="noreferrer noopener">#72279</a>)</li>
</ul>



<p><strong><span style="text-decoration: underline;">New boards and shields:</span> </strong></p>



<ul class="wp-block-list">
<li>Added support for <strong>Croxel CX1825</strong> Bluetooth prototyping board. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71901" target="_blank" rel="noreferrer noopener">#71901</a>)</li>



<li>New shield defintion for <strong>Seeed Studio Round Display for Xiao</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71239" target="_blank" rel="noreferrer noopener">#71239</a>)</li>



<li>A small yet noteworthy change to the STM32C0116-DK board definition added last week. This board features a 5‑way joystick hooked up to a single ADC input pin using a resistor ladder. The <code>adc-keys</code> driver allows to quickly define which voltage range corresponds to each key combination, making it straightforward to expose all the relevant key codes to the input subsystem. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72315" target="_blank" rel="noreferrer noopener">#72315</a>)</li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; title: ; notranslate">
adc-keys {
	compatible = &quot;adc-keys&quot;;
	io-channels = &lt;&amp;adc1 8&gt;;
	keyup-threshold-mv = &lt;3300&gt;;

	select_key {
		press-thresholds-mv = &lt;0&gt;;
		zephyr,code = &lt;INPUT_KEY_SELECT&gt;;
	};

	left_key {
		press-thresholds-mv = &lt;670&gt;;
		zephyr,code = &lt;INPUT_KEY_LEFT&gt;;
	};

	// ...
};

</pre></div>


<h2 class="wp-block-heading" id="ddrivers">Networking</h2>



<ul class="wp-block-list">
<li>I mentioned it was coming last week&#8230; turns out it&#8217;s already there: the new <strong>HTTP server now supports WebSocket</strong>! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72241" target="_blank" rel="noreferrer noopener">#72241</a>)</li>



<li>Added support for <strong>gratuitous ARP transmission</strong>. A device may send such a packet on a local network to announce or update its own IP-to-MAC address mapping. It&#8217;s particularly useful for ensuring that devices that frequently enter deep sleep mode are immediately recognized by their peers upon reconnection. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71873" target="_blank" rel="noreferrer noopener">#71873</a>)</li>



<li>Added support for <strong>IPv6 Privacy Extension</strong> (<a href="https://datatracker.ietf.org/doc/html/rfc8981" target="_blank" rel="noreferrer noopener">RFC 8981</a>). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71996" target="_blank" rel="noreferrer noopener">#71996</a>)</li>



<li>Updated <strong>hostap </strong>module. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71805" target="_blank" rel="noreferrer noopener">#71805</a>)</li>
</ul>



<h2 class="wp-block-heading" id="ddrivers">Drivers</h2>



<ul class="wp-block-list">
<li>New driver for <strong>Sequans GM02S </strong>cellular modem. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72217" target="_blank" rel="noreferrer noopener">#72217</a>)</li>



<li>New driver for <strong>LuatOS Air530z GNSS receiver</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72053" target="_blank" rel="noreferrer noopener">#72053</a>)</li>



<li>New driver for <strong>Texas Instruments INA226</strong> bi-directional current/power monitor, which can be used to sense current/voltage on buses up to 36V. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68368" target="_blank" rel="noreferrer noopener">#68368</a>)</li>



<li>New multi-function device driver for <strong>Analog Devices ADP5585</strong> keypad decoder, I/O expander, and PWM generator. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69330" target="_blank" rel="noreferrer noopener">#69330</a>)</li>



<li>New driver for <strong>IS66WVQ8M4 PSRAM</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70620" target="_blank" rel="noreferrer noopener">#70620</a>)</li>



<li>Several cool improvements to GROW_R502A fingerprint sensor (why yes, Zephyr has support for fingerprint sensors, in case you didn&#8217;t know!). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/59654" target="_blank" rel="noreferrer noopener">#59654</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>Various <strong>Twister optimizations and speedups</strong>, which according to the author should speed up execution times by 5-7%. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71694" target="_blank" rel="noreferrer noopener">#71694</a>)</li>



<li>Added support for <strong>Bluetooth Common Audio Profile Commander Reception start</strong> procedure. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69593" target="_blank" rel="noreferrer noopener">#69593</a>)</li>



<li>A couple new <strong>useful shell commands</strong>:
<ul class="wp-block-list">
<li>The GPIO shell module now features a <code>toggle</code> command to&#8230; toggle a GPIO :). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72362" target="_blank" rel="noreferrer noopener">#72362</a>)</li>



<li>The I2C shell module now has a <code>direct_read</code> command, which reads directly from the I2C device without first writing a register address. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71928" target="_blank" rel="noreferrer noopener">#71928</a>)</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>11 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/bogdanovs" target="_blank" rel="noreferrer noopener">@bogdanovs</a>, <a href="https://github.com/smaerup" target="_blank" rel="noreferrer noopener">@smaerup</a>, <a href="https://github.com/debbiemartinarm" target="_blank" rel="noreferrer noopener">@debbiemartinarm</a>, <a href="https://github.com/vThibo" target="_blank" rel="noreferrer noopener">@vThibo</a>, <a href="https://github.com/louis-feller" target="_blank" rel="noreferrer noopener">@louis-feller</a>, <a href="https://github.com/RafaelLaya" target="_blank" rel="noreferrer noopener">@RafaelLaya</a>, <a href="https://github.com/russkel" target="_blank" rel="noreferrer noopener">@russkel</a>, <a href="https://github.com/davidschneider-cpi" target="_blank" rel="noreferrer noopener">@davidschneider-cpi</a>, <a href="https://github.com/markaj-nordic" target="_blank" rel="noreferrer noopener">@markaj-nordic</a>, <a href="https://github.com/schumphi" target="_blank" rel="noreferrer noopener">@schumphi</a>, and <a href="https://github.com/AlessandroLuo" target="_blank" rel="noreferrer noopener">@AlessandroLuo</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/05/10/zephyr-weekly-update-always-a-zephyr-meetup-near-you/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/zephyr-weekly-may-10.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - May 10, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/zephyr-weekly-may-10-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - May 10, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">7464</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – HTTP Server FTW! 🥳</title>
		<link>https://blog.benjamin-cabe.com/2024/05/03/zephyr-weekly-update-http-server-ftw</link>
					<comments>https://blog.benjamin-cabe.com/2024/05/03/zephyr-weekly-update-http-server-ftw#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 03 May 2024 16:49:34 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=7410</guid>

					<description><![CDATA[Happy Friday, and welcome back for a new Zephyr Weekly Update! Before diving into some of the additions and notable updates from this week, I wanted to mention that the recordings of all the presentations from the Zephyr Developer Summit 2024 are now available on the YouTube channel of the Zephyr Project. There were some [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Happy Friday, and welcome back for a new Zephyr Weekly Update! Before diving into some of the additions and notable updates from this week, I wanted to mention that the <strong>recordings of all the presentations from the Zephyr Developer Summit 2024 </strong>are now <a href="https://www.youtube.com/watch?v=KibNoIZiC8o&amp;list=PLzRQULb6-ipHnRUuy2UJpqZjTM9FPWtWx" target="_blank" rel="noreferrer noopener">available</a> on the <a href="https://www.youtube.com/@ZephyrProject" target="_blank" rel="noreferrer noopener">YouTube channel of the Zephyr Project</a>.</p>



<p>There were some truly great sessions (and speakers!) and there is a very good chance that you will want to catch up and watch all of them if you didn&#8217;t have a chance to attend in person! <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="A Root Canal Static Analysis Based Audit of Zephyr - Munawar Hafiz, OpenRefactory" width="580" height="326" src="https://www.youtube.com/embed/KibNoIZiC8o?list=PLzRQULb6-ipHnRUuy2UJpqZjTM9FPWtWx" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/03/zephyr-weekly-update-http-server-ftw#xxx">HTTP Server</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/03/zephyr-weekly-update-http-server-ftw#power-management-for-dummies-using-the-zephyr-shell">Power Management for dummies using the Zephyr shell</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/03/zephyr-weekly-update-http-server-ftw#boards-socs">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/03/zephyr-weekly-update-http-server-ftw#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/05/03/zephyr-weekly-update-http-server-ftw#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="xxx">HTTP Server</h2>



<p>This week&#8217;s big update is the addition of a long awaited <strong><span style="text-decoration: underline;">HTTP server library</span></strong>. It supports <strong>HTTP/1.1</strong> as well as <strong>HTTP/2</strong>, with or without <strong>TLS</strong>, and <strong>WebSocket support</strong> should be <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72241" target="_blank" rel="noreferrer noopener">coming shortly</a>! This has been a multi-month effort that started last year as a Google Summer of Code project from <a href="https://github.com/Emna-Rekik" target="_blank" rel="noreferrer noopener">Emna Rekik</a>.</p>



<p>Similar to the socket and CoAP services, adding new HTTP resources can easily be done, with very little overhead, not so differently from how you would do it in a higher-level language like Python or JavaScript!</p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: cpp; title: ; notranslate">
struct http_resource_detail_static index_html_gz_resource_detail = {
	.common = {
			.type = HTTP_RESOURCE_TYPE_STATIC,
			.bitmask_of_supported_http_methods = BIT(HTTP_GET),
			.content_encoding = &quot;gzip&quot;,
		},
	.static_data = index_html_gz,
	.static_data_len = sizeof(index_html_gz),
};

HTTP_RESOURCE_DEFINE(index_html_gz_resource, test_http_service, &quot;/&quot;,
		     &amp;index_html_gz_resource_detail);

</pre></div>


<p>I highly recommend you dive into the <a href="https://docs.zephyrproject.org/latest/samples/net/sockets/http_server/README.html" target="_blank" rel="noreferrer noopener">new code sample</a> that will tell you a lot more about the various capabilities of this new service, including how to configure it, or even to profile it.</p>



<h2 class="wp-block-heading" id="power-management-for-dummies-using-the-zephyr-shell">Power Management for dummies using the Zephyr shell</h2>



<p>You&#8217;ve heard me praise the Zephyr shell many times before. It is an awesome resource to quickly troubleshoot your system and interact with all your peripherals and subsystems without having to write any code.</p>



<p>A <strong>new <code>pm</code> shell module</strong> has been introduced to let you interact with the power management subsystem using simple commands. Assuming that power management is indeed enabled in your Zephyr application, you can now do things like <code>pm suspend mydevice</code> to quickly suspend a device.</p>



<p>What&#8217;s more, <code>device list</code>, which might be one of the most useful commands in the Zephyr now also gives you feedback regarding the actual PM mode of all the devices in your system:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
uart:~$ device list
devices:
- i2c@40003000 (active)
- buttons (active, usage=1)
- leds (READY)
</pre></div>


<p>In this example, <code>leds</code> is a device that does not support PM, <code>i2c</code> supports PM with manual suspend and resume actions and is currently active, and <code>buttons</code> supports runtime PM, is currently active and &#8220;used&#8221; by one user.</p>



<p>As part of introducing all these great commands, Fabio has also added a <strong>new callback that a shell module might implement to make tab-completion for device names smarter</strong>. In the context of the new <code>pm</code> shell command mentioned before, it means that <a href="https://github.com/zephyrproject-rtos/zephyr/commit/d5c773d37340ec7ef2af8d81d2e3987c0ca3bb68">only devices that do support power management will be suggested when you hit TAB</a>!</p>



<p>Please check out PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72037" target="_blank" rel="noreferrer noopener">#72037</a> and update your shell modules accordingly <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading" id="boards-socs">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li>Added <strong>MMC driver for RCAR</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/60285" target="_blank" rel="noreferrer noopener">#60285</a>)</li>



<li>Added <strong>TPM counter</strong> support on i<strong>.MX93 Cortex-A</strong> Core. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70714" target="_blank" rel="noreferrer noopener">#70714</a>)</li>



<li>Added <strong>RTC driver </strong>for <strong>Nuvoton Numaker m46x</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71929" target="_blank" rel="noreferrer noopener">#71929</a>)</li>



<li>Added <strong>ADC </strong>driver for <strong>Nuvoton numaker m2l31x</strong>. (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/71267" target="_blank" rel="noreferrer noopener">#71267</a>)</li>



<li>Added <strong>SDHC </strong>driver for <strong>ESP32</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71165" target="_blank" rel="noreferrer noopener">#71165</a>)</li>
</ul>



<p><strong><span style="text-decoration: underline;">New boards:</span></strong></p>



<ul class="wp-block-list">
<li><strong>MikroElektronika Weather Click</strong> shield, which features Bosch BME280 sensor (humidity, pressure, temperature). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71076" target="_blank" rel="noreferrer noopener">#71076</a>)</li>



<li><strong>STM32C0116 DK</strong>, a development board for the STM32C0 series of MCUs &#8212; Cortex-M0+ with 32K of Flash, 6K of RAM, a Grove connector, a 5-way joystick, &#8230; (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71722" target="_blank" rel="noreferrer noopener">#71722</a>)</li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li><strong>Texas Instruments TMP114</strong> is an ultra-thin, high accuracy, I2C temperature sensor with a 16-bit ADC and an accuracy of ±0.2°C. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71964" target="_blank" rel="noreferrer noopener">#71964</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>Added support for <strong>LoRaWAN Fragmented Data Block Transport Service</strong>. Being able to transmit fragmented blocks of data over an otherwise very constrained network in terms of MTU means essentially unlocking the ability to perform firmware upgrades over-the-air. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68570" target="_blank" rel="noreferrer noopener">#68570</a>)</li>



<li>New ability for <strong>west </strong>to <strong>run some commands</strong> (e.g. erase, recover) <strong>only once</strong>, either at the beginning or at the end of the programming of a board when using <em>sysbuild</em>. This allows to e.g. only erase the flash once when targeting a multi-core SoC. More documentation available <a href="https://docs.zephyrproject.org/latest/build/flashing/configuration.html" target="_blank" rel="noreferrer noopener">here</a>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69748" target="_blank" rel="noreferrer noopener">#69748</a>)</li>



<li>Added support for <strong>EUI64 device identifiers </strong>in <strong>hwinfo</strong>. (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/72057" target="_blank" rel="noreferrer noopener">#72057</a>)</li>



<li>New <a href="https://docs.zephyrproject.org/latest/samples/drivers/i2c/target_eeprom/README.html" target="_blank" rel="noreferrer noopener">code</a> <a href="https://docs.zephyrproject.org/latest/samples/drivers/i2c/custom_target/README.html" target="_blank" rel="noreferrer noopener">samples</a> for the <strong>I2C Target API</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72103" target="_blank" rel="noreferrer noopener">#72103</a>)</li>



<li>New <code><a href="https://docs.zephyrproject.org/latest/services/settings/index.html#c.settings_save_subtree" target="_blank" rel="noreferrer noopener">settings_save_subtree()</a></code> API allows to only save items from a settings subtree that are different from their persisted value. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/72113" target="_blank" rel="noreferrer noopener">#72113</a>)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>9 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/swift-tk" target="_blank" rel="noreferrer noopener">@swift-tk</a>, <a href="https://github.com/DeHess" target="_blank" rel="noreferrer noopener">@DeHess</a>, <a href="https://github.com/dalprahcd" target="_blank" rel="noreferrer noopener">@dalprahcd</a>, <a href="https://github.com/0x6e" target="_blank" rel="noreferrer noopener">@0x6e</a>, <a href="https://github.com/fgihl" target="_blank" rel="noreferrer noopener">@fgihl</a>, <a href="https://github.com/bogdanm" target="_blank" rel="noreferrer noopener">@bogdanm</a>, <a href="https://github.com/tychofrei02" target="_blank" rel="noreferrer noopener">@tychofrei02</a>, <a href="https://github.com/JefersonFernando" target="_blank" rel="noreferrer noopener">@JefersonFernando</a>, and <a href="https://github.com/kail" target="_blank" rel="noreferrer noopener">@kail</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/05/03/zephyr-weekly-update-http-server-ftw/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/zephyr-weekly-may-3-1.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - May 3, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/05/zephyr-weekly-may-3-1-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - May 3, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">7410</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Device model becoming increasingly flexible</title>
		<link>https://blog.benjamin-cabe.com/2024/04/29/zephyr-weekly-update-networking-goodness-2</link>
					<comments>https://blog.benjamin-cabe.com/2024/04/29/zephyr-weekly-update-networking-goodness-2#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Mon, 29 Apr 2024 14:49:42 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=7329</guid>

					<description><![CDATA[Welcome to this new edition of your weekly&#8230;ish Zephyr update. I have been quite busy over the past few weeks, travelling to Embedded World and Zephyr Developer Summit, and it was hard to find time for this weekly blog. Speaking of in-person events, you have only a few days left to apply to speak at [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Welcome to this new edition of your weekly&#8230;ish Zephyr update. I have been quite busy over the past few weeks, travelling to Embedded World and Zephyr Developer Summit, and it was hard to find time for this weekly blog.   </p>



<p>Speaking of in-person events, you have<strong> only a few days left to <a href="https://sessionize.com/open-source-summit-europe-2024" target="_blank" rel="noreferrer noopener">apply to speak at the upcoming Zephyr Developer Summit Europe</a> 2024</strong>, held as part of the Open Source Summit 2024 in Vienna, Austria, on September 16-18!</p>


<div class="wp-block-image is-style-default">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="938" height="551" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/04/image-1.png" alt="" class="wp-image-7369" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/04/image-1.png 938w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/04/image-1-300x176.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/04/image-1-768x451.png 768w" sizes="auto, (max-width: 938px) 100vw, 938px" /></figure></div>


<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/04/29/zephyr-weekly-update-networking-goodness-2#xxx">Deferred device initialization</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/04/29/zephyr-weekly-update-networking-goodness-2#relocation-of-arm-elf-binaries">Relocation of ARM ELF binaries</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/04/29/zephyr-weekly-update-networking-goodness-2#boards-socs">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/04/29/zephyr-weekly-update-networking-goodness-2#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/04/29/zephyr-weekly-update-networking-goodness-2#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="xxx">Deferred device initialization</h2>



<p>There have been many discussions in the past few months around improving the flexibility of Zephyr device model, in particular around making it possible to defer the initialization of a device. There are many reasons why one may want to decouple the <em>instantiation </em>of a device from its actual <em>initialization</em>, and whether a device should <em>actually</em> be fully initialized is often a decision worth making at runtime (ex. several devices may be sharing common resources, and only one such device may be actually active at a given point in time).</p>



<p>Now that pull request <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67335" target="_blank" rel="noreferrer noopener">#67335</a> has been merged, any device may use the <code>zephyr,deferred-init</code> property in Devicetree to indicate they shouldn&#8217;t be automatically initialized but, rather, leave this step to the discretion of the programmer by means of the new <code><a href="https://docs.zephyrproject.org/latest/kernel/drivers/index.html#c.device_init" target="_blank" rel="noreferrer noopener">device_init()</a></code> API.</p>



<h2 class="wp-block-heading" id="relocation-of-arm-elf-binaries">Relocation of ARM ELF binaries</h2>



<p>In the context of <strong>LLEXT </strong>(linkable loadable extensions), it is important for Zephyr to be able to process an ELF binary &#8220;on the fly&#8221; as it needs to relocate the various sections of the file to the proper memory sections. PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70452" target="_blank" rel="noreferrer noopener">#70452</a> introduced support for all the relocation types for ARM ELF files (i.e. partial and shared linking are now also properlu supported) making it possible to address even more scenarios which, if you think about the new &#8220;deferred initialization&#8221; mode, may very well include dynamically loading new device drivers in the not so distant future <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading" id="boards-socs">Boards &amp; SoCs</h2>



<p>As there were a lot of things happening over the past three weeks, this section really focuses on the main highlights &#8212; please don&#8217;t be mad at me if I forgot something significant (and please comment to help correct the mistake!).</p>



<ul class="wp-block-list">
<li>Historically, running Zephyr application on <strong>Espressif ESP32</strong> devices involved a second-stage bootloader as the initial bootloader was always the ESP-IDF bootloader. A new &#8220;<strong>simple boot</strong>&#8221; mode now allows to build applications that don&#8217;t require this second-stage bootloading. This makes for optimized memory and size, and is now the default option when building for ESP32, but MCUboot remains a possible alternative. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70505" target="_blank" rel="noreferrer noopener">#70505</a>)</li>



<li><strong>Renesas SmartBond</strong> SoCs now have <strong>power management support</strong>, and MCU can now enter low-power mode when needed. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/61857" target="_blank" rel="noreferrer noopener">#61857</a>)</li>



<li>Frame-pointer based <strong>stack unwinding for RISC-V architecture.</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69912" target="_blank" rel="noreferrer noopener">#69912</a>)</li>



<li><strong>Improved coredump for RISC-V 64 bits</strong>: it now includes all the registers. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70949" target="_blank" rel="noreferrer noopener">#70949</a>)</li>
</ul>



<p>There&#8217;s quite a few new boards whose support has been added, including:</p>



<ul class="wp-block-list">
<li><strong>Raspberry Pi 5</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70538" target="_blank" rel="noreferrer noopener">#70538</a>)</li>



<li><strong>Arduino UNO R4 WiFi</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71041" target="_blank" rel="noreferrer noopener">#71041</a>)</li>



<li><strong>STM32L152C Discovery kit</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70765" target="_blank" rel="noreferrer noopener">#70765</a>)</li>



<li><strong>Renesas R-CAR Spider S4</strong> (ARM64). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68141" target="_blank" rel="noreferrer noopener">#68141</a>)</li>



<li><strong>ESP32-S2 </strong>and <strong>ESP32-S3 Devkit-C</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66462" target="_blank" rel="noreferrer noopener">#66462</a> and <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66463" target="_blank" rel="noreferrer noopener">#66463</a>)</li>



<li><strong>Phytec phyBOARD-Electra AM64x</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70965" target="_blank" rel="noreferrer noopener">#70965</a>)</li>



<li><strong>Waveshare ESP32-S3-Touch-LCD-1.28</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67311" target="_blank" rel="noreferrer noopener">#67311</a>)</li>
</ul>



<ul class="wp-block-list">
<li></li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li>Added a driver for the <strong>output diagnostics of the TLE9104 low-side switch</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67029" target="_blank" rel="noreferrer noopener">#67029</a>)</li>



<li>New driver for <strong>CHSC6X round display controller</strong>, found e.g. on the Seeed Studio Round Display for XIAO. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71073" target="_blank" rel="noreferrer noopener">#71073</a>)</li>



<li>Add support for <strong>half-duplex</strong> (3-wire) to the <strong>SPI controller driver for Raspberry Pi Pico</strong>. (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/69634" target="_blank" rel="noreferrer noopener">#69634</a>)</li>



<li>New input driver for <strong>PAW32XX mouse sensors</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71716" target="_blank" rel="noreferrer noopener">#71716</a>)</li>



<li>New driver for <strong>Analog Devices AD569x</strong> series of <strong>low-power output DACs</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71338" target="_blank" rel="noreferrer noopener">#71338</a>)</li>



<li>New <strong>loopback disk driver</strong> allowing to transparently read/write from/to a file on the filesystem. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69895" target="_blank" rel="noreferrer noopener">#69895</a>)</li>



<li>New driver for <strong>ST7796S LCD display controller</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69991" target="_blank" rel="noreferrer noopener">#69991</a>)</li>



<li>Added <strong>Altera FPGA bridge </strong>support. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71360" target="_blank" rel="noreferrer noopener">#71360</a>)</li>



<li>New <strong>I3C driver </strong>for <strong>Nuvoton NPCX</strong> SoCs. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71366" target="_blank" rel="noreferrer noopener">#71366</a>)</li>



<li>Added <strong>Murata NCP15XH103 compensation table</strong> to generic thermistor driver. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70912" target="_blank" rel="noreferrer noopener">#70912</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>For architecture that have MMU supported (and enabled!), it is now possible to <strong>memory map thread stacks</strong>, making it possible to create guard pages that can help catching stack overflows/underflows. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70810" target="_blank" rel="noreferrer noopener">#70810</a>)</li>



<li>A lot of work is going into the <strong>Eclipse hawkBit client</strong>, to make it more configurable. (see e.g. PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68806" target="_blank" rel="noreferrer noopener">#68806</a>)</li>



<li><strong>High-speed support</strong> has been improved in the new USB device stack, and it&#8217;s now <strong>USB 2.0 compliant</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67749" target="_blank" rel="noreferrer noopener">#67749</a>)</li>



<li>A new <strong>I3C shell module</strong> has been introduced. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70773" target="_blank" rel="noreferrer noopener">#70773</a>)</li>



<li>west&#8217;s built-in support for generating SPDX SBOM files has been updated to now support <strong>SPDX 2.3 </strong>(vs. 2.2 before). The main addition is the ability to indicate the <code>PrimaryPackagePurpose</code> for each package. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70581" target="_blank" rel="noreferrer noopener">#70581</a>)</li>



<li>The <strong>Wi-Fi shell module</strong> now allows to configure <strong>multiple security modes</strong> for each network. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71044" target="_blank" rel="noreferrer noopener">#71044</a>)</li>



<li>The code samples for <strong>Bluetooth Heartrate monitor </strong>have been updated to<strong> support extended advertising</strong>  and hence be long-range compatible on SoCs that support Bluetooth Low Energy Coded PHY. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70257" target="_blank" rel="noreferrer noopener">#70257</a>)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>31 individuals</strong> who had their first pull request accepted since my last post, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/arnebdr" target="_blank" rel="noreferrer noopener">@arnebdr</a>, <a href="https://github.com/ahaslam2" target="_blank" rel="noreferrer noopener">@ahaslam2</a>, <a href="https://github.com/achech" target="_blank" rel="noreferrer noopener">@achech</a>, <a href="https://github.com/Lahyllas" target="_blank" rel="noreferrer noopener">@Lahyllas</a>, <a href="https://github.com/ulmanyar" target="_blank" rel="noreferrer noopener">@ulmanyar</a>, <a href="https://github.com/lkoudelka" target="_blank" rel="noreferrer noopener">@lkoudelka</a>, <a href="https://github.com/franc0is" target="_blank" rel="noreferrer noopener">@franc0is</a>, <a href="https://github.com/nicogou" target="_blank" rel="noreferrer noopener">@nicogou</a>, <a href="https://github.com/lluiscampos" target="_blank" rel="noreferrer noopener">@lluiscampos</a>, <a href="https://github.com/jan-kubiznak" target="_blank" rel="noreferrer noopener">@jan-kubiznak</a>, <a href="https://github.com/petarsusac" target="_blank" rel="noreferrer noopener">@petarsusac</a>, <a href="https://github.com/adityaganesh" target="_blank" rel="noreferrer noopener">@adityaganesh</a>, <a href="https://github.com/erang20" target="_blank" rel="noreferrer noopener">@erang20</a>, <a href="https://github.com/nordic-bami" target="_blank" rel="noreferrer noopener">@nordic-bami</a>, <a href="https://github.com/hardeepsharma95" target="_blank" rel="noreferrer noopener">@hardeepsharma95</a>, <a href="https://github.com/ke6zfi" target="_blank" rel="noreferrer noopener">@ke6zfi</a>, <a href="https://github.com/alvsun" target="_blank" rel="noreferrer noopener">@alvsun</a>, <a href="https://github.com/hansbinderup" target="_blank" rel="noreferrer noopener">@hansbinderup</a>, <a href="https://github.com/rob-the-dude" target="_blank" rel="noreferrer noopener">@rob-the-dude</a>, <a href="https://github.com/orangecms" target="_blank" rel="noreferrer noopener">@orangecms</a>, <a href="https://github.com/selescop" target="_blank" rel="noreferrer noopener">@selescop</a>, <a href="https://github.com/doeni98" target="_blank" rel="noreferrer noopener">@doeni98</a>, <a href="https://github.com/jomigo96" target="_blank" rel="noreferrer noopener">@jomigo96</a>, <a href="https://github.com/nxpadamm" target="_blank" rel="noreferrer noopener">@nxpadamm</a>, <a href="https://github.com/nlebedenco" target="_blank" rel="noreferrer noopener">@nlebedenco</a>, <a href="https://github.com/ABESTM" target="_blank" rel="noreferrer noopener">@ABESTM</a>, <a href="https://github.com/SaintNicholas" target="_blank" rel="noreferrer noopener">@SaintNicholas</a>, <a href="https://github.com/gkrulce" target="_blank" rel="noreferrer noopener">@gkrulce</a>, <a href="https://github.com/nordic-babu" target="_blank" rel="noreferrer noopener">@nordic-babu</a>, <a href="https://github.com/raintamer" target="_blank" rel="noreferrer noopener">@raintamer</a>, and <a href="https://github.com/DmytroYaskov" target="_blank" rel="noreferrer noopener">@DmytroYaskov</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/04/29/zephyr-weekly-update-networking-goodness-2/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7329</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Networking goodness</title>
		<link>https://blog.benjamin-cabe.com/2024/04/05/zephyr-weekly-update-networking-goodness</link>
					<comments>https://blog.benjamin-cabe.com/2024/04/05/zephyr-weekly-update-networking-goodness#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 05 Apr 2024 21:57:00 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=7131</guid>

					<description><![CDATA[Happy Friday! Welcome back for another edition of the Zephyr Weekly Update&#8230; with two weeks worth of news this time around 🙂 In case you missed it, I highly recommend you catch up the recording of this week&#8217;s Zephyr Tech Talk. We discussed the new hardware model introduced for the upcoming Zephyr 3.7 release, the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Happy Friday! Welcome back for another edition of the Zephyr Weekly Update&#8230; with two weeks worth of news this time around <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>In case you missed it, I highly recommend you catch up the <a href="https://www.youtube.com/watch?v=hQC3EcFqDkc" target="_blank" rel="noreferrer noopener">recording of this week&#8217;s Zephyr Tech Talk</a>. We discussed the <strong>new hardware model introduced for the upcoming Zephyr 3.7 release</strong>, the kind of use cases it allows to address, and what you need to do to migrate your existing board definitions. We had well over 200 people attending—a record!</p>



<p>And now, for some of the things that recently landed in the main Zephyr tree&#8230;</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Diving Into Zephyr&#039;s New Hardware Model // Zephyr Tech Talk #014" width="580" height="326" src="https://www.youtube.com/embed/hQC3EcFqDkc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/04/08/zephyr-weekly-update-networking-goodness#use-host-networking-stack-in-native-simulator">Use host networking stack in native simulator</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/04/08/zephyr-weekly-update-networking-goodness#cooked-mode-capture">&#8220;Cooked mode&#8221; capture</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/04/08/zephyr-weekly-update-networking-goodness#boards-socs">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/04/08/zephyr-weekly-update-networking-goodness#general-drivers">General drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/04/08/zephyr-weekly-update-networking-goodness#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="use-host-networking-stack-in-native-simulator">Use host networking stack in native simulator</h2>



<p>The <a href="https://docs.zephyrproject.org/latest/boards/native/native_sim/doc/index.html" target="_blank" rel="noreferrer noopener">native simulator</a> is getting a lot of love recently, and a noteworthy improvement is the fact that there is now a way to directly <strong>use the host&#8217;s networking stack</strong>, which means it&#8217;s now much easier to leverage networking in the simulator, without having to rely on TUN/TAP interfaces and error-prone configuration scripts. </p>



<p><a href="https://docs.zephyrproject.org/latest/boards/native/native_sim/doc/index.html#nsim-per-offloaded-sockets" target="_blank" rel="noreferrer noopener">Read more</a> in the documentation of the native simulator. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65116" target="_blank" rel="noreferrer noopener">#65116</a>)</p>



<h2 class="wp-block-heading" id="cooked-mode-capture">&#8220;Cooked mode&#8221; capture</h2>



<p>On the topic of networking, it is now possible to perform so-called <strong>&#8220;cooked mode capture&#8221; of network traffic</strong>. In a nutshell, this means that it&#8217;s now possible to capture the packets that are being sent and received by the Zephyr networking stack without requiring a physical network interface to be present.</p>



<p>More details on how this works in the <a href="https://docs.zephyrproject.org/latest/connectivity/networking/api/capture.html#cooked-mode-capture">documentation</a>, as well as the dedicated <a href="https://docs.zephyrproject.org/latest/samples/net/capture/README.html" target="_blank" rel="noreferrer noopener"><code>net-capture</code> code sample</a>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70926" target="_blank" rel="noreferrer noopener">#70926</a>)</p>



<h2 class="wp-block-heading" id="boards-socs">Boards &amp; SoCs</h2>



<figure class="wp-block-image size-full"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/04/image.png"><img loading="lazy" decoding="async" width="600" height="436" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/04/image.png" alt="" class="wp-image-7178" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/04/image.png 600w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/04/image-300x218.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></figure>



<ul class="wp-block-list">
<li><strong><a href="https://docs.zephyrproject.org/latest/boards/shields/seeed_xiao_expansion_board/doc/index.html" target="_blank" rel="noreferrer noopener">Seeed Studio XIAO Expansion Board</a></strong> is a cheap yet very complete expansion shield for boards with the XIAO form factor. It includes an OLED display, a microSD card slot, an RTC, and plenty of Grove connectors. Thanks Charles for adding support for it in(PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69999" target="_blank" rel="noreferrer noopener">#69999</a>!</li>



<li><strong><a href="https://docs.zephyrproject.org/latest/boards/shields/st_b_lcd40_dsi1_mb1166/doc/index.html" target="_blank" rel="noreferrer noopener">ST B-LCD40-DSI1</a></strong> is a shield with a 4&#8243; WVGA TFT LCD with MIPI DSI interface and a capacitive touchscreen. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70350" target="_blank" rel="noreferrer noopener">#70350</a>)</li>



<li><strong><a href="https://docs.zephyrproject.org/latest/boards/weact/mini_stm32h743/doc/index.html" target="_blank" rel="noreferrer noopener">WeAct Studio MiniSTM32H743 Core</a></strong> board features a STM32H743VIT6 (Cortex-M7 @ 480 MHz), 2MB of Flash, and 2x 8MB of external Flash. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69267" target="_blank" rel="noreferrer noopener">#69267</a>)</li>



<li><strong><a href="https://docs.zephyrproject.org/latest/boards/m5stack/m5stack_atom_lite/doc/index.html" target="_blank" rel="noreferrer noopener">M5Stack ATOM Lite</a></strong> is a tiny ESP32-PICO-D4 based devkit with an RGB LED, an infra-red LED, and a Grove connector. The really small form factor makes it one of my favorite targets for quick ESP32 tests. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68190" target="_blank" rel="noreferrer noopener">#68190</a>)</li>



<li>Several new drivers for some <strong>NXP peripherals</strong>:
<ul class="wp-block-list">
<li><strong>ESAI </strong>(Enhanced Serial Audio Interface), used for serial communication with e.g. DSPs, S/PDIF transceivers, &#8230; (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68875" target="_blank" rel="noreferrer noopener">#68875</a>)</li>



<li><strong>ENET QOS </strong>(Ethernet QoS).(PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70637" target="_blank" rel="noreferrer noopener">#70637</a>)</li>



<li><strong>hwinfo </strong>now available for RW SoCs. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70456" target="_blank" rel="noreferrer noopener">#70456</a>)</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading" id="general-drivers">General drivers</h2>



<ul class="wp-block-list">
<li><strong>STTS22H </strong>is an ultralow-power, high-accuracy, digital temperature sensor, with an operating range of -40 °C to +125 °C. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68356" target="_blank" rel="noreferrer noopener">#68356</a>)</li>



<li><strong>Aosong DHT20 </strong>temperature and humidity sensor (sometimes found as Aosong AHT20, or Aosong AM2301B, don&#8217;t ask me why). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67279" target="_blank" rel="noreferrer noopener">#67279</a>)</li>



<li><strong>Angst+Pfister oxygen sensors</strong> from the MDLx5 series. (ex. FCX-MLD25 &amp; FCX-MLD95). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68689" target="_blank" rel="noreferrer noopener">#68689</a>)</li>



<li><strong>onsemi MT9M114</strong> is a 1/6&#8243; 1.26 Megapixel CMOS digital image sensor and the Zephyr driver for it was significantly reworked to improve framerate and support more resolutions. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70237" target="_blank" rel="noreferrer noopener">#70237</a>)</li>



<li><strong>Cellular modem </strong>drivers can now expose <strong>IMEI and ICCID info</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69217" target="_blank" rel="noreferrer noopener">#69217</a>)</li>



<li>New GNSS Driver for <strong>U-BLOX M10</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68350" target="_blank" rel="noreferrer noopener">#68350</a>)</li>



<li>New driver for <strong>Sitronix CF1133 touchscreen controller</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68321" target="_blank" rel="noreferrer noopener">#68321</a>)</li>



<li>New driver for <strong>Cirque Pinnacle 1CA027 trackpads</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69438" target="_blank" rel="noreferrer noopener">#69438</a>)</li>



<li><strong>ST LIS2DUX12 accelerometer </strong>(ultralow-power 3-axis smart accelerometer, with anti-aliasing filter) is now supported. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65259" target="_blank" rel="noreferrer noopener">#65259</a>)</li>



<li>Existing MPU6050 has been reworked to now also support <strong>MPU6500</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70130" target="_blank" rel="noreferrer noopener">#70130</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li><strong>LVGL module has been updated to v8.4.0</strong>, and LVGL 9 support is imminent! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70470" target="_blank" rel="noreferrer noopener">#70470</a>)</li>



<li>A significant <strong>overhaul of the Virtual LAN (VLAN) implementation</strong> . (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70345" target="_blank" rel="noreferrer noopener">#70345</a>)</li>



<li><code>CONFIG_NET_SOCKETS_POSIX_NAMES</code> Kconfig option is being deprecated. You can read more about why in the <a href="https://docs.zephyrproject.org/latest/releases/migration-guide-3.7.html#networking" target="_blank" rel="noreferrer noopener">migration guide entry</a> that was created for this change. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69950" target="_blank" rel="noreferrer noopener">#69950</a>)</li>



<li><code>ram_report</code> and <code>rom_report</code> West targets now show the address of the objects in the output reports. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69542" target="_blank" rel="noreferrer noopener">#69542</a>)</li>



<li><strong>RTT Shell backend </strong>now detects the presence of a host, preventing deadlocks in situations where the shell would end up continually writing to RTT. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68941" target="_blank" rel="noreferrer noopener">#68941</a>)</li>



<li>Added support to <strong>configure BSSID in Wi-Fi connect command</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70024" target="_blank" rel="noreferrer noopener">#70024</a>)</li>



<li>mDNS responder used to make it mandatory to have all the records set at compile time. It is now possible to provide the records at runtime. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/60271" target="_blank" rel="noreferrer noopener">#60271</a>)</li>



<li><strong>POSIX</strong>:
<ul class="wp-block-list">
<li>Added support for <code>clock_getres()</code>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70525" target="_blank" rel="noreferrer noopener">#70525</a>)</li>



<li>Added support for <code>pthread_rwlockattr_setpshared()</code>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70421" target="_blank" rel="noreferrer noopener">#70421</a>)</li>



<li>Added support for <code>pthread_attr_getinheritsched()</code> and <code>pthread_attr_setinheritsched()</code>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68470" target="_blank" rel="noreferrer noopener">#68470</a>)</li>



<li>Added support for <code>pthread_setschedprio()</code>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/71001" target="_blank" rel="noreferrer noopener">#71001</a>)</li>



<li>Added missing implementations for POSIX <strong>networking API </strong>calls. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70635" target="_blank" rel="noreferrer noopener">#70635</a>)</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>24 individuals</strong> who had their first pull request accepted in the past couple weeks, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/mayankmahajan-nxp" target="_blank" rel="noreferrer noopener">@mayankmahajan-nxp</a>, <a href="https://github.com/swkim101" target="_blank" rel="noreferrer noopener">@swkim101</a>, <a href="https://github.com/fpistm" target="_blank" rel="noreferrer noopener">@fpistm</a>, <a href="https://github.com/erian747" target="_blank" rel="noreferrer noopener">@erian747</a>, <a href="https://github.com/zakport" target="_blank" rel="noreferrer noopener">@zakport</a>, <a href="https://github.com/benni44" target="_blank" rel="noreferrer noopener">@benni44</a>, <a href="https://github.com/clemdy" target="_blank" rel="noreferrer noopener">@clemdy</a>, <a href="https://github.com/ZhaoxiangJin" target="_blank" rel="noreferrer noopener">@ZhaoxiangJin</a>, <a href="https://github.com/zejiang0jason" target="_blank" rel="noreferrer noopener">@zejiang0jason</a>, <a href="https://github.com/akscram" target="_blank" rel="noreferrer noopener">@akscram</a>, <a href="https://github.com/RickBruyninckx" target="_blank" rel="noreferrer noopener">@RickBruyninckx</a>, <a href="https://github.com/kdunn926" target="_blank" rel="noreferrer noopener">@kdunn926</a>, <a href="https://github.com/raffarost" target="_blank" rel="noreferrer noopener">@raffarost</a>, <a href="https://github.com/jatedev" target="_blank" rel="noreferrer noopener">@jatedev</a>, <a href="https://github.com/cliu5764" target="_blank" rel="noreferrer noopener">@cliu5764</a>, <a href="https://github.com/glneo" target="_blank" rel="noreferrer noopener">@glneo</a>, <a href="https://github.com/23131dw" target="_blank" rel="noreferrer noopener">@23131dw</a>, <a href="https://github.com/HesselM" target="_blank" rel="noreferrer noopener">@HesselM</a>, <a href="https://github.com/arikgreen" target="_blank" rel="noreferrer noopener">@arikgreen</a>, <a href="https://github.com/ringlej" target="_blank" rel="noreferrer noopener">@ringlej</a>, <a href="https://github.com/bmulder-innoseis" target="_blank" rel="noreferrer noopener">@bmulder-innoseis</a>, <a href="https://github.com/mdubielx" target="_blank" rel="noreferrer noopener">@mdubielx</a>, <a href="https://github.com/ct-fk" target="_blank" rel="noreferrer noopener">@ct-fk</a>, and <a href="https://github.com/javanlacerda" target="_blank" rel="noreferrer noopener">@javanlacerda</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/04/05/zephyr-weekly-update-networking-goodness/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/04/zephyr-weekly-apr-5.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - April 5, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/04/zephyr-weekly-apr-5-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - April 5, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">7131</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Using CLion for Zephyr development</title>
		<link>https://blog.benjamin-cabe.com/2024/03/22/zephyr-weekly-update-using-clion-for-zephyr-development</link>
					<comments>https://blog.benjamin-cabe.com/2024/03/22/zephyr-weekly-update-using-clion-for-zephyr-development#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 22 Mar 2024 10:19:09 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=7068</guid>

					<description><![CDATA[Welcome back for another weekly update about all things that happened in Zephyr land! Without further ado, let’s dive into the highlights of the past week. Using CLion for Zephyr development There is always a lot of questions from people new to Zephyr on what IDE they should be using (if any), and suggestions for [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Welcome back for another weekly update about all things that happened in Zephyr land! Without further ado, let’s dive into the highlights of the past week.</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/22/zephyr-weekly-update-using-clion-for-zephyr-development#using-clion-for-zephyr-development">Using CLion for Zephyr development</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/22/zephyr-weekly-update-using-clion-for-zephyr-development#boards-socs">UART over Bluetooth LE</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/22/zephyr-weekly-update-using-clion-for-zephyr-development#mpu-support-on-xtensa">MPU Support on Xtensa</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/22/zephyr-weekly-update-using-clion-for-zephyr-development#boards-socs">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/22/zephyr-weekly-update-using-clion-for-zephyr-development#general-drivers">General drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/22/zephyr-weekly-update-using-clion-for-zephyr-development#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="using-clion-for-zephyr-development">Using CLion for Zephyr development</h2>


<div class="wp-block-image">
<figure class="alignleft size-medium is-resized"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-3.png"><img loading="lazy" decoding="async" width="300" height="300" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-3-300x300.png" alt="" class="wp-image-7096" style="width:221px;height:auto" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-3-300x300.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-3-1024x1024.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-3-150x150.png 150w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-3-768x768.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-3-1536x1536.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-3-1200x1200.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-3-1980x1980.png 1980w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-3.png 2048w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></figure></div>


<p>There is always a lot of questions from people new to Zephyr on what IDE they should be using (if any), and suggestions for setting it up for Zephyr development.</p>



<p>It is really nice to see that the folks over at JetBrains took some time to document the instructions for <a href="https://docs.zephyrproject.org/latest/develop/tools/clion.html" target="_blank" rel="noreferrer noopener">using CLion to develop and debug Zephyr application</a>, and I really encourage you to give them a try!</p>



<h2 class="wp-block-heading" id="boards-socs">UART over Bluetooth LE</h2>



<p>You may remember the <a href="https://www.youtube.com/watch?v=uuev2T0x80Q" target="_blank" rel="noreferrer noopener">Zephyr Tech Talk episode</a> from a few weeks back where Luis Ubieda presented the work he&#8217;s been doing around making it easier to use UART over Bluetooth LE.</p>



<p>With PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69881" target="_blank" rel="noreferrer noopener">#69881</a>, a new implementation of Nordic UART Service (NUS) is provided. It essentially exposes to characteristics for RX/TX, allowing to mimic a UART over BLE.  </p>



<p>A dedicated <a href="https://docs.zephyrproject.org/latest/snippets/nus-console/README.html" target="_blank" rel="noreferrer noopener"><code>nus-console</code> snippet</a> makes it really easy to user UART over BLE for the Zephyr console, by allowing to redirect serial console output to a UART over NUS Devicetree instance. </p>



<h2 class="wp-block-heading" id="mpu-support-on-xtensa">MPU Support on Xtensa</h2>



<p>MMU support was added a little while back, and it&#8217;s great to see that <strong>MPU (Memory Protection Unit) is now supported on Xtensa</strong> architectures.</p>



<p>PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67938" target="_blank" rel="noreferrer noopener">#67938</a>.</p>



<h2 class="wp-block-heading" id="boards-socs">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li>Nuvoton <strong>NuMaker M2L31KI</strong> evaluation board is a Cortex-M23 based development board running at 72MHz and targeting IoT applications. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70357" target="_blank" rel="noreferrer noopener">#70357</a>)</li>



<li>Pin mappings for <strong>ST Morpho connector of supported STM32 Nucleo G0</strong> boards have been added with PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69693" target="_blank" rel="noreferrer noopener">#69693</a>.</li>



<li>Many <strong>new peripherals</strong> have been added to the <strong>NXP RW612</strong> SoC port, from DMA to Flash driver, counters, I2C, &#8230;. (see e.g. PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70192" target="_blank" rel="noreferrer noopener">#70192</a>)</li>
</ul>



<h2 class="wp-block-heading" id="general-drivers">General drivers</h2>



<p>There were several interesting improvements around <strong>Ethernet support</strong>:</p>



<ul class="wp-block-list">
<li>You can now use <strong>Ethernet drivers in &#8220;raw&#8221; mode</strong> (i.e. without building the L2 layer / MAC support). See <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_ETH_DRIVER_RAW_MODE">CONFIG_ETH_DRIVER_RAW_MODE</a></code>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70030" target="_blank" rel="noreferrer noopener">#70030</a>)</li>



<li>It is now possible to do <strong>Ethernet MAC address filtering</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69385" target="_blank" rel="noreferrer noopener">#69385</a>)</li>
</ul>



<p>And also:</p>



<ul class="wp-block-list">
<li><strong>MAX31790 </strong>is a 6-Channel PWM Fan RPM Controller. The existing PWM controller driver has been extended to now be a &#8220;multi-function device&#8221; (MFD) driver that also allows to access the &#8220;sensor&#8221; side of this IC, i.e <strong>retrieve the fan speed and fan fault information</strong> for each channel. </li>



<li>The new-ish driver for the <strong>Pixart PMW3610DM</strong> (low-power laser mouse sensor) now <strong>exposes more configuration options</strong>, ex. to set the resolution, enable &#8220;smart mode&#8221;, etc.). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70248" target="_blank" rel="noreferrer noopener">#70248</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li><a href="https://docs.zephyrproject.org/latest/develop/api/overview.html">Zephyr API overview documentation page</a> now indicates the stability level of each API. There are still many instances where the information is missing but surfacing this information will make it easier to improve and clean it up over time. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/61994" target="_blank" rel="noreferrer noopener">#61994</a>)</li>



<li>In order to help not flood logs with log messages that are repetitive, new <code>LOG_WARN_ONCE()</code> macro will write a WARNING level message to the log <strong>on the first execution only</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70282" target="_blank" rel="noreferrer noopener">#70282</a>)</li>



<li>Ahead of the <a href="https://www.linkedin.com/events/7175477390708547584/" target="_blank" rel="noreferrer noopener">upcoming Zephyr Tech Talk</a> about the new hardware model, some great work was done to explain the <strong><a href="https://docs.zephyrproject.org/latest/hardware/porting/board_porting.html#board-terminology" target="_blank" rel="noreferrer noopener">terminology</a> inherent to SoCs and boards</strong> in the context of Zephyr. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69802" target="_blank" rel="noreferrer noopener">#69802</a>)</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="232" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/board-terminology.png" alt="" class="wp-image-7094" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/board-terminology.png 800w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/board-terminology-300x87.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/board-terminology-768x223.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></figure>



<ul class="wp-block-list">
<li><strong>Percepio</strong> module has been updated to use TraceRecorder v4.8.2 and DevAlert (DFM) v2.1.0. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68490" target="_blank" rel="noreferrer noopener">#68490</a>)</li>



<li><strong>POSIX</strong>:
<ul class="wp-block-list">
<li>Added support for <code><strong>pthread_attr_getscope()</strong></code> and <code><strong>pthread_attr_setscope()</strong></code>. (PR<a href="https://github.com/zephyrproject-rtos/zephyr/pull/68450" target="_blank" rel="noreferrer noopener">#68450</a>)</li>



<li>Added support for <strong><code>confstr()</code></strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70274" target="_blank" rel="noreferrer noopener">#70274</a>)</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>10 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/MarinaKalashina" target="_blank" rel="noreferrer noopener">@MarinaKalashina</a>, <a href="https://github.com/Arunmanialagarsamy" target="_blank" rel="noreferrer noopener">@Arunmanialagarsamy</a>, <a href="https://github.com/vidarbe" target="_blank" rel="noreferrer noopener">@vidarbe</a>, <a href="https://github.com/SamyFrancelet" target="_blank" rel="noreferrer noopener">@SamyFrancelet</a>, <a href="https://github.com/su47flying" target="_blank" rel="noreferrer noopener">@su47flying</a>, <a href="https://github.com/grb72t3yde" target="_blank" rel="noreferrer noopener">@grb72t3yde</a>, <a href="https://github.com/ad8sweera" target="_blank" rel="noreferrer noopener">@ad8sweera</a>, <a href="https://github.com/jgenssler-GiN" target="_blank" rel="noreferrer noopener">@jgenssler-GiN</a>, <a href="https://github.com/ldaj00" target="_blank" rel="noreferrer noopener">@ldaj00</a>, and <a href="https://github.com/eriktamlin" target="_blank" rel="noreferrer noopener">@eriktamlin</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/03/22/zephyr-weekly-update-using-clion-for-zephyr-development/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/zephyr-weekly-mar-22.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - March 22, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/zephyr-weekly-mar-22-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - March 22, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">7068</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Bring&#8217;em new boards and SoCs!</title>
		<link>https://blog.benjamin-cabe.com/2024/03/15/zephyr-weekly-update-bringem-new-boards-and-socs</link>
					<comments>https://blog.benjamin-cabe.com/2024/03/15/zephyr-weekly-update-bringem-new-boards-and-socs#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 15 Mar 2024 10:43:00 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6993</guid>

					<description><![CDATA[Before diving into this week&#8217;s Zephyr updates, here&#8217;s your reminder to save the date for our next Zephyr Tech Talk, on April 3. The new hardware model introduced for Zephyr 3.7 is a huge improvement that will allow Zephyr to stay relevant for increasingly complex embedded hardware systems. Join us to understand the rationale behind [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Before diving into this week&#8217;s Zephyr updates, here&#8217;s your reminder to <a href="https://www.linkedin.com/events/7175477390708547584" target="_blank" rel="noreferrer noopener">save the date for our next Zephyr Tech Talk, on April 3</a>. The new hardware model introduced for Zephyr 3.7 is a huge improvement that will allow Zephyr to stay relevant for increasingly complex embedded hardware systems.</p>



<p><a href="https://www.linkedin.com/events/7175477390708547584" target="_blank" rel="noreferrer noopener">Join us</a> to understand the rationale behind this massive overhaul of the legacy model, and bring all the questions you may have, in particular with regards to <strong>migrating existing board definitions</strong> that you might be maintaining for your own projects.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Diving Into Zephyr&#039;s New Hardware Model // Zephyr Tech Talk #014" width="580" height="326" src="https://www.youtube.com/embed/hQC3EcFqDkc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/15/zephyr-weekly-update-bringem-new-boards-and-socs#boards-socs">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/15/zephyr-weekly-update-bringem-new-boards-and-socs#general-drivers">General drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/15/zephyr-weekly-update-bringem-new-boards-and-socs#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="boards-socs">Boards &amp; SoCs</h2>



<p>Now that the new hardware model has been rolled out, there&#8217;s quite a few new boards and SoCs that were waiting for it that could finally get merged. See for yourself:</p>



<ul class="wp-block-list">
<li>The <strong>NXP RW</strong> SoC series provides highly integrated wireless (Wi-Fi, BLE, and 802.15.4) MCUs, and PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69943" target="_blank" rel="noreferrer noopener">#69943</a> introduced support for it in Zephyr. The board definition for RW612 has also been added. This chip is typically sold by module manufacturer such as u-blox, Murata, etc. as a standalone, ready-to-use, wireless module.</li>



<li><strong>FRDM-MCXN947</strong> is a compact and scalable development board for rapid prototyping of MCX N94 and N54 MCUs. It is now supported in Zephyr. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69890" target="_blank" rel="noreferrer noopener">#69890</a>)</li>



<li><strong>Starfive VisionFive2</strong> is a high-performance 64-bit RISC-V single board computer (SBC) with an integrated GPU. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69814" target="_blank" rel="noreferrer noopener">#69814</a>)</li>



<li><strong>ST25DV-DISCOVERY</strong> is a demonstration kit to evaluate the features and capabilities of the ST25DV series. <a href="https://github.com/everedero">Eve Redero</a> contributed support for this board and I highly encourage you to also read the <strong><a href="https://redero.fr/?p=453&amp;lang=en" target="_blank" rel="noreferrer noopener">detailed write-up</a></strong> about the whole process. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70010" target="_blank" rel="noreferrer noopener">#70010</a>)</li>



<li><strong>Numaker M2L31 </strong>SoC series is based on an Arm Cortex-M23 core running at up to 72 MHz, 64 to 512 Kb of ReRAM, and 40 to 168 Kb of SRAM. Typical applications include motor control, PC peripherals, battery management systems, etc. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69778" target="_blank" rel="noreferrer noopener">#69778</a>)</li>



<li><strong>Adafruit 5&#215;5 NeoPixel Grid BFF&nbsp;</strong>is a small shield that can stack on top of QT Py or XIAO boards and features 25 NeoPixel LEDs. It is now supported both as a &#8220;classic&#8221; LED strip, but also as a display controller using the LED matrix driver introduced last week! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67610" target="_blank" rel="noreferrer noopener">#67610</a>)</li>



<li>Support for <strong>DPPIC </strong>(Distributed Programmable Peripheral Interconnect Controller) and <strong>IPCT&nbsp;</strong>((Interprocessor Communication Transceiver) peripherals has been added for Nordic Semiconductor <strong>nRF54H20</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69811" target="_blank" rel="noreferrer noopener">#69811</a>)</li>



<li>The <strong>STM32 SDMMC </strong>driver now also <strong>supports eMMC</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69836" target="_blank" rel="noreferrer noopener">#69836</a>)</li>



<li>New <strong>generic driver for NXP MCUX FlexIO</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/53748" target="_blank" rel="noreferrer noopener">#53748</a>)</li>



<li>Support for external NOR flash has been added to FANKE FK7B0M1-VBT6. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68442" target="_blank" rel="noreferrer noopener">#68442</a>)</li>



<li><strong>I2C support </strong>has been enabled on <strong>STM32H5 </strong>boards. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69094" target="_blank" rel="noreferrer noopener">#69094</a>)</li>
</ul>



<h2 class="wp-block-heading" id="general-drivers">General drivers</h2>



<ul class="wp-block-list">
<li><strong>HL7800 cellular modem now supports PPP and CMUX</strong>, with the Pinnacle 100 DVK and MG100 from Laird Connectivity (<a href="https://www.ezurio.com/laird-connectivity" target="_blank" rel="noreferrer noopener">now Ezurio</a>!) updated accordingly. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/70060" target="_blank" rel="noreferrer noopener">#70060</a>)</li>



<li>Added support for <strong>minimum supported bitrates in CAN drivers</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69533" target="_blank" rel="noreferrer noopener">#69533</a>)</li>



<li><strong>ESP32 Ethernet</strong> driver now supports <strong>setting the MAC address at runtime</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69869" target="_blank" rel="noreferrer noopener">#69869</a>)</li>



<li><strong>Microchip XEC series KSCAN driver has been converted to use the input subsystem</strong> and common keyboard matrix library. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65162" target="_blank" rel="noreferrer noopener">#65162</a>)</li>



<li>STM32 HCI Bluetooth driver now supports raw mode. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69623" target="_blank" rel="noreferrer noopener">#69623</a>)</li>



<li>New <code>ADC_DT_SPEC_*_BY_NAME()</code> macros allow to get ADC io-channel information from devicetree by name. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68247" target="_blank" rel="noreferrer noopener">#68247</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li><code>west flash</code> and <code>west debugserver</code> commands can now be used with the <code>native_sim</code> board. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68835" target="_blank" rel="noreferrer noopener">#68835</a>)</li>



<li>The <strong>network logging (syslog) backend now supports TCP</strong> in addition to UDP. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68307" target="_blank" rel="noreferrer noopener">#68307</a>)
<ul class="wp-block-list">
<li>Since the DHCP protocol allows to provide the address of a syslog server as part of the lease (option 7), the new <code>CONFIG_LOG_BACKEND_NET_USE_DHCPV4_OPTION</code> option allows to automatically set the syslog server address when the Log Server option is set by the DHCP server. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69328" target="_blank" rel="noreferrer noopener">#69328</a>)</li>
</ul>
</li>



<li>Telnet shell backend has been refactored to use the new Socket service library. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69612" target="_blank" rel="noreferrer noopener">#69612</a>)</li>



<li><strong>Stereo support</strong> has been added to the Bluetooh LE audio broadcast sink sample. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69341" target="_blank" rel="noreferrer noopener">#69341</a>)</li>



<li><strong>&#8220;Change Microphone Gain&#8221;</strong> procedure has been implemeted in the <strong>Bluetooth CAP commander</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66748" target="_blank" rel="noreferrer noopener">#66748</a>)</li>



<li><strong>Bluetooth CAP shell </strong>module now properly supports <strong>broadcast commands</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68550" target="_blank" rel="noreferrer noopener">#68550</a>)</li>



<li>New <code>sys_slist_find()</code> method to find an item in a singly linked list without removing it. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66621" target="_blank" rel="noreferrer noopener">#66621</a>)</li>



<li><strong>POSIX</strong>:
<ul class="wp-block-list">
<li>Added support for <code><strong>getmsg()</strong></code> and <code><strong>getpmsg()</strong></code> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68516" target="_blank" rel="noreferrer noopener">#68516</a>)</li>



<li>Added a &#8220;small&#8221; runtime implementation for <code>sysconf()</code> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69882" target="_blank" rel="noreferrer noopener">#69882</a>)</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>13 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/ene-steven" target="_blank" rel="noreferrer noopener">@ene-steven</a>, <a href="https://github.com/KyleKotowick" target="_blank" rel="noreferrer noopener">@KyleKotowick</a>, <a href="https://github.com/poialex" target="_blank" rel="noreferrer noopener">@poialex</a>, <a href="https://github.com/alpineisle" target="_blank" rel="noreferrer noopener">@alpineisle</a>, <a href="https://github.com/krisnaresi" target="_blank" rel="noreferrer noopener">@krisnaresi</a>, <a href="https://github.com/kurtjd" target="_blank" rel="noreferrer noopener">@kurtjd</a>, <a href="https://github.com/nordic-segl" target="_blank" rel="noreferrer noopener">@nordic-segl</a>, <a href="https://github.com/michalek-no" target="_blank" rel="noreferrer noopener">@michalek-no</a>, <a href="https://github.com/GRobertZieba" target="_blank" rel="noreferrer noopener">@GRobertZieba</a>, <a href="https://github.com/sasataku" target="_blank" rel="noreferrer noopener">@sasataku</a>, <a href="https://github.com/kica-z" target="_blank" rel="noreferrer noopener">@kica-z</a>, <a href="https://github.com/grahas" target="_blank" rel="noreferrer noopener">@grahas</a>, and <a href="https://github.com/marwaiehm-st" target="_blank" rel="noreferrer noopener">@marwaiehm-st</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/03/15/zephyr-weekly-update-bringem-new-boards-and-socs/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/zephyr-weekly-mar-15-1.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - March 15, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/zephyr-weekly-mar-15-1-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - March 15, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6993</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – New Hardware Model</title>
		<link>https://blog.benjamin-cabe.com/2024/03/08/zephyr-weekly-update-new-hardware-model</link>
					<comments>https://blog.benjamin-cabe.com/2024/03/08/zephyr-weekly-update-new-hardware-model#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 08 Mar 2024 10:15:00 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6938</guid>

					<description><![CDATA[Howdy! Before diving into this week&#8217;s news, I would like to extend an invitation to all of you reading this weekly update to consider submitting a talk for an upcoming Zephyr Tech Talk. As you have probably noticed if you watched previous episodes, these are very informal sessions, so you shouldn&#8217;t worry about having to [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Howdy! Before diving into this week&#8217;s news, I would like to extend an invitation to all of you reading this weekly update to <strong>consider submitting a talk for an upcoming Zephyr Tech Talk</strong>. As you have probably noticed if you watched <a href="https://zephyrproject.org/tech-talks">previous episodes</a>, these are very informal sessions, so you shouldn&#8217;t worry about having to prepare super polished slides (but cool demos are definitely a nice to have!).</p>



<p>If you are a maintainer of a Zephyr area you feel deserves more attention, or simply a Zephyr contributor or enthusiast eager to share insights about a topic you&#8217;re passionate about, please <a href="https://zephyrproject.org/propose-a-tech-talk" target="_blank" rel="noreferrer noopener">propose your idea here</a>!</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/08/zephyr-weekly-update-new-hardware-model#new-hardware-model">New Hardware Model</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/08/zephyr-weekly-update-new-hardware-model#led-matrices-as-regular-display-controllers">LED matrices as regular display controllers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/08/zephyr-weekly-update-new-hardware-model#general-drivers">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/08/zephyr-weekly-update-new-hardware-model#general-drivers">General drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/08/zephyr-weekly-update-new-hardware-model#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="new-hardware-model">New Hardware Model</h2>



<p>As announced in previous weeks, a <strong>new hardware model</strong> has been introduced for making it easier to support hardware configurations that were becoming difficult or impossible to describe with the legacy model. </p>



<p>This new model allows to <strong>better address multi-core</strong> (and sometimes multi-archictecture, too!) <strong>SoCs, as well as boards with multiple SoCs</strong>. </p>



<p>All the hundreds of boards supported in Zephyr have already been migrated, and what you need to do to migrate your own existing board definitions that you may be maintaining out-of-tree is descibred in the <a href="https://docs.zephyrproject.org/latest/hardware/porting/board_porting.html#transition-to-the-current-hardware-model">Board porting guide</a>.</p>



<p><strong>We will be having a Zephyr Tech Talk on the topic in just a few weeks, so stay tuned for that!</strong></p>



<h2 class="wp-block-heading" id="led-matrices-as-regular-display-controllers">LED matrices as regular display controllers</h2>



<p>I am sure some of you may have a love &amp; hate relationship with Devicetree. It certainly takes some time to get used to the syntax and the sometimes opaque error messages in case of misconfiguration, but it is a super powerful and versatile tool.</p>



<p>This week, a new driver was introduced that I believe really illustrates quite well how one can really <strong>decouple their application code from the underlying hardware</strong>.</p>



<p>Zephyr already has a generic driver class for <strong>LED strips</strong>. You will find several drivers in the Zephyr tree (ex. for the popular WS2812 RGB LEDs) that implement the LED strip API and allow to set the colors of all the LEDs in the strip. As you can imagine, on the Devicetree side of things, the configuration of the driver includes things like how many LEDs are in the strip, or which pins/bus should be used to control the strip.</p>



<p>There is also a driver class for all things <strong>display controllers</strong>. Here, we&#8217;re talking about drivers exposing properties for configuring the resolution of the display, which pins to use to transmit pixel data, etc. In most cases, the application developer couldn&#8217;t care less about the specifics of the display controller, and they only use the display driver API to effectively put pixels on the screen. In fact, there&#8217;s even higher levels of abstraction, like the pre-integration with LVGL, which you&#8217;ve heard me talk about many times.</p>



<p>OK, so can you guess where I am going with this? Yep, a new driver now sits kind of in the middle of these two classes of drivers. It&#8217;s a <strong>display controller driver for LED matrices</strong>. Give it a phandle to an led-strip node, and you have your new display ready to rock &amp; roll!</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; title: ; notranslate">
chosen {
    zephyr,display = &amp;led_strip_matrix;
};

led_strip_matrix: led_strip_matrix {
    compatible = &quot;led-strip-matrix&quot;;
    status = &quot;okay&quot;;
    led-strips = &lt;&amp;led_strip&gt;;
    chain-lengths = &lt;256&gt;;
    width = &lt;16&gt;;
    height = &lt;16&gt;;
    circulative;
    start-from-right;
};
</pre></div>


<figure class="wp-block-video"><video controls src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/PXL_20240306_232146509-2.mp4"></video></figure>



<p> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68614" target="_blank" rel="noreferrer noopener">#68614</a>)</p>



<h2 class="wp-block-heading" id="general-drivers">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li>New <strong>MIPI DBI host controller driver for Renesas Smartbond</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68426" target="_blank" rel="noreferrer noopener">#68426</a>)</li>



<li>New WWDT <strong>watchdog driver for Nuvoton Numaker</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68044" target="_blank" rel="noreferrer noopener">#68044</a>)</li>



<li>New <strong>RTC driver for Raspberry Pi RP2040</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64939" target="_blank" rel="noreferrer noopener">#64939</a>)</li>



<li>nRF54 SoCs have two IP blocks that help with inter-domain signaling and IPC scenarios, namely <strong>VEVIF (VPR Event Interface) and BELLBOARD</strong>. These two peripherals now have drivers in-tree. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69303" target="_blank" rel="noreferrer noopener">#69303</a>).</li>



<li>Added support for <strong>Renesas Smartbond LCD controller</strong> (LCDC) display controller driver.  (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67649" target="_blank" rel="noreferrer noopener">#67649</a>)</li>



<li>If you are a user of the M5Stack Core2, you may have noticed that by default, the Grove connectors are not powered. Thanks to PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67280" target="_blank" rel="noreferrer noopener">#67280</a> you can now control whether the Grove connectors should be powered or not using the <code>bus_5v</code> regulator.</li>
</ul>



<h2 class="wp-block-heading" id="general-drivers">General drivers</h2>



<ul class="wp-block-list">
<li>New cellular model driver for the Nordic nRF91 series. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68981" target="_blank" rel="noreferrer noopener">#68981</a>)</li>



<li>New <strong>flash driver </strong>for MRAM (Magnetic Random Access Memory) as found on the new nRF54H20. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69800" target="_blank" rel="noreferrer noopener">#69800</a>)</li>



<li>You may already be familiar with the <code>regulator-boot-on</code> Devicetree property which allows to ensures a given regulator is enabled when your application start. The new <code>regulator-boot-off</code> property now allows to do the opposite. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69319" target="_blank" rel="noreferrer noopener">#69319</a>)</li>



<li>New <strong>input driver</strong> for the Pixart PMW3610DM, a low-power laser mouse sensor. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69722" target="_blank" rel="noreferrer noopener">#69722</a>)</li>



<li>In the context of <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69303" target="_blank" rel="noreferrer noopener">#69303</a>, some work has also been done on cleaning up the mbox API (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69390" target="_blank" rel="noreferrer noopener">#69390</a>)</li>



<li><a href="https://github.com/zephyrproject-rtos/zephyr/pull/68776" target="_blank" rel="noreferrer noopener">#68776</a> i2c: RTIO context and some small drivers +1119 -140 (@teburd)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>Support has been added for using <strong>QEMU on Windows in Twister</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67595" target="_blank" rel="noreferrer noopener">#67595</a>)</li>



<li>It&#8217;s now possible to set <strong>multiple IPv4 netmasks per network interface</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68419" target="_blank" rel="noreferrer noopener">#68419</a>)</li>



<li>Significant improvements were made to the <strong>State Machine Framework</strong> (SMF) to better support <strong>hierarchical state machines</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66753" target="_blank" rel="noreferrer noopener">#66753</a>)</li>



<li><strong>LVGL</strong> exposes an API for <strong>rounding</strong> the coordinates of areas to redraw, as this can be needed for some display controllers. The new <code>CONFIG_LV_Z_AREA_X_ALIGNMENT_WIDTH</code> and <code>LV_Z_AREA_Y_ALIGNMENT_WIDTH</code> KConfig options allow to make use of the rounding mechanism when needed. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69410" target="_blank" rel="noreferrer noopener">#69410</a>)</li>



<li><strong>DTLS sockets now allow to send multiple fragments</strong> in the same <code>sendmsg()</code>.  (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69280" target="_blank" rel="noreferrer noopener">#69280</a>)</li>



<li><strong>Breaking API change for CAN controllers</strong> as part of a rework of the manual bus-off recover. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69460" target="_blank" rel="noreferrer noopener">#69460</a>)</li>



<li>New <strong>POSIX APIs</strong>:
<ul class="wp-block-list">
<li>Support for getting and setting <strong>POSIX environment variables</strong> has been introduced (<code><strong>environ</strong></code>, <code><strong>getenv()</strong></code>, <code><strong>setenv()</strong></code>, and <code><strong>unsetenv()</strong></code>). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66762" target="_blank" rel="noreferrer noopener">#66762</a>)</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>12 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/Dermiste" target="_blank" rel="noreferrer noopener">@Dermiste</a>, <a href="https://github.com/jthm-ot" target="_blank" rel="noreferrer noopener">@jthm-ot</a>, <a href="https://github.com/zhaynxp" target="_blank" rel="noreferrer noopener">@zhaynxp</a>, <a href="https://github.com/jonathonpenix" target="_blank" rel="noreferrer noopener">@jonathonpenix</a>, <a href="https://github.com/cradzik" target="_blank" rel="noreferrer noopener">@cradzik</a>, <a href="https://github.com/ajf58" target="_blank" rel="noreferrer noopener">@ajf58</a>, <a href="https://github.com/Deedone" target="_blank" rel="noreferrer noopener">@Deedone</a>, <a href="https://github.com/pfarwsi" target="_blank" rel="noreferrer noopener">@pfarwsi</a>, <a href="https://github.com/ChangNice" target="_blank" rel="noreferrer noopener">@ChangNice</a>, <a href="https://github.com/glenn-andrews" target="_blank" rel="noreferrer noopener">@glenn-andrews</a>, <a href="https://github.com/sibertdeclercq" target="_blank" rel="noreferrer noopener">@sibertdeclercq</a>, and <a href="https://github.com/gangli02" target="_blank" rel="noreferrer noopener">@gangli02</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/03/08/zephyr-weekly-update-new-hardware-model/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/PXL_20240306_232146509-2.mp4" length="1629826" type="video/mp4" />

					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/zephyr-weekly-mar-8-1.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - March 8, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/zephyr-weekly-mar-8-1-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - March 8, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6938</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Zephyr 3.6.0 is a go, Hello 3.6.99!</title>
		<link>https://blog.benjamin-cabe.com/2024/03/01/zephyr-weekly-update-zephyr-3-6-0-is-a-go-hello-3-6-99</link>
					<comments>https://blog.benjamin-cabe.com/2024/03/01/zephyr-weekly-update-zephyr-3-6-0-is-a-go-hello-3-6-99#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 01 Mar 2024 20:46:01 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6843</guid>

					<description><![CDATA[Zephyr 3.6 was released a week ago and it is really amazing to see how well it was received. I am particularly happy to see that thousands of people have already watched the video highlighting some of the changes and additions available in this release, such as the added support for GNSS receivers, keyboard matrix [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Zephyr 3.6 was <a href="https://zephyrproject.org/welcome-zephyr-3-6" target="_blank" rel="noreferrer noopener">released</a> a week ago and it is really amazing to see how well it was received. I am particularly happy to see that thousands of people have already watched the <strong><a href="https://www.youtube.com/watch?v=PeZp3ZcI5rg">video</a> highlighting some of the changes and additions available in this release</strong>, such as the added support for GNSS receivers, keyboard matrix driver, and more. Please check it out if you haven&#8217;t had a chance already!</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Zephyr 3.6 Release Highlights" width="580" height="326" src="https://www.youtube.com/embed/PeZp3ZcI5rg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>I also encourage you to check out our special Zephyr Tech Talk episode earlier this week!</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Live community Q&amp;A - Zephyr 3.6 Release // Zephyr Tech Talk #013" width="580" height="326" src="https://www.youtube.com/embed/ay22XeIlWA0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p><strong>Zephyr 3.7</strong>, which will be the <strong>next Long-Term Support version of the project</strong>, is already starting to shape up, and below are some of the highlights from the first couple hundreds of commits already merged into the main branch.</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/01/zephyr-weekly-update-zephyr-3-6-0-is-a-go-hello-3-6-99#native-uart-tty-driver-now-supports-interrupt-driven-api">Native UART TTY driver now supports interrupt-driven API</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/01/zephyr-weekly-update-zephyr-3-6-0-is-a-go-hello-3-6-99#boards-socs">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/01/zephyr-weekly-update-zephyr-3-6-0-is-a-go-hello-3-6-99#general-drivers">General drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/03/01/zephyr-weekly-update-zephyr-3-6-0-is-a-go-hello-3-6-99#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="native-uart-tty-driver-now-supports-interrupt-driven-api">Native UART TTY driver now supports interrupt-driven API</h2>



<p>In an effort to make it increasingly easier to emulate Zephyr on host systems, the native UART TTY driver now supports an interrupt-driven API. In order to use the new driver for your <code>zephyr,native-tty-uart</code> UARTs, you may simply enable <code>CONFIG_UART_INTERRUPT_DRIVEN</code> in your project configuration.</p>



<p>I find it particularly interesting as this means that it&#8217;s now easier to e.g. simulate a GNSS receiver on your host system, by attaching your Zephyr app to a virtual UART into which you can inject your mock NMEA sentences. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68857" target="_blank" rel="noreferrer noopener">#68857</a>).</p>



<h2 class="wp-block-heading" id="boards-socs">Boards &amp; SoCs</h2>



<p>As the project is in the process of transitioning to a new model for describing the SoCs and boards in the source tree, no work has been merged in the main branch this week.</p>



<p>The maintainers are holding off with adding new boards/SoCs and making changes in main until the working branch (<code><a href="https://github.com/zephyrproject-rtos/zephyr/tree/collab-hwm" target="_blank" rel="noreferrer noopener">collab-hwm</a></code>) where the migration is happening is ready to be merged (which should be very soon).</p>



<h2 class="wp-block-heading" id="general-drivers">General drivers</h2>



<ul class="wp-block-list">
<li>An interesting new input driver allows to <strong>define input keys that are implemented using an ADC and a resistor ladder</strong>.</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="856" height="350" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image.png" alt="" class="wp-image-6868" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image.png 856w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-300x123.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/image-768x314.png 768w" sizes="auto, (max-width: 856px) 100vw, 856px" /><figcaption class="wp-element-caption">Image credit: ignorantofthings.com</figcaption></figure>



<p>This is a pretty clever way to add multiple buttons while only using a single ADC channel, and the driver allows to basically define the mapping of how each ADC values / voltage ranges correspond to each key, or key combination. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68446" target="_blank" rel="noreferrer noopener">#68446</a>)</p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: plain; title: ; notranslate">
/ {
        buttons {
                compatible = &quot;adc-keys&quot;;
                io-channels = &amp;lt;&amp;amp;adc 2&gt;;
                keyup-threshold-mv = &amp;lt;0&gt;;
                key_0 {
                        press-thresholds-mv = &amp;lt;1650&gt;,  /* KEY0 */
                                              &amp;lt;2536&gt;;  /* KEY0 + KEY1 */
                        zephyr,code = &amp;lt;INPUT_KEY_0&gt;;
                };
                key_1 {
                        press-thresholds-mv = &amp;lt;2300&gt;,  /* KEY1 */
                                              &amp;lt;2536&gt;;  /* KEY0 + KEY1 */
                        zephyr,code = &amp;lt;INPUT_KEY_1&gt;;
                };
        };
};
</pre></div>


<ul class="wp-block-list">
<li><strong>RRAM (or ReRAM, Resistive Random-Access Memory)</strong> is a type of non-volatile memory that stores data by changing the resistance across a dielectric solid-state material. It&#8217;s a relatively new technology and one of its benefit is that it is several orders of magnitude faster than flash memory.<br>A new flash driver for the RRAM controller found on some Nordic nRF SoCs has been contributed this week. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68309" target="_blank" rel="noreferrer noopener">#68309</a>)</li>



<li>New <strong>regulator driver</strong> for the <strong>Cirrus CP9314 </strong>buck switched capacitor DC/DC Converter (<code>cirrus,cp9314</code>). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68177" target="_blank" rel="noreferrer noopener">#68177</a>)</li>



<li>New driver for the <strong>ScioSense ENS160</strong> environmental, multi-gas, sensor (<code>sciosense,ens160</code>). This sensor allows to measure CO2, VOC, as well as a general air quality index (AQI). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67343" target="_blank" rel="noreferrer noopener">#67343</a>)</li>



<li>The <strong>PixArt PAT9125EL</strong> is a low-power <strong>optical tracking sensor </strong>that doesn&#8217;t require a lens to work, and a new input driver for it has been added (<code>pixart,pat912x</code>)!<br>This sensor is particularly well suited for tracking movement over a shiny/glossy surface. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69492" target="_blank" rel="noreferrer noopener">#69492</a>)</li>
</ul>



<figure class="wp-block-video"><video autoplay controls loop muted src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/PXL_20240301_182510548_2.mp4"></video><figcaption class="wp-element-caption">Video courtesy of Fabio Baltieri</figcaption></figure>



<ul class="wp-block-list">
<li>The charger subsystem now allows to <strong>define output limits for the discharge rate and the system voltage</strong>, allowing to issue alerts when these limits are reached. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67810" target="_blank" rel="noreferrer noopener">#67810</a>)</li>



<li>The Ethernet driver for the <strong>W5500 now supports link status detection</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68752" target="_blank" rel="noreferrer noopener">#68752</a>)</li>



<li>The <strong>ESP-AT Wi-Fi driver</strong> now allows to <strong>bind and receive from UDP sockets</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68586" target="_blank" rel="noreferrer noopener">#68586</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>Various improvements to the <strong>DHCPv4 server</strong>.</li>



<li>New <code><a href="https://docs.zephyrproject.org/latest/connectivity/networking/api/lwm2m.html#c.lwm2m_set_bulk" target="_blank" rel="noreferrer noopener">lwm2m_set_bulk()</a></code> API allows to set multiple resource values at once. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68988" target="_blank" rel="noreferrer noopener">#68988</a>)</li>



<li>New network shell command (<code>net iface set_ipv4_gateway</code>) allows to <strong>set the IPv4 gateway of a network interface</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68465" target="_blank" rel="noreferrer noopener">#68465</a>)</li>



<li>It is now possible to use <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_SHELL_MSG_CMD_NOT_FOUND" target="_blank" rel="noreferrer noopener">CONFIG_SHELL_MSG_CMD_NOT_FOUND</a></code> and <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_SHELL_MSG_SPECIFY_SUBCOMMAND" target="_blank" rel="noreferrer noopener">SHELL_MSG_SPECIFY_SUBCOMMAND</a></code> to indicate what message (if any) will be printed when a given command or subcommand is not found. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/69002" target="_blank" rel="noreferrer noopener">#69002</a>)</li>



<li>New <code>sign_extend()</code> and <code>sign_extend_64()</code> helper functions to perform sign extensions. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68828" target="_blank" rel="noreferrer noopener">#68828</a>)</li>



<li><strong>Bluetooth CAP Commander</strong> now supports the &#8220;<strong>Change Volume Mute State</strong>&#8221; procedure. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66281" target="_blank" rel="noreferrer noopener">#66281</a>)</li>



<li>New <strong>POSIX APIs</strong>:
<ul class="wp-block-list">
<li><strong><code>fattach()</code></strong></li>



<li><code><strong>fdetach()</strong></code></li>



<li><code><strong>syslog()</strong></code> (PR #68515)</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>16 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/JayHCloud" target="_blank" rel="noreferrer noopener">@JayHCloud</a>, <a href="https://github.com/bmihelcic" target="_blank" rel="noreferrer noopener">@bmihelcic</a>, <a href="https://github.com/thompsa" target="_blank" rel="noreferrer noopener">@thompsa</a>, <a href="https://github.com/jaz1-nordic" target="_blank" rel="noreferrer noopener">@jaz1-nordic</a>, <a href="https://github.com/vshymanskyy" target="_blank" rel="noreferrer noopener">@vshymanskyy</a>, <a href="https://github.com/rntsoma" target="_blank" rel="noreferrer noopener">@rntsoma</a>, <a href="https://github.com/sageve" target="_blank" rel="noreferrer noopener">@sageve</a>, <a href="https://github.com/jerome-pouiller" target="_blank" rel="noreferrer noopener">@jerome-pouiller</a>, <a href="https://github.com/ngphibang" target="_blank" rel="noreferrer noopener">@ngphibang</a>, <a href="https://github.com/celinakalus" target="_blank" rel="noreferrer noopener">@celinakalus</a>, <a href="https://github.com/MaochenWang1" target="_blank" rel="noreferrer noopener">@MaochenWang1</a>, <a href="https://github.com/allemanm" target="_blank" rel="noreferrer noopener">@allemanm</a>, <a href="https://github.com/Brianmm94" target="_blank" rel="noreferrer noopener">@Brianmm94</a>, <a href="https://github.com/rysiof" target="_blank" rel="noreferrer noopener">@rysiof</a>, <a href="https://github.com/jpanisbl" target="_blank" rel="noreferrer noopener">@jpanisbl</a>, and <a href="https://github.com/cmrdrbz" target="_blank" rel="noreferrer noopener">@cmrdrbz</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/03/01/zephyr-weekly-update-zephyr-3-6-0-is-a-go-hello-3-6-99/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/PXL_20240301_182510548_2.mp4" length="1545697" type="video/mp4" />

					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/zephyr-weekly-mar-1.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - March 1, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/03/zephyr-weekly-mar-1-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - March 1, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6843</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – 1 week left before feature freeze</title>
		<link>https://blog.benjamin-cabe.com/2024/01/26/zephyr-weekly-update-1-week-left-before-feature-freeze</link>
					<comments>https://blog.benjamin-cabe.com/2024/01/26/zephyr-weekly-update-1-week-left-before-feature-freeze#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 26 Jan 2024 10:44:21 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6539</guid>

					<description><![CDATA[We are entering the last few weeks of the Zephyr 3.6 release cycle, with the feature freeze scheduled for next Friday, February 2. If you have pull requests that are still pending, now might be a good time to make sure they get reviewed and approved to make it in time for 3.6! 🙂 Second [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">We are entering the last few weeks of the Zephyr 3.6 release cycle, with the <strong>feature freeze scheduled for next Friday, February 2</strong>. If you have pull requests that are still pending, now might be a good time to make sure they get reviewed and approved to make it in time for 3.6! <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/26/zephyr-weekly-update-1-week-left-before-feature-freeze#second-round-of-updates-to-the-sensing-api">Second round of updates to the Sensing API</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/26/zephyr-weekly-update-1-week-left-before-feature-freeze#boards-socs">Boards &amp; SoCs</a><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/26/zephyr-weekly-update-1-week-left-before-feature-freeze#soc-driver-updates">SoC driver updates</a></li></ol></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/26/zephyr-weekly-update-1-week-left-before-feature-freeze#general-drivers">General drivers</a><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/26/zephyr-weekly-update-1-week-left-before-feature-freeze#input-drivers">Input drivers</a></li></ol></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/26/zephyr-weekly-update-1-week-left-before-feature-freeze#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="second-round-of-updates-to-the-sensing-api">Second round of updates to the Sensing API</h2>



<p>PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64478" target="_blank" rel="noreferrer noopener">#64478</a> has introduced another round of updates to the <strong><a href="https://docs.zephyrproject.org/latest/services/sensing/" target="_blank" rel="noreferrer noopener">Sensing API</a></strong>. I haven&#8217;t had time to look into all the details so I encourage you to look at the changes directly in the PR.</p>



<p>As a reminder, there is now also a <strong><a href="https://github.com/zephyrproject-rtos/zephyr/wiki/Sensors-Working-Group" target="_blank" rel="noreferrer noopener">Sensors Working Group</a></strong> that meets every Monday to discuss all things sensors.</p>



<h2 class="wp-block-heading" id="boards-socs">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li>The <strong><a href="https://docs.zephyrproject.org/latest/boards/arm/adi_sdp_k1/doc/index.html" target="_blank" rel="noreferrer noopener">SDP-K1 evaluation board</a></strong> from Analog Devices (ADI) is a system demonstration platform (SDP) designed to connect to various evaluation shields containing ADI components. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67278" target="_blank" rel="noreferrer noopener">#67278</a>)</li>



<li>The <a href="https://docs.zephyrproject.org/latest/boards/arm/stm32wb5mm_dk/doc/stm32wb5mm_dk.html" target="_blank" rel="noreferrer noopener"><strong>STM32WB5MM-DK Discovery Kit</strong></a> is a dev kit for the STM32W5MMG module (dual core Cortex-M4/Cortex-M0+) that comes with an ultra-low-power BLE 5.2 / 802.15.4 radio module, an LCD display, 16MB of external Flash, and a couple of on-board sensors. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67819" target="_blank" rel="noreferrer noopener">#67819</a>)</li>



<li>All <strong>ESP32 boards</strong> saw a significant decrease of their <strong>minimal heap size</strong> thanks to PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67787" target="_blank" rel="noreferrer noopener">#67787</a>. </li>
</ul>



<h3 class="wp-block-heading" id="soc-driver-updates">SoC driver updates</h3>



<ul class="wp-block-list">
<li><strong>Clock initialization has been reworked</strong> across all Microchip/<strong>Atmel SAM</strong> SoCs. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66499" target="_blank" rel="noreferrer noopener">#66499</a>)</li>



<li><strong>Suspend-to-RAM support</strong> has been added for <strong>STM32</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67534" target="_blank" rel="noreferrer noopener">#67534</a>)</li>



<li>New driver for <strong>NXP enhanced Direct Memory Access</strong> (eDMA). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65671" target="_blank" rel="noreferrer noopener">#65671</a>)</li>



<li>Driver for Microchip/<strong>Atmel SAM flash controller</strong> has been redesigned to fully utilize the flash page layout and capabilities of each individual SoC. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64215" target="_blank" rel="noreferrer noopener">#64215</a>)</li>
</ul>



<h2 class="wp-block-heading" id="general-drivers">General drivers</h2>



<ul class="wp-block-list">
<li>A new display driver is available for the <strong>Galaxy Core GC9A01A</strong> display controller, used to drive many <strong>round LCD displays</strong> these days (at least the ones from AliExpress ^^), like the ones used for smart watches and smart dials. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67012" target="_blank" rel="noreferrer noopener">#67012</a>)</li>



<li><strong>Bosch BMP581</strong> is a <strong>barometric pressure sensor</strong> with high accuracy that can be used for e.g. fitness tracking use cases where detecting a change of altitude is required.<br>With an average current consumption of 1.3 µA @ 1 Hz, it definitely qualifies as a <strong>low-power sensor</strong> :). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/61535" target="_blank" rel="noreferrer noopener">#61535</a>)</li>



<li>The driver for <strong>BD8LB600FS 8-channel low-side switch now supports daisy-chaining</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65982" target="_blank" rel="noreferrer noopener">#65982</a>)</li>



<li>New Kconfig options (<code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_POWER_DOMAIN_.*_INIT_PRIORITY" target="_blank" rel="noreferrer noopener">CONFIG_POWER_DOMAIN_*_INIT_PRIORITY</a></code>) have been introduced to allow changing the<strong> initialization priority of power domains</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67939" target="_blank" rel="noreferrer noopener">#67939</a>)</li>



<li>A noteworthy <strong>breaking API change in the CAN drivers</strong>: it is no longer possible to perform run-time filtering of frames based on the Remote Transmission Request&nbsp;bit, and filtering is now instead configured via Kconfig. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67127" target="_blank" rel="noreferrer noopener">#67127</a>)</li>
</ul>



<h3 class="wp-block-heading" id="input-drivers">Input drivers</h3>



<p>This week&#8217;s numerous updates to the <strong>input subsystem</strong> make for a perfect excuse to shamelessly plug the recent <strong><a href="https://www.youtube.com/live/Eb04hyUY4BE" target="_blank" rel="noreferrer noopener">Zephyr Tech Talk with ZMK firmware creator Pete Johanson</a></strong>. Whether you are a mechanical keyboard aficionado or simply curious about hearing how Zephyr was put to good use to enable custom keyboard firmware creation, check it out!</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Building Open Keyboards with ZMK &amp; Zephyr // Zephyr Tech Talk #010" width="580" height="326" src="https://www.youtube.com/embed/Eb04hyUY4BE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<ul class="wp-block-list">
<li><strong>Optical encoders</strong> are now supported. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66121" target="_blank" rel="noreferrer noopener">#66121</a>)</li>



<li>A new <strong>keymap driver</strong> allows to use a Devicetree node to provide the mapping between your keyboard matrix and the actual keys at each row/column intersection. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67757" target="_blank" rel="noreferrer noopener">#67757</a>)</li>
</ul>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: jscript; title: ; notranslate">
kbd {
      ...
      keymap {
          compatible = &quot;input-keymap&quot;;
          keymap = &lt;
              MATRIX_KEY(0, 0, INPUT_KEY_1)
              MATRIX_KEY(0, 1, INPUT_KEY_2)
              MATRIX_KEY(0, 2, INPUT_KEY_3)
              MATRIX_KEY(1, 0, INPUT_KEY_4)
              MATRIX_KEY(1, 1, INPUT_KEY_5)
              MATRIX_KEY(1, 2, INPUT_KEY_6)
              MATRIX_KEY(2, 0, INPUT_KEY_7)
              MATRIX_KEY(2, 1, INPUT_KEY_8)
              MATRIX_KEY(2, 2, INPUT_KEY_9)
          &gt;;
          row-size = &lt;3&gt;;
          col-size = &lt;3&gt;;
      };
  };
</pre></div>


<ul class="wp-block-list">
<li>New helper functions have been added to <strong>convert Zephyr input codes into USB HID codes</strong>, see <code><a href="https://docs.zephyrproject.org/latest/services/input/index.html#c.input_to_hid_code" target="_blank" rel="noreferrer noopener">input_to_hid_code()</a></code>, <code><a href="https://docs.zephyrproject.org/latest/services/input/index.html#c.input_to_hid_modifier" target="_blank" rel="noreferrer noopener">input_to_hid_modifier()</a></code>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67862" target="_blank" rel="noreferrer noopener">#67862</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>Starting with GCC 10, GCC ships with a static analyzer. It is now possible to use Zephyr&#8217;s static code analysis infrastructure to easily <a href="https://docs.zephyrproject.org/latest/develop/sca/gcc.html" target="_blank" rel="noreferrer noopener"><strong>run GCC static analyzer for your application</strong></a>, simply pass the following parameter when running <code>west build</code>:  <code>-DZEPHYR_SCA_VARIANT=gcc</code>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64595" target="_blank" rel="noreferrer noopener">#64595</a>)</li>



<li>It is now really easy to <strong>build an LLEXT</strong> (Linkable Loadable Extension) <strong>module thanks to a new <code>add_llext_target()</code> CMake function</strong>.<br>See the <a href="https://github.com/zephyrproject-rtos/zephyr/blob/8cd61b6c668fc5e50d40bdefe2f9e02ed67ccecc/tests/subsys/llext/hello_world/CMakeLists.txt" target="_blank" rel="noreferrer noopener">CMakeLists.txt</a> file of the Hello World sample to see how to use it. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67431" target="_blank" rel="noreferrer noopener">#67431</a>)</li>



<li>New CMake helper function (<code>zephyr_blobs_verify()</code>) allows to <strong>verify that blobs fetched using west have a valid checksum</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67593" target="_blank" rel="noreferrer noopener">#67593</a>)</li>



<li>New APIs allow to <strong>check if an IPv6 address is link local or global</strong>, see <code>net_ipv6_is_sl_addr()</code> and <code>net_ipv6_is_global_addr()</code>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67838" target="_blank" rel="noreferrer noopener">#67838</a>)</li>



<li>A bunch of modules were updated this week:
<ul class="wp-block-list">
<li><strong>LVGL</strong> version has been <strong>updated to 8.3.11</strong>, with 9.0.0 coming shortly as it&#8217;s just been released this week! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66314" target="_blank" rel="noreferrer noopener">#66314</a>)</li>



<li><strong>zcbor</strong> version has been <strong>updated to 0.8.0</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67418" target="_blank" rel="noreferrer noopener">#67418</a>)</li>



<li><strong>LittleFS</strong> version has been <strong>updated to 2.8.1</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65414" target="_blank" rel="noreferrer noopener">#65414</a>)</li>



<li><strong>picolibc</strong> version has been <strong>updated to 1.8.6</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67891" target="_blank" rel="noreferrer noopener">#67891</a>)</li>
</ul>
</li>



<li>Added support for <strong>Wi-Fi STA disconnection</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/68007" target="_blank" rel="noreferrer noopener">#68007</a>)</li>



<li>New <strong>POSIX APIs</strong>:
<ul class="wp-block-list">
<li><strong><code>mq_notify()</code></strong></li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>8 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/renpytom" target="_blank" rel="noreferrer noopener">@renpytom</a>, <a href="https://github.com/javad123javad" target="_blank" rel="noreferrer noopener">@javad123javad</a>, <a href="https://github.com/itmm" target="_blank" rel="noreferrer noopener">@itmm</a>, <a href="https://github.com/tanmaykathpalia" target="_blank" rel="noreferrer noopener">@tanmaykathpalia</a>, <a href="https://github.com/msalau" target="_blank" rel="noreferrer noopener">@msalau</a>, <a href="https://github.com/73jn" target="_blank" rel="noreferrer noopener">@73jn</a>, <a href="https://github.com/sandip-dalvi" target="_blank" rel="noreferrer noopener">@sandip-dalvi</a>, and <a href="https://github.com/adri1mart1" target="_blank" rel="noreferrer noopener">@adri1mart1</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/01/26/zephyr-weekly-update-1-week-left-before-feature-freeze/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/zephyr-weekly-jan-26-1.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - January 26, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/zephyr-weekly-jan-26-1-768x429.png"
					width="580"
					height="324" />
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6539</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update – Trusted Firmware-M 2.0 integration</title>
		<link>https://blog.benjamin-cabe.com/2024/01/19/zephyr-weekly-update-trusted-firmware-m-2-0-integration</link>
					<comments>https://blog.benjamin-cabe.com/2024/01/19/zephyr-weekly-update-trusted-firmware-m-2-0-integration#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 19 Jan 2024 13:47:00 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6469</guid>

					<description><![CDATA[Happy Friday, and welcome back for another Zephyr Weekly Update. One of the main highlights this week is certainly the recent upgrade to Trusted Firmware-M 2.0. On the topic of security, I really encourage everyone to watch our latest Zephyr Tech Talk, if you missed the opportunity to watch it live. Kasia Zalewska did an [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Happy Friday, and welcome back for another Zephyr Weekly Update. One of the main highlights this week is certainly the recent upgrade to <strong>Trusted Firmware-M 2.0</strong>.</p>



<p>On the topic of <strong>security</strong>, I really encourage everyone to watch our <a href="https://www.youtube.com/watch?v=3gfjS28g9D4" target="_blank" rel="noreferrer noopener">latest Zephyr Tech Talk</a>, if you missed the opportunity to watch it live. Kasia Zalewska did an outstanding job of explaining some of the typical security vulnerabilities in embedded software, and what are some of the tools that can help mitigate them. I really loved the <strong>live demo part where she demonstrated a buffer overflow attack</strong>, as this really made it easier for me to understand how they can be conducted by an attacker, and how software can be hardened to detect/avoid them.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Practical Tips to Build Secure &amp; Observable Embedded Systems // Zephyr Tech Talk #009" width="580" height="326" src="https://www.youtube.com/embed/3gfjS28g9D4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/19/zephyr-weekly-update-trusted-firmware-m-2-0-integration#update-to-tf-m-2-0">Update to TF-M 2.0</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/19/zephyr-weekly-update-trusted-firmware-m-2-0-integration#xxx-1">Socket service API</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/19/zephyr-weekly-update-trusted-firmware-m-2-0-integration#linkable-loadable-extensions-llext">Boards &amp; SoCs</a><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/19/zephyr-weekly-update-trusted-firmware-m-2-0-integration#soc-driver-updates">SoC driver updates</a></li></ol></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/19/zephyr-weekly-update-trusted-firmware-m-2-0-integration#general-drivers">General drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/19/zephyr-weekly-update-trusted-firmware-m-2-0-integration#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="update-to-tf-m-2-0">Update to TF-M 2.0</h2>



<p><strong><a href="https://www.trustedfirmware.org/" target="_blank" rel="noreferrer noopener">Trusted Firmware</a></strong> provides a reference implementation of secure software for Cortex-A (TF-A) and Cortex-M (TF-M). You can think of it as a toolbox that provides you with all the libraries and code you need to align with Arm&#8217;s latest recommendations and specifications regarding security. To quote the trustedfirmware.org website, &#8220;this forms the foundations of a <strong>Trusted Execution Environment (TEE)</strong> on application processors, or the <strong>Secure Processing Environment (SPE)</strong> of microcontrollers&#8221;.</p>



<p><strong>Trusted Firmware-M v2.0.0</strong> was <a href="https://www.trustedfirmware.org/blog/tf-m-v2-0-0" target="_blank" rel="noreferrer noopener">released</a> at the end of last year and one of the main highlights is its smaller memory footprint, in particular thanks to an<strong> update to mbedTLS 3.5.0.</strong> </p>



<p>As of this week, Zephyr supports TF-M 2.0.0! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66288" target="_blank" rel="noreferrer noopener">#66288</a>)  </p>



<h2 class="wp-block-heading" id="xxx-1">Socket service API</h2>



<p>A new <strong>socket service</strong> has been introduced. It is somewhat similar to Linux&#8217;s <code>inetd</code> in that it allows to have <strong>only one thread that listens on a set of blocking sockets</strong>, and therefore save memory. When there is activity on one of the sockets, the service calls the appropriate callback (servlet? :)) to do the actual work.</p>



<p>A good starting point to learn more is to look at the newly introduced <a href="https://docs.zephyrproject.org/latest/samples/net/sockets/echo_service/README.html" target="_blank" rel="noreferrer noopener"><strong>service-based echo server</strong> code sample</a>. And of course, more details can also be found in the pull request, PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66758" target="_blank" rel="noreferrer noopener">#66758</a>.</p>



<h2 class="wp-block-heading" id="linkable-loadable-extensions-llext">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li>The <strong><a href="https://docs.zephyrproject.org/latest/boards/arm/fk7b0m1_vbt6/doc/index.html" target="_blank" rel="noreferrer noopener">FK7B0M1-VBT6</a></strong> board by FANKE Technology features an STM32H7B0VBT6 (Cortex-M7) running at up to 280 MHz, 128 KB of Flash (plus 2×8 MB external Flash), and 1.4 MB of SRAM. It can be sourced for about $30 on AliExpress, and is now supported in Zephyr! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65441" target="_blank" rel="noreferrer noopener">#65441</a>)</li>
</ul>


<div class="wp-block-image">
<figure class="alignright size-thumbnail"><img loading="lazy" decoding="async" width="150" height="150" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/image-3-150x150.png" alt="" class="wp-image-6514"/><figcaption class="wp-element-caption">M5Stack AtomS3 Lite</figcaption></figure></div>


<ul class="wp-block-list">
<li>I am always really excited to see new hardware from M5Stack supported in Zephyr. This week, it&#8217;s the <strong><a href="https://docs.zephyrproject.org/latest/boards/xtensa/m5stack_atoms3_lite/doc/index.html" target="_blank" rel="noreferrer noopener">M5Stack AtomS3 Lite</a></strong> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> It&#8217;s a device based on an ESP32S3 that&#8217;s about the size of a quarter, and that includes just about enough for simple prototyping: a push button, a few pins exposed through an expansion header, and even a mounting hole. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67084" target="_blank" rel="noreferrer noopener">#67084</a>)</li>



<li>It&#8217;s great to see new options for using Bluetooth in Zephyr, this time with the <strong><a href="https://docs.zephyrproject.org/latest/boards/shields/x_nucleo_bnrg2a1/doc/index.html" target="_blank" rel="noreferrer noopener">X-NUCLEO-BNRG2A1</a> shield for STM32 boards</strong>. The shield uses a BlueNRG-M2SP application processor module based on the ST BlueNRG-2 System-on-Chip. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67381" target="_blank" rel="noreferrer noopener">#67381</a>)</li>
</ul>



<h3 class="wp-block-heading" id="soc-driver-updates">SoC driver updates</h3>



<ul class="wp-block-list">
<li><strong>Voltage control</strong> support has been added to the <strong>Renesas PFC</strong> (pin fonction controller) driver. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66881" target="_blank" rel="noreferrer noopener">#66881</a>)</li>



<li>New<strong> i.MX RGPIO (Rapid GPIO) driver</strong>. If you are using the <a href="https://docs.zephyrproject.org/latest/boards/arm64/mimx93_evk/doc/index.html" target="_blank" rel="noreferrer noopener">NXP i.MX93 EVK</a> board, it&#8217;s already been updated to use this new driver. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/62622" target="_blank" rel="noreferrer noopener">#62622</a>)</li>
</ul>



<h2 class="wp-block-heading" id="general-drivers">General drivers</h2>



<ul class="wp-block-list">
<li>The <strong>NXP DMIC</strong> (digital microphone) is a PDM-to-PCM converter intended for use with MEMS microphones. It supports up to 8 channels (or 4 L/R channel pairs) and now has a proper <a href="https://docs.zephyrproject.org/latest/hardware/peripherals/audio/dmic.html" target="_blank" rel="noreferrer noopener">DMIC driver</a> in Zephyr (<code><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/audio/nxp%2Cdmic.html#dtbinding-nxp-dmic" target="_blank" rel="noreferrer noopener">nxp,dmic</a></code> compatible). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66448" target="_blank" rel="noreferrer noopener">#66448</a>)</li>



<li>The existing driver for the <strong>PCF8574 8-channel I/O expander has been reworked to now support PCF8575</strong> as well, which is the 16-channel variant (new binding is <code><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/gpio/nxp,pcf857x.html" target="_blank" rel="noreferrer noopener">nxp,pcf857x</a></code>). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67054" target="_blank" rel="noreferrer noopener">#67054</a>)</li>



<li>New <strong>UART shim for Nordic&#8217;s UARTE</strong> (UART with EasyDMA) driver. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65155" target="_blank" rel="noreferrer noopener">#65155</a>)</li>



<li>When using <strong>cellular modems</strong>, handling of the <code>AT+CESQ</code> AT command for <strong>retrieving extending signal quality information</strong> has been implemented for <strong>U-blox SARA-R5</strong> modem. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67025" target="_blank" rel="noreferrer noopener">#67025</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>New <code>DT_IRQ_INTC()</code> and  <code>DT_IRQ_INTC_BY_NAME()</code> macros allow to <strong>retrieve the interrupt controller associated to a given interrupt specifier</strong> Devicetree node. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66707" target="_blank" rel="noreferrer noopener">#66707</a>)</li>



<li>New kernel APIs added to start and resume a CPU when running in an SMP environment: <code><a href="https://docs.zephyrproject.org/latest/doxygen/html/kernel_2smp_8h.html#a33eb24503679583d853db1c4dc7e3812" target="_blank" rel="noreferrer noopener"><strong>k_smp_cpu_start()</strong></a></code> and <code><strong><a href="https://docs.zephyrproject.org/latest/doxygen/html/kernel_2smp_8h.html#a39b4f48857baef688ee646bac36c882d">k_smp_cpu_resume()</a></strong></code>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64755" target="_blank" rel="noreferrer noopener">#64755</a>)</li>



<li>A new <code><strong><a href="https://docs.zephyrproject.org/latest/doxygen/html/group__net__hostname.html#ga2131a7beddae249cc5a93392c44a1b27" target="_blank" rel="noreferrer noopener">net_hostname_set()</a></strong></code> API allows to set the device hostname at runtime. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67439" target="_blank" rel="noreferrer noopener">#67439</a>)</li>



<li>It is now possible to do <strong>runtime filtering of log messages</strong> (it used to be compile-time only) for a log frontend. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67107" target="_blank" rel="noreferrer noopener">#67107</a>)</li>



<li>New <code><a href="https://docs.zephyrproject.org/latest/doxygen/html/group__net__buf.html#gaef938c3ab676a5bd5bf8338b8d7cb30c" target="_blank" rel="noreferrer noopener"><strong>net_buf_data_match()</strong></a></code> helper function to compare data with the contents of a network buffer. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66757" target="_blank" rel="noreferrer noopener">#66757</a>)</li>



<li>Added support for <strong><code>SO_DOMAIN</code> socket option</strong>. (<a href="https://github.com/zephyrproject-rtos/zephyr/pull/67618" target="_blank" rel="noreferrer noopener">#67618</a>)</li>



<li>New available <strong>POSIX APIs</strong>:
<ul class="wp-block-list">
<li><code><strong>sched_getparam()</strong></code></li>



<li><code><strong>sched_getscheduler()</strong></code></li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>9 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/gzzi" target="_blank" rel="noreferrer noopener">@gzzi</a>, <a href="https://github.com/toonst" target="_blank" rel="noreferrer noopener">@toonst</a>, <a href="https://github.com/laurin" target="_blank" rel="noreferrer noopener">@laurin</a>, <a href="https://github.com/VitekST" target="_blank" rel="noreferrer noopener">@VitekST</a>, <a href="https://github.com/amrithvenkat" target="_blank" rel="noreferrer noopener">@amrithvenkat</a>, <a href="https://github.com/shenyi97" target="_blank" rel="noreferrer noopener">@shenyi97</a>, <a href="https://github.com/MirkoCovizzi" target="_blank" rel="noreferrer noopener">@MirkoCovizzi</a>, <a href="https://github.com/mschappa" target="_blank" rel="noreferrer noopener">@mschappa</a>, and <a href="https://github.com/lopsided98" target="_blank" rel="noreferrer noopener">@lopsided98</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/01/19/zephyr-weekly-update-trusted-firmware-m-2-0-integration/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/zephyr-weekly-jan-19.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - January 19, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/zephyr-weekly-jan-19-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - January 19, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6469</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update &#8211; zspdx is getting some love</title>
		<link>https://blog.benjamin-cabe.com/2024/01/12/zephyr-weekly-update-zspdx-is-getting-some-love</link>
					<comments>https://blog.benjamin-cabe.com/2024/01/12/zephyr-weekly-update-zspdx-is-getting-some-love#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 12 Jan 2024 15:49:00 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6419</guid>

					<description><![CDATA[The Zephyr community is definitely back to full-speed after the short holiday break, and I feel like I really need to re-think the format of these weekly updates so that I can be more efficient in putting them together, while still providing you with more insights than what you&#8217;d get from just looking at the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">The Zephyr community is definitely back to full-speed after the short holiday break, and I feel like I really need to re-think the format of these weekly updates so that I can be more efficient in putting them together, while still providing you with more insights than what you&#8217;d get from just looking at the <code>git log</code>! Anyways, that&#8217;s an implementation detail, and you&#8217;re probably here for this week&#8217;s update, and not for reading my random thoughts  <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/12/zephyr-weekly-update-zspdx-is-getting-some-love#a-new-script-to-help-you-migrate-boards-to-v2-model">A new script to help you migrate boards to v2 model</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/12/zephyr-weekly-update-zspdx-is-getting-some-love#sbom-generation-improvements">SBOM generation improvements</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/12/zephyr-weekly-update-zspdx-is-getting-some-love#new-documentation-pages">New documentation pages</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/12/zephyr-weekly-update-zspdx-is-getting-some-love#linkable-loadable-extensions-llext">Boards &amp; SoCs</a><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/12/zephyr-weekly-update-zspdx-is-getting-some-love#soc-driver-updates">SoC driver updates</a></li></ol></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/12/zephyr-weekly-update-zspdx-is-getting-some-love#general-drivers">General drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/12/zephyr-weekly-update-zspdx-is-getting-some-love#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="a-new-script-to-help-you-migrate-boards-to-v2-model">A new script to help you migrate boards to v2 model</h2>



<p>Last week, I mentioned how Zephyr is transitioning to a new, better, model to describe SoCs and boards. To help with this transition, Gerard Marull has <a href="https://github.com/zephyrproject-rtos/zephyr/blob/collab-hwm/scripts/utils/board_v1_to_v2.py" target="_blank" rel="noreferrer noopener">released a script</a> that assists with migrating a group of boards to the new model. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67423" target="_blank" rel="noreferrer noopener">#67423</a>)</p>



<h2 class="wp-block-heading" id="sbom-generation-improvements">SBOM generation improvements</h2>



<p>Thanks to PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66182" target="_blank" rel="noreferrer noopener">#66182</a> by Thomas Gagneret, the modules that are composing a Zephyr application are now properly captured as actual packages when generating the SBOM (Software Bill of Materials) files.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
##### Package: mbedtls

PackageName: mbedtls
SPDXID: SPDXRef-mbedtls-sources
PackageDownloadLocation: NOASSERTION
PackageLicenseConcluded: Apache-2.0
PackageLicenseDeclared: NOASSERTION
PackageCopyrightText: NOASSERTION
PackageLicenseInfoFromFiles: Apache-2.0
FilesAnalyzed: true
PackageVerificationCode: 53b2e7743712704ce9b05f8e17bc4eaba8776ddd

FileName: ./library/aes.c
SPDXID: SPDXRef-File-aes.c
FileChecksum: SHA1: ff7a9b66046c0de1a36bcd7c09a2307fb860aeb4
FileChecksum: SHA256: 5915d2544f3b93ed37f88a22b2d2e795447267119b553619231b75d83457679a
LicenseConcluded: Apache-2.0
LicenseInfoInFile: Apache-2.0
FileCopyrightText: NOASSERTION

...
</pre></div>


<p>As a reminder, <strong>generating the SBOM files for a Zephyr build</strong>, and therefore capturing the fingerprint of all the source files ending up in your application so that you can better assess if you&#8217;re impacted by software vulnerabilities further down the road, is <a href="https://docs.zephyrproject.org/latest/develop/west/zephyr-cmds.html#software-bill-of-materials-west-spdx" target="_blank" rel="noreferrer noopener">something you can do in just a few lines</a>.</p>



<h2 class="wp-block-heading" id="new-documentation-pages">New documentation pages</h2>



<p>There&#8217;s been several substantial and most welcome additions made to the following areas of the documentation:</p>



<ul class="wp-block-list">
<li>A new <a href="https://docs.zephyrproject.org/latest/connectivity/networking/net_config_guide.html" target="_blank" rel="noreferrer noopener"><strong>network configuration guide</strong></a> walks you through the multiple Kconfig options that are available to you to configure your network stack, from buffers sizes to fine-tuning TCP options or configuring the TLS stack. Thank you Jukka for all the work on this one!</li>



<li>Users of the CANbus subsystem will be happy to now have a <a href="https://docs.zephyrproject.org/latest/hardware/peripherals/can/shell.html" target="_blank" rel="noreferrer noopener"><strong>complete reference for the <code>can</code> shell command</strong></a>. Thanks, Brix!</li>



<li>Now that we have a <strong><code>gpio-kbd-matrix</code> driver</strong> available, Fabio wrote a super detailed <a href="https://docs.zephyrproject.org/latest/services/input/gpio-kbd.html" target="_blank" rel="noreferrer noopener"><strong>cheatsheet</strong></a> for all the various options it offers depending on the actual layout and wiring of your keyboards, and the hardware capabilities of your GPIO controller. </li>



<li>In order to help navigate what kind of emulators/simulators are available to you, there is some great and steady progress being made to the <a href="https://docs.zephyrproject.org/latest/hardware/emulator/index.html" target="_blank" rel="noreferrer noopener">Zephyr’s device emulators/simulators</a> page, so I definitely encourage you to check it out to catch up on some of the things you probaby didn&#8217;t know existed <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>



<h2 class="wp-block-heading" id="linkable-loadable-extensions-llext">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li>A new variant of the <a href="https://docs.zephyrproject.org/latest/boards/arm/pan1783/doc/index.html" target="_blank" rel="noreferrer noopener"><strong>Panasonic PAN1783A</strong></a>, the PAN1783A-PA, has been added (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66620" target="_blank" rel="noreferrer noopener">#66620</a>)</li>



<li>The <strong><a href="https://docs.zephyrproject.org/latest/boards/arm/lora_e5_mini/doc/index.html" target="_blank" rel="noreferrer noopener">Seeed Studio LoRa-E5 mini</a></strong> from Seeed Studio is a LoRa devkit with a pretty small form factor, and based on STM32WLE5JC MCU. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64279" target="_blank" rel="noreferrer noopener">#64279</a>)</li>



<li>The <strong><a href="https://docs.zephyrproject.org/latest/boards/xtensa/kincony_kc868_a32/doc/index.html" target="_blank" rel="noreferrer noopener">Kincony KC868-A32</a></strong> board <strong>features 32 relays</strong> that can be used for <strong>home automation</strong> scenarios, as they&#8217;re rated for 220V/10A. What I find interesting with this board is that it has a Devicetree that can actually be an <strong>interesting reference for anyone interested in understanding how to configure an I/O expander</strong> (a PCF8574 in this particular case).  (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66404" target="_blank" rel="noreferrer noopener">#66404</a>)</li>
</ul>



<h3 class="wp-block-heading" id="soc-driver-updates">SoC driver updates</h3>



<ul class="wp-block-list">
<li>Support for <strong>FlexCAN</strong> added on <strong>NXP UCANS32K1SIC</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67006" target="_blank" rel="noreferrer noopener">#67006</a>)</li>
</ul>



<h2 class="wp-block-heading" id="general-drivers">General drivers</h2>



<ul class="wp-block-list">
<li>Fabio describes it as the &#8220;last installment (maybe) of the general purpose input drivers&#8221; :), this week a new <strong>analog axis input driver</strong> has been added to allow to map values read on an ADC channel to changes on an input axis.<br>The driver offers <strong>several configuration options</strong> such as calibrating min/max readings corresponding to the two ends of the axis, of course, but also setting a deadzone (don&#8217;t report changes when axis is <em>mostly</em> in the center of the range), etc.  (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66600" target="_blank" rel="noreferrer noopener">#66600</a>)</li>



<li>Similar to the keyboard matrix driver, <strong>the <code>gpio-keys</code> driver can now be used in &#8220;polling&#8221; mode</strong>, in order to easily configure GPIO input keys even when the port doesn&#8217;t support interrupts (or you&#8217;re simply out of interrupts in your interrupt controller&#8230;). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67208" target="_blank" rel="noreferrer noopener">#67208</a>)</li>



<li>A new driver <code><strong><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/w1/zephyr%2Cw1-gpio.html" target="_blank" rel="noreferrer noopener">zephyr,w1-gpio</a></strong></code> driver allows to use <em>any</em> GPIO as a 1-Wire master, using bit-banging. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65948" target="_blank" rel="noreferrer noopener">#65948</a>)</li>



<li>The <strong>Bosch BMA4xx series of accelerometers</strong> is now supported. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66242" target="_blank" rel="noreferrer noopener">#66242</a>)</li>



<li>A new driver has been added for <strong>controlling WS2812 LED strips on RP2040 (Raspberry Pi Pico)</strong>, using the PIO (Programmable Input Output) framework. It&#8217;s really funny to see <a href="https://github.com/zephyrproject-rtos/zephyr/blob/6f6fc4e25c3175d5a2587b0e6f3d858b4c336e99/drivers/led_strip/ws2812_rpi_pico_pio.c#L205-L232" target="_blank" rel="noreferrer noopener">how concise</a> PIO programs typically are. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/55226" target="_blank" rel="noreferrer noopener">#55226</a>)</li>



<li><strong>MAX20355 regulator</strong> now supports <strong>&#8220;ship mode&#8221;</strong>, i.e. turning the PMIC off. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67222" target="_blank" rel="noreferrer noopener">#67222</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>A new <strong><code>ztest</code> shell command </strong>allows to <strong>run test suites and individual test cases directly from the Zephyr shell</strong> &#8212; neat! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/58374" target="_blank" rel="noreferrer noopener">#58374</a>)</li>



<li>A <strong>new <code><a href="https://docs.zephyrproject.org/latest/boards/riscv/riscv32_virtual/doc/index.html" target="_blank" rel="noreferrer noopener">riscv32_virtual</a></code> board, emulated with Renode</strong>, can be used as an alternative to qemu for testing RISC-V 32 applications. </li>



<li>Bluetooth <strong>Public Broadcast Profile</strong> (PBP) API and implementations are now available, allowing sources to allows sources to create a Public Broadcast Announcement, as well as parse Public Broadcast Announcements.<br>The <a href="https://github.com/zephyrproject-rtos/zephyr/issues/41226" target="_blank" rel="noreferrer noopener">issue</a> to add PBP support to Zephyr was opened over two years ago, so it is great to see this finally land! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/60777" target="_blank" rel="noreferrer noopener">#60777</a>)</li>



<li><strong>Events related to access point mode are now exposed by the Wi-Fi manager</strong>, and you can better feedback on e.g. why an AP enable operation failed. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/67015" target="_blank" rel="noreferrer noopener">#67015</a>)</li>



<li>New available <strong>POSIX APIs</strong>:
<ul class="wp-block-list">
<li><code><strong>sem_open()</strong></code>, <code><strong>sem_unlink()</strong></code> &amp; <code><strong>sem_close()</strong></code></li>



<li><strong><code>sigprocmask()</code></strong></li>



<li><strong><code>clock_getcpuclockid()</code></strong></li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>11 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/andreeaDumitrache" target="_blank" rel="noreferrer noopener">@andreeaDumitrache</a>, <a href="https://github.com/pamolloy" target="_blank" rel="noreferrer noopener">@pamolloy</a>, <a href="https://github.com/ssnover" target="_blank" rel="noreferrer noopener">@ssnover</a>, <a href="https://github.com/RICCIARDI-Adrien" target="_blank" rel="noreferrer noopener">@RICCIARDI-Adrien</a>, <a href="https://github.com/jkandasa" target="_blank" rel="noreferrer noopener">@jkandasa</a>, <a href="https://github.com/hcd-bdltd" target="_blank" rel="noreferrer noopener">@hcd-bdltd</a>, <a href="https://github.com/LukaszMadejGrinn" target="_blank" rel="noreferrer noopener">@LukaszMadejGrinn</a>, <a href="https://github.com/walzsi" target="_blank" rel="noreferrer noopener">@walzsi</a>, <a href="https://github.com/Jonathan-Hamberg" target="_blank" rel="noreferrer noopener">@Jonathan-Hamberg</a>, <a href="https://github.com/tgagneret-embedded" target="_blank" rel="noreferrer noopener">@tgagneret-embedded</a>, and <a href="https://github.com/jzipperer-fb" target="_blank" rel="noreferrer noopener">@jzipperer-fb</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/01/12/zephyr-weekly-update-zspdx-is-getting-some-love/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/zephyr-weekly-jan-12-1.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - January 12, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/zephyr-weekly-jan-12-1-768x429.png"
					width="580"
					height="324" />
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6419</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update &#8211; Kicking off 2024!</title>
		<link>https://blog.benjamin-cabe.com/2024/01/05/zephyr-weekly-update-kicking-off-2024</link>
					<comments>https://blog.benjamin-cabe.com/2024/01/05/zephyr-weekly-update-kicking-off-2024#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 05 Jan 2024 16:16:00 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6369</guid>

					<description><![CDATA[Happy New Year, everyone! 🎆 Before jumping into everything that happened in Zephyr land over the holiday break, I want to remind everyone that the deadline to submit a talk to Zephyr Developer Summit 2024 will be approaching really fast. You have until Sunday, January 14 to propose a talk, so don&#8217;t wait too long! [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap"><strong>Happy New Year, everyone! <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f386.png" alt="🎆" class="wp-smiley" style="height: 1em; max-height: 1em;" /></strong> Before jumping into everything that happened in Zephyr land over the holiday break, I want to remind everyone that the deadline to submit a talk to <strong>Zephyr Developer Summit 2024</strong> will be approaching really fast. You have until <strong>Sunday, January 14 </strong>to <a href="https://events.linuxfoundation.org/embedded-open-source-summit/program/cfp/" target="_blank" rel="noreferrer noopener">propose a talk</a>, so don&#8217;t wait too long!</p>



<figure class="wp-block-image size-large"><a href="https://events.linuxfoundation.org/embedded-open-source-summit/program/cfp/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="533" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/image-1-1024x533.png" alt="" class="wp-image-6384" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/image-1-1024x533.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/image-1-300x156.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/image-1-768x400.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/image-1.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/05/zephyr-weekly-update-kicking-off-2024#working-towards-a-new-model-for-describing-boards-and-socs">Working towards a new model for describing boards and SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/05/zephyr-weekly-update-kicking-off-2024#refreshing-our-code-of-conduct">Refreshing our Code of Conduct</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/05/zephyr-weekly-update-kicking-off-2024#linkable-loadable-extensions-llext">Boards &amp; SoCs</a><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/05/zephyr-weekly-update-kicking-off-2024#soc-driver-updates">SoC driver updates</a></li></ol></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/05/zephyr-weekly-update-kicking-off-2024#general-drivers">General drivers</a><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/05/zephyr-weekly-update-kicking-off-2024#input-subsystem">Input subsystem</a></li></ol></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2024/01/05/zephyr-weekly-update-kicking-off-2024#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="working-towards-a-new-model-for-describing-boards-and-socs">Working towards a new model for describing boards and SoCs</h2>



<p>As Zephyr starts supporting more and more architectures, flavours of SoCs, and actual boards ; and as said boards become increasingly rich (e.g. it&#8217;s pretty common to find multiple SoCs on a single &#8220;board&#8221;), the way things are being described in the current Zephyr implementation is starting to show its limits. After <a href="https://github.com/zephyrproject-rtos/zephyr/pull/50305" target="_blank" rel="noreferrer noopener">several months of discussions and prototyping</a>, a <strong>new way to describe SoCs and boards is being proposed</strong>.</p>



<p>I am really looking forward to how the new model will make adding a new SoC/board to Zephyr much easier (i.e. less files to touch), and how this will also enable better tooling, in particular from a documentation point of view (ex. quickly get a list of all the supported boards for a given SoC).</p>



<p>A new <a href="https://docs.zephyrproject.org/latest/project/code_flow.html#code-flow-and-branches" target="_blank" rel="noreferrer noopener">collaboration branch</a>, <code><a href="https://github.com/zephyrproject-rtos/zephyr/tree/collab-hwm" target="_blank" rel="noreferrer noopener">collab-hwm</a></code>, has been added to the Git repository, and you are invited to test things out and provide feedback. &#8220;v2&#8221; boards and SoCs are co-existing for now, but the goal will be that all existing ones eventually migrate to the new model.</p>



<h2 class="wp-block-heading" id="refreshing-our-code-of-conduct">Refreshing our Code of Conduct</h2>



<p>It is worth mentioning that an <strong>update</strong> has recently been made to the <a href="https://github.com/zephyrproject-rtos/zephyr/blob/main/CODE_OF_CONDUCT.md" target="_blank" rel="noreferrer noopener"><strong>project&#8217;s Code of Conduct</strong></a>.</p>



<p>Zephyr is using the <a href="https://www.contributor-covenant.org/" target="_blank" rel="noreferrer noopener">Contributor Covenant</a> as a template for its code of conduct, and the version we were using was several years old, and the recent update provides, among other things, improved guidelines regarding what may be the consequences for actions deemed in violation of the Code of Conduct.</p>



<h2 class="wp-block-heading" id="linkable-loadable-extensions-llext">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li>The <a href="https://docs.zephyrproject.org/latest/boards/arm/adafruit_qt_py_rp2040/doc/index.html" target="_blank" rel="noreferrer noopener"><strong>Adafruit QT PY RP2040</strong></a> is a tiny board featuring a—you guessed it—RP2040 SoC, alongside an RGB NeoPixel, a USB connector, as well as a STEMMA QT connector. It is now supported in Zephyr thanks to PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66603" target="_blank" rel="noopener">#66603</a> and a first contribution from Ian Wakely (<a href="https://github.com/raveious" target="_blank" rel="noreferrer noopener">@raveious</a>).</li>
</ul>


<div class="wp-block-image">
<figure class="alignright size-full is-resized"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/image.png"><img loading="lazy" decoding="async" width="500" height="278" src="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/image.png" alt="" class="wp-image-6374" style="width:351px;height:auto" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/image.png 500w, https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/image-300x167.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a><figcaption class="wp-element-caption">WIZnet W5500-EVB-Pico</figcaption></figure></div>


<ul class="wp-block-list">
<li>Another Rasperry Pi Pico based board, the WIZnet&#8217;s <a href="https://docs.zephyrproject.org/latest/boards/arm/w5500_evb_pico/doc/index.html" target="_blank" rel="noreferrer noopener"><strong>W5500-EVB-Pico</strong></a>, was also introduced by Ian (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66523" target="_blank" rel="noopener">#66523</a>). It is basically your typical Raspberry Pi Pico, except that it&#8217;s coupled with the <strong>W5500 Ethernet MAC/PHY</strong>.</li>



<li>Added support for <a href="https://docs.zephyrproject.org/latest/boards/x86/intel_rpl/doc/index.html" target="_blank" rel="noreferrer noopener"><strong>Intel Raptor Lake CRB</strong></a> board (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66696" target="_blank" rel="noopener">#66696</a>).</li>



<li>Added support for <a href="https://docs.zephyrproject.org/latest/boards/arm/stm32h750b_dk/doc/index.html" target="_blank" rel="noreferrer noopener"><strong>ST&nbsp;STM32H750B&nbsp;Discovery Kit</strong></a> (Arm Cortex-M7, 128K Flash, 1M SRAM). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66280" target="_blank" rel="noopener">#66280</a>)</li>
</ul>



<h3 class="wp-block-heading" id="soc-driver-updates">SoC driver updates</h3>



<ul class="wp-block-list">
<li>ADC support has been added for <strong>Nuvoton numaker</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66642" target="_blank" rel="noopener">#66642</a>)</li>



<li>hwinfo driver added for <strong>Smartbond</strong> platforms, enabling access to the reset cause using the standard <code><a href="https://docs.zephyrproject.org/latest/hardware/peripherals/hwinfo.html#c.hwinfo_get_reset_cause" target="_blank" rel="noreferrer noopener">hwinfo_get_reset_cause()</a></code> Zephyr API. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64125" target="_blank" rel="noopener">#64125</a>)</li>



<li>On <strong>ESP32</strong>, the Bluetooth driver now exposes the <code><a href="https://docs.zephyrproject.org/latest/connectivity/bluetooth/api/hci_drivers.html#c.bt_hci_driver.close" target="_blank" rel="noreferrer noopener">close()</a></code> API, making it possible to properly close/disable the Bluetooth controller. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66693" target="_blank" rel="noopener">#66693</a>)</li>



<li>New <strong>clock controller driver</strong> for <strong>Raspberry Pi Pico</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/62186" target="_blank" rel="noopener">#62186</a>)</li>



<li><strong>BLE support </strong>using HCI has been added to ST <strong>STM32WBA</strong> SoC series (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66181" target="_blank" rel="noopener">#66181</a>). Worth noting that for now BLE is only compatible with&nbsp;the <code>nucleo_wba55cg</code>&nbsp;board.</li>



<li>Added Ambiq <strong>HCI driver</strong> for <strong>Apollo4 Blue Plus</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66227" target="_blank" rel="noopener">#66227</a>)</li>



<li>Added support <strong>interrupt-driven UART mode</strong> for Renesas RA series. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65775" target="_blank" rel="noopener">#65775</a>)</li>
</ul>



<h2 class="wp-block-heading" id="general-drivers">General drivers</h2>



<ul class="wp-block-list">
<li>Initial support has been added for the popular <strong>DWC2 USB 2.0 controller</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64943" target="_blank" rel="noopener">#64943</a>)</li>



<li>New generic <strong>retained memory driver for retained registers</strong> (see <code><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/retained_mem/zephyr,retained-reg.html" target="_blank" rel="noreferrer noopener">zephyr,retained-reg</a></code> compatible and PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66992" target="_blank" rel="noopener">#66992</a>).</li>



<li>New <strong>Cadence SDHC driver</strong> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64036" target="_blank" rel="noopener">#64036</a>)</li>
</ul>



<h3 class="wp-block-heading" id="input-subsystem">Input subsystem</h3>



<ul class="wp-block-list">
<li>When running on the native simulator target, it is now possible to <strong>tap into the events generated by an <a href="https://en.wikipedia.org/wiki/Evdev" target="_blank" rel="noreferrer noopener">evdev</a> device on the host</strong>, and have them be <strong>automatically injected in your app</strong> as regular Zephyr input events. <br>The documentation of the new <code><strong><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/input/zephyr,native-linux-evdev.html" target="_blank" rel="noreferrer noopener">zephyr,native-linux-evdev</a></strong></code> binding shows how simple it is to add one or more &#8220;evdev&#8221; nodes in your Devicetree, and later map them to actual evdev devices (as found in your <code>/dev/input/</code> directory) when you run the application. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66353" target="_blank" rel="noopener">#66353</a>)</li>



<li><strong>GPIO keys driver</strong> now properly supports <strong>power management</strong>. When suspended, all the button GPIOs and interrupts are disabled. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66582" target="_blank" rel="noopener">#66582</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>In order to <strong>automatically compute the minimal heap size</strong> that is (theoretically) <strong>needed for a given application to work</strong>, a new mechanism allows each subsystem to indicate how much heap size they need.<br>The sum of each specified heap size requirement is then computed at build time (<code>K_HEAP_MEM_POOL_SIZE</code>), and used to actually set the size of the heap memory pool.<br>The legacy <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_HEAP_MEM_POOL_SIZE" target="_blank" rel="noreferrer noopener">CONFIG_HEAP_MEM_POOL_SIZE</a></code> Kconfig may still be used but if it happens to be less than the computed <code>K_HEAP_MEM_POOL_SIZE</code>, the latter will be used and a build warning will inform you that the heap size you were trying to set manually is (theoretically at least) too small. If you know what you&#8217;re doing and want to force a manual override, you may set the Kconfig <a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_HEAP_MEM_POOL_IGNORE_MIN" target="_blank" rel="noreferrer noopener"><strong><code>CONFIG_HEAP_MEM_POOL_IGNORE_MIN</code></strong></a>.</li>



<li>New <strong>GDB stub available for AArch32</strong> (only tested/available on Cortex-A for now). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/58067" target="_blank" rel="noopener">#58067</a>)</li>



<li><strong>Bluetooth Common Audio Profile (CAP) Commander discovery </strong>function has been implemented. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64852" target="_blank" rel="noopener">#64852</a>)</li>



<li><strong>Bluetooth Mesh publications are now randomly delayed</strong> to better follow a recommendation in the specification. (PR #<a href="https://github.com/zephyrproject-rtos/zephyr/pull/66498" target="_blank" rel="noopener">#66498</a>)</li>



<li>When using the <code><strong>net stats</strong></code> shell command to get statistics about an <strong>Ethernet</strong> interface, more details are now being output. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66680" target="_blank" rel="noopener">#66680</a>)</li>



<li>New available POSIX APIs:
<ul class="wp-block-list">
<li><code><strong>pthread_getguardsize()</strong></code></li>



<li><code><strong>pthread_setguardsize()</strong></code></li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>19 individuals</strong> who had their first pull request accepted since the last post, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/tlissows" target="_blank" rel="noreferrer noopener">@tlissows</a>, <a href="https://github.com/raveious" target="_blank" rel="noreferrer noopener">@raveious</a>, <a href="https://github.com/jrsa" target="_blank" rel="noreferrer noopener">@jrsa</a>, <a href="https://github.com/manuel-loew-infineon" target="_blank" rel="noreferrer noopener">@manuel-loew-infineon</a>, <a href="https://github.com/moonlight83340" target="_blank" rel="noreferrer noopener">@moonlight83340</a>, <a href="https://github.com/TomChang19" target="_blank" rel="noreferrer noopener">@TomChang19</a>, <a href="https://github.com/gdb3-ampaworks" target="_blank" rel="noreferrer noopener">@gdb3-ampaworks</a>, <a href="https://github.com/TomasGalbickaNXP" target="_blank" rel="noreferrer noopener">@TomasGalbickaNXP</a>, <a href="https://github.com/gumulka" target="_blank" rel="noreferrer noopener">@gumulka</a>, <a href="https://github.com/Manu3l0us" target="_blank" rel="noreferrer noopener">@Manu3l0us</a>, <a href="https://github.com/Songjf-ttk" target="_blank" rel="noreferrer noopener">@Songjf-ttk</a>, <a href="https://github.com/rvoell-gcx" target="_blank" rel="noreferrer noopener">@rvoell-gcx</a>, <a href="https://github.com/Ryanjwoodward" target="_blank" rel="noreferrer noopener">@Ryanjwoodward</a>, <a href="https://github.com/tomi-font" target="_blank" rel="noreferrer noopener">@tomi-font</a>, <a href="https://github.com/Marquichou" target="_blank" rel="noreferrer noopener">@Marquichou</a>, <a href="https://github.com/roymurlidhar" target="_blank" rel="noreferrer noopener">@roymurlidhar</a>, <a href="https://github.com/javlands" target="_blank" rel="noreferrer noopener">@javlands</a>, <a href="https://github.com/WilliamLeara" target="_blank" rel="noreferrer noopener">@WilliamLeara</a>, and <a href="https://github.com/michal-smola" target="_blank" rel="noreferrer noopener">@michal-smola</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2024/01/05/zephyr-weekly-update-kicking-off-2024/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/zephyr-weekly-jan-05.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - January 5, 2024]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2024/01/zephyr-weekly-jan-05-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - January 5, 2024]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6369</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update &#8211; Fixing the search experience</title>
		<link>https://blog.benjamin-cabe.com/2023/12/15/zephyr-weekly-update-fixing-the-search-experience</link>
					<comments>https://blog.benjamin-cabe.com/2023/12/15/zephyr-weekly-update-fixing-the-search-experience#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 15 Dec 2023 21:28:05 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6296</guid>

					<description><![CDATA[As a lot of folks are wrapping up for the holiday season, the Zephyr community hasn&#8217;t slowed down all that much last week and there were quite a few noteworthy additions that this blog post will be covering, including a pretty cool (albeit short!) demo video. Improved documentation search experience One of the top complaints [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">As a lot of folks are wrapping up for the holiday season, the Zephyr community hasn&#8217;t slowed down all that much last week and there were quite a few noteworthy additions that this blog post will be covering, including a pretty cool (albeit short!) demo video.</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/15/zephyr-weekly-update-fixing-the-search-experience#improved-documentation-search-experience">Improved documentation search experience</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/15/zephyr-weekly-update-fixing-the-search-experience#capacitive-touch-sensor-for-esp32">Capacitive touch sensor for ESP32</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/15/zephyr-weekly-update-fixing-the-search-experience#linkable-loadable-extensions-llext">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/15/zephyr-weekly-update-fixing-the-search-experience#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/15/zephyr-weekly-update-fixing-the-search-experience#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="improved-documentation-search-experience">Improved documentation search experience</h2>



<p>One of the top complaints I&#8217;ve heard ever since I became the documentation manager for the Zephyr Project is how it can sometimes be hard to find information in the project&#8217;s documentation. It&#8217;s certainly true that the search engine historically available on <a href="https://docs.zephyrproject.org/" target="_blank" rel="noreferrer noopener">docs.zephyrproject.org</a> isn&#8217;t always giving the most helpful results.</p>



<p>As of last week, a <strong>new search experience is available</strong> with <strong>Google Programmable Search now being the default search engine</strong> when browsing the Zephyr documentation. </p>



<p>The new engine is <strong>faster</strong>, much <strong>more tolerant to typos</strong>, and allows you to <strong>write advanced search queries</strong> that are more than just a couple keywords (ex. you may use double-quotes to keep words together, exclude keywords by using the minus sign, etc.).</p>



<p><strong>Meta-categories</strong> such as &#8220;Code Samples&#8221;, &#8220;API reference&#8221;, etc. are also available for you to <strong>narrow down the list of search results</strong> to only the category of results you care about (if you feel a category is missing, btw, let me know!). See for example the screenshot below, with top 3 results to the query <em>&#8220;toggle a GPIO&#8221;</em> &#8212; they are exactly what you&#8217;d expect them to be, but should you want more concrete examples of how to toggle a GPIO, clicking the &#8220;Samples&#8221; tab (or the green label in the search results) will give you just that!</p>



<figure class="wp-block-image size-large is-resized"><a href="https://docs.zephyrproject.org/latest/gsearch.html?q=toggle+a+gpio&amp;check_keywords=yes&amp;area=default#gsc.tab=0&amp;gsc.q=toggle%20a%20gpio&amp;gsc.sort=" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="733" src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-1-1024x733.png" alt="" class="wp-image-6300" style="width:610px;height:auto" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-1-1024x733.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-1-300x215.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-1-768x550.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-1-1536x1100.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-1-1200x859.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-1.png 1880w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Search results for &#8220;toggle a GPIO&#8221; using the new search experience in docs.zephyrproject.org </figcaption></figure>



<p class="has-secondary-background-color has-background"><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pro Tip: Press <code>/</code> to quickly focus on the search box while navigating the documentation.</p>



<h2 class="wp-block-heading" id="capacitive-touch-sensor-for-esp32">Capacitive touch sensor for ESP32</h2>



<p><strong>Capacitive touch sensors</strong> are a kind of specialized GPIO with dedicated circuitry that detects an approaching finger by measuring a variation in the capacitance of the circuit.</p>



<p>Espressif devices typically include support for capacitive touch, and PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64931" target="_blank" rel="noreferrer noopener">#64931</a> just made it possible to access this feature in Zephyr! The new driver is a standard input driver and as such fits nicely in the now pretty rich <a href="https://docs.zephyrproject.org/latest/services/input/index.html" target="_blank" rel="noreferrer noopener">input subsystem</a>. </p>



<p>The dedicated Devicetree binding, <code><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/input/espressif%2Cesp32-touch-sensor.html#dtbinding-espressif-esp32-touch-sensor" target="_blank" rel="noreferrer noopener">espressif,esp32-touch</a></code> exposes a variety of settings to adjust the sensitivity, configure the debouncing, etc.</p>



<p>Here is, for example, the <strong>full Devicetree overlay to enable touch detection</strong> on pin <code>TCH8</code> of my <strong>M5Stack AtomS3</strong>:</p>



<pre class="wp-block-code alignwide"><code>#include &lt;zephyr/dt-bindings/input/input-event-codes.h><br>#include &lt;zephyr/dt-bindings/input/esp32-touch-sensor-input.h><br><br>&amp;touch {<br>	debounce-interval-ms = &lt;30>;<br>	href-microvolt = &lt;2700000>;<br>	lref-microvolt = &lt;500000>;<br>	href-atten-microvolt = &lt;1000000>;<br>	filter-mode = &lt;ESP32_TOUCH_FILTER_MODE_IIR_16>;<br>	filter-debounce-cnt = &lt;1>;<br>	filter-noise-thr = &lt;ESP32_TOUCH_FILTER_NOISE_THR_4_8TH>;<br>	filter-jitter-step = &lt;4>;<br>	filter-smooth-level = &lt;ESP32_TOUCH_FILTER_SMOOTH_MODE_IIR_2>;<br><br>	status = "okay";<br><br>	touch_sensor_set: touch_sensor_0 {<br>		channel-num = &lt;8>;<br>		channel-sens = &lt;50>;<br>		zephyr,code = &lt;INPUT_KEY_0>;<br>	};<br><br>};</code></pre>



<p>And below is the code sample in action. If you&#8217;re not familiar with capacitive touch and a bit confused looking at the video, yes, this is indeed literally a single wire that&#8217;s being used as the input! </p>



<figure class="wp-block-video"><video autoplay controls loop preload="auto" src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/capacitive-touch-esp32-m5stack-atoms3-1.webm" playsinline></video></figure>



<p>Funnily enough, it took me about 30 seconds to get the sample to work, and probably 10 times more to videotape it! <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f61d.png" alt="😝" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading" id="linkable-loadable-extensions-llext">Boards &amp; SoCs</h2>


<div class="wp-block-image">
<figure class="alignleft size-medium"><img loading="lazy" decoding="async" width="300" height="243" src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-2-300x243.png" alt="" class="wp-image-6306" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-2-300x243.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-2-1024x828.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-2-768x621.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-2-1536x1242.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-2-1200x971.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-2.png 1842w" sizes="auto, (max-width: 300px) 100vw, 300px" /><figcaption class="wp-element-caption">BeagleBoard BeagleV®-Fire</figcaption></figure></div>


<ul class="wp-block-list">
<li><strong>Beagleboard BeagleV-Fire</strong> is a single board computer (SBC) built around Microchip’s PolarFire MPFS025T SoC FPGA. In addition to providing an FPGA with 23K logic elements, it features a 5-core RISC-V 64-bit processor. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66389" target="_blank" rel="noreferrer noopener">#66389</a>)  </li>



<li><strong>nRF9151-DK</strong>, an upcoming developer kit from Nordic Semiconductor and targeting DECT NR+ and LTE-M/NB-IoT with GNSS, is already supported in Zephyr <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f643.png" alt="🙃" class="wp-smiley" style="height: 1em; max-height: 1em;" />. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66110" target="_blank" rel="noreferrer noopener">#66110</a>)</li>



<li>The <strong>PAN1783A Evaluation Board from Panasonic</strong> is now supported. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64259" target="_blank" rel="noreferrer noopener">#64259</a>)</li>



<li>The <strong>Ambiq Apollo4P evaluation board</strong> is built around Ambiq&#8217;s ultra-low power Apollo4 Plus SoC, which is a Cortex M4F @ 192 MHz. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66328" target="_blank" rel="noreferrer noopener">#66328</a>)</li>



<li><strong>ST Nucleo F722ZE</strong> is now supported. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66050" target="_blank" rel="noreferrer noopener">#66050</a>)</li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li>Expanding on the recently added modem subsystem, a new API has been added to <strong>interact with <em>cellular</em> modems in a consistent way</strong> across all available technologies (GSM, GPRS, LTE, etc.). Think retrieving signal strength information, for example.<br>Check out the documentation <a href="https://docs.zephyrproject.org/latest/doxygen/html/group__cellular__interface.html" target="_blank" rel="noreferrer noopener">here</a> and how the new API is now used in the <a href="https://docs.zephyrproject.org/latest/samples/net/cellular_modem/README.html" target="_blank" rel="noreferrer noopener">cellular modem code sample</a>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65685" target="_blank" rel="noreferrer noopener">#65685</a>)</li>



<li><strong>Ultrachip UC8175</strong> support has been added. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/61439" target="_blank" rel="noreferrer noopener">#61439</a>)</li>



<li>The <strong>Charger API</strong> now includes a <code><strong>sbs_charger_charge_enable()</strong></code> standard API that can be use to <strong>initiate/terminate a charging cycle</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66128" target="_blank" rel="noreferrer noopener">#66128</a>)</li>



<li><strong>STM32</strong> MCUs can now use <strong>SMBus</strong> thanks to the newly added driver. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66260" target="_blank" rel="noreferrer noopener">#66260</a>)</li>



<li>New driver added for <strong>ST LIS2DU12 accelerometer</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65734" target="_blank" rel="noreferrer noopener">#65734</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>The<strong> Bluetooth Gaming Audio Profile</strong> aims at enabling configuration of low-level audio services and profiles specifically for gaming use cases (ex. bidirectional voice for online chat, high bitrate for HQ game audio, etc.).<br>PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/57032" target="_blank" rel="noreferrer noopener">#57032</a> is the oldest pull request merged this week (dating back to April of this year) and it introduces support for the Bluetooth Gaming Audio Profile in Zephyr. </li>



<li>Initial support for <strong>USB Audio Class 2</strong> has been added. The idea will be to allow developers to use the <code>zephyr,uac2</code> binding to describe an USB Audio Class 2 device by <a href="https://github.com/zephyrproject-rtos/zephyr/blob/main/tests/subsys/usb/uac2/app.overlay" target="_blank" rel="noreferrer noopener">utilizing the Devicetree</a> vs. manually written code. </li>



<li> A new API allows to <strong>configure CoAP retransmission settings</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66025" target="_blank" rel="noreferrer noopener">#66025</a>)</li>



<li>Support for <strong>TCP Keep-Alive</strong> has been introduced and can be enabled using Kconfig option <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_NET_TCP_KEEPALIVE" target="_blank" rel="noreferrer noopener">NET_TCP_KEEPALIVE</a></code>.  (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66316" target="_blank" rel="noreferrer noopener">#66316</a>)</li>



<li>The unused and obsolete arm_core_tz.c Arm TrustZone driver has been removed. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66224" target="_blank" rel="noreferrer noopener">#66224</a>)</li>



<li>Improvements have been made to the <strong>Device Power Management</strong> framework to <strong>not unnecessarily resume/suspend </strong>in some situations. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66246" target="_blank" rel="noreferrer noopener">#66246</a>)</li>



<li>If you&#8217;ve started to look into the new keyboard matrix driver, you will likely find the new <code><strong>input kbd_matrix_state_dump</strong></code> shell command quite useful. As its name indicates, given the id of a keyboard matrix Devicetree node, it will dump the state of the keyboard matrix every time a key is pressed/released.</li>



<li>The <a href="https://docs.zephyrproject.org/latest/develop/test/pytest.html" target="_blank" rel="noreferrer noopener">documentation of the pytest plugin</a> has been vastly improved, and so has the <a href="https://docs.zephyrproject.org/latest/connectivity/networking/api/sockets.html#api-reference" target="_blank" rel="noreferrer noopener">API reference for the Sockets API</a>. </li>
</ul>



<p>With the holiday season upon us, <strong>I will be back with the next update on January 5th</strong>. Hopefully I won&#8217;t be buried under thousands of pull requests to write about, but should that be the case I will do my best to highlight the most noteworthy ones!</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>12 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/ryukoposting" target="_blank" rel="noreferrer noopener">@ryukoposting</a>, <a href="https://github.com/hellesvik-nordic" target="_blank" rel="noreferrer noopener">@hellesvik-nordic</a>, <a href="https://github.com/sebastianschlupp" target="_blank" rel="noreferrer noopener">@sebastianschlupp</a>, <a href="https://github.com/kevinior" target="_blank" rel="noreferrer noopener">@kevinior</a>, <a href="https://github.com/aofrioWeifengLi" target="_blank" rel="noreferrer noopener">@aofrioWeifengLi</a>, <a href="https://github.com/VuDangBP" target="_blank" rel="noreferrer noopener">@VuDangBP</a>, <a href="https://github.com/BryanZhuAM" target="_blank" rel="noreferrer noopener">@BryanZhuAM</a>, <a href="https://github.com/AlessioLei94" target="_blank" rel="noreferrer noopener">@AlessioLei94</a>, <a href="https://github.com/alelec13" target="_blank" rel="noreferrer noopener">@alelec13</a>, <a href="https://github.com/helen741" target="_blank" rel="noreferrer noopener">@helen741</a>, <a href="https://github.com/Burt-Silverman" target="_blank" rel="noreferrer noopener">@Burt-Silverman</a>, and <a href="https://github.com/sateeshkotapati" target="_blank" rel="noreferrer noopener">@sateeshkotapati</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2023/12/15/zephyr-weekly-update-fixing-the-search-experience/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/capacitive-touch-esp32-m5stack-atoms3-1.webm" length="1007638" type="video/webm" />

					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/zephyr-weekly-dec-15-2.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - December 15, 2023]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/zephyr-weekly-dec-15-2-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - December 15, 2023]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6296</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update &#8211; Emulated DMA controller</title>
		<link>https://blog.benjamin-cabe.com/2023/12/08/zephyr-weekly-update-emulated-dma-controller</link>
					<comments>https://blog.benjamin-cabe.com/2023/12/08/zephyr-weekly-update-emulated-dma-controller#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 08 Dec 2023 16:27:45 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6247</guid>

					<description><![CDATA[Happy Friday, folks! Once is not custom, let&#8217;s dive right into this week&#8217;s updates from Zephyr RTOS land, although don&#8217;t forget to submit a talk to FOSDEM 2024 before midnight! New emulated DMA driver It is nice to see an increasing amount of emulated drivers added to Zephyr recently. This week, a new zephyr,dma-emul binding [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Happy Friday, folks! Once is not custom, let&#8217;s dive right into this week&#8217;s updates from Zephyr RTOS land, <a href="https://pretalx.fosdem.org/fosdem-2024/cfp" target="_blank" rel="noreferrer noopener">although don&#8217;t forget to submit a talk to FOSDEM 2024 before midnight!</a></p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/08/zephyr-weekly-update-emulated-dma-controller#new-emulated-dma-driver">New emulated DMA driver</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/08/zephyr-weekly-update-emulated-dma-controller#support-for-lvgl-keypad-input-binding">Support for LVGL keypad input binding</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/08/zephyr-weekly-update-emulated-dma-controller#networking">Networking</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/08/zephyr-weekly-update-emulated-dma-controller#linkable-loadable-extensions-llext">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/08/zephyr-weekly-update-emulated-dma-controller#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/08/zephyr-weekly-update-emulated-dma-controller#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="new-emulated-dma-driver">New emulated DMA driver</h2>



<p>It is nice to see an increasing amount of emulated drivers added to Zephyr recently.</p>



<p>This week, a new <code><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/dma/zephyr%2Cdma-emul.html" target="_blank" rel="noreferrer noopener">zephyr,dma-emul</a></code> binding was introduced. The associated driver provides a <strong>software implementation of a DMA controller </strong>that can be used to enable testing of areas and drivers otherwise difficult to test for they rely on DMA to be present.</p>



<p>See PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/58375" target="_blank" rel="noreferrer noopener">#58375</a> for more details.</p>



<h2 class="wp-block-heading" id="support-for-lvgl-keypad-input-binding">Support for LVGL keypad input binding</h2>



<p>Until PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65002" target="_blank" rel="noreferrer noopener">#65002</a> being merged earlier this week, the <a href="https://docs.lvgl.io/master/porting/indev.html" target="_blank" rel="noreferrer noopener">LVGL keypad input device interface</a> was the only input interface not yet supported in Zephyr (pointers, encoders, and buttons were already supported).</p>



<p>The new <code><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/input/zephyr%2Clvgl-keypad-input.html" target="_blank" rel="noreferrer noopener">zephyr,lvgl-keypad-input</a></code> binding allows to <strong>declare a new LVGL input device</strong> in your Devicetree that maps input codes (ex. <code>INPUT_KEY_DOWN</code>) coming from a Zephyr input device, to LVGL ones (ex. <code>LV_KEY_NEXT</code>).</p>



<p>The <a href="https://docs.zephyrproject.org/latest/samples/subsys/display/lvgl/README.html" target="_blank" rel="noreferrer noopener">LVGL sample has been updated</a> to support keypads, and is therefore now a neat showcase for all four LVGL input interfaces!</p>



<h2 class="wp-block-heading" id="networking">Networking</h2>



<ul class="wp-block-list">
<li>Added support for <strong>setting multicast IPv4 TTL and IPv6 hop limit</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65886">#65886</a>)</li>



<li>It is now possible to perform <strong>multicast join/leave operations through the standard BSD Sockets API</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66018" target="_blank" rel="noreferrer noopener">#66018</a>)</li>



<li>A new <strong>fallback mechanism has been added to LwM2M subsystem</strong>.<br>It is very common for a LwM2M client to have a list of several bootstrap server it may be trying to connecting to, so it only makes sense for the subsystem to support that and automatically try another bootstrap server from the configured list should connecting to the main one fail. Similarly, the fallback mechanism can be used for the connection to the actual LwM2M server, to switch to another one in case of lost connection. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65745" target="_blank" rel="noreferrer noopener">#65745</a>)</li>



<li>The <strong>CoAP server now implements <a href="https://docs.zephyrproject.org/latest/connectivity/networking/api/coap_server.html#coap-events" target="_blank" rel="noreferrer noopener">network management events</a></strong>. These can be quite convenient to be notified when e.g. a new observer is added/removed, or when the server start/stops.  </li>
</ul>



<h2 class="wp-block-heading" id="linkable-loadable-extensions-llext">Boards &amp; SoCs</h2>



<figure class="wp-block-image size-full is-style-rounded wp-duotone-unset-1"><img loading="lazy" decoding="async" width="970" height="728" src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image.png" alt="" class="wp-image-6251" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image.png 970w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-300x225.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/image-768x576.png 768w" sizes="auto, (max-width: 970px) 100vw, 970px" /><figcaption class="wp-element-caption">Adafruit Grand Central M4 Express</figcaption></figure>



<ul class="wp-block-list">
<li><strong>Adafruit Grand Central M4 Express</strong> is a devkit based on the <strong>Microchip ATSAMD51</strong>, with 1MB flash, 256 KB RAM, and a whooping 70 GPIO pins in total! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/62618" target="_blank" rel="noreferrer noopener">#62618</a>)</li>



<li>STM32WBA55 SoC series is now supported, alongside the <strong>ST Nucleo WBA55CG</strong> board. Featuring both Arduino and STMorpho headers, and based on a Cortex-M33, this devkit aims at ultra low-power BLE applications. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66073" target="_blank" rel="noreferrer noopener">#66073</a>)</li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li>The <strong>keyboard matrix driver</strong> keeps getting nice improvements. It now supports <strong>polling and scan mode</strong>, to help in situations where one is not able to use interrupts for the GPIOs corresponding to the rows/columns.<br>For example, large keyboard matrices might typically be accessed through a GPIO multiplexer that allows you to only &#8220;talk&#8221; to one row or column at a time.<br>I am really looking forward to putting this new feature to use to add support for the <a href="https://shop.m5stack.com/products/m5stack-cardputer-kit-w-m5stamps3" target="_blank" rel="noreferrer noopener">M5Stack Cardputer</a> and its cool keyboard <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li>Several fixes to <strong>Sierra Wireless HL7800 modem</strong> driver for <strong>better low-power support</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66237" target="_blank" rel="noreferrer noopener">#66237</a>)</li>



<li>Added support for <strong>NTCG103JF103FT1 thermistor</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/62185" target="_blank" rel="noreferrer noopener">#62185</a>)</li>



<li><strong>Quadrature decoder</strong> support has been added for <strong>NXP S32</strong> series. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65035" target="_blank" rel="noreferrer noopener">#65035</a>)</li>



<li>Added support for the <strong>ST LPS28DFW pressure sensor</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65416" target="_blank" rel="noreferrer noopener">#65416</a>).</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>When using <strong>SNTP</strong> (Simple network time protocol), a new <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_SNTP_UNCERTAINTY" target="_blank" rel="noreferrer noopener">CONFIG_SNTP_UNCERTAINTY</a></code> allows to <strong>get a more reliable timestamp</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66233" target="_blank" rel="noreferrer noopener">#66233</a>)</li>



<li>When using <strong>Bluetooth Mesh</strong>, advertising is automatically suspended/resumed when enabling disabling Mesh. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64721" target="_blank" rel="noreferrer noopener">#64721</a>)</li>



<li><strong>OpenThread version has been updated</strong>, with added support for BLE TCAT (commissionning over BLE). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/66160" target="_blank" rel="noreferrer noopener">#66160</a>)</li>



<li><strong>New POSIX API</strong>:
<ul class="wp-block-list">
<li><code><a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_sigmask.html" target="_blank" rel="noreferrer noopener">pthread_sigmask()</a></code></li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>7 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/rabarar" target="_blank" rel="noreferrer noopener">@rabarar</a>, <a href="https://github.com/pillo79" target="_blank" rel="noreferrer noopener">@pillo79</a>, <a href="https://github.com/lukas-jung" target="_blank" rel="noreferrer noopener">@lukas-jung</a>, <a href="https://github.com/mikevoyt" target="_blank" rel="noreferrer noopener">@mikevoyt</a>, <a href="https://github.com/naNEQ" target="_blank" rel="noreferrer noopener">@naNEQ</a>, <a href="https://github.com/jrhrsmit" target="_blank" rel="noreferrer noopener">@jrhrsmit</a>, and <a href="https://github.com/TangleZ" target="_blank" rel="noreferrer noopener">@TangleZ</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2023/12/08/zephyr-weekly-update-emulated-dma-controller/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/zephyr-weekly-dec-8.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - December 8, 2023]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/zephyr-weekly-dec-8-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - December 8, 2023]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6247</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update &#8211; Multiplexing all the things!</title>
		<link>https://blog.benjamin-cabe.com/2023/12/01/zephyr-weekly-update-multiplexing-all-the-things</link>
					<comments>https://blog.benjamin-cabe.com/2023/12/01/zephyr-weekly-update-multiplexing-all-the-things#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 01 Dec 2023 16:54:47 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6183</guid>

					<description><![CDATA[Howdy! Before diving into this week&#8217;s updates, I would like to take a minute to encourage you to have a look at the Call for Papers for two really good open source conferences where I would love to see lots of cool Zephyr content 😉 Also, a quick plug for the next Zephyr Tech Talk [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Howdy! Before diving into this week&#8217;s updates, I would like to take a minute to encourage you to have a look at the <strong>Call for Papers for two really good open source conferences</strong> where I would love to see lots of cool Zephyr content <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<ul class="wp-block-list">
<li><strong><a href="https://fosdem.org/2024/" target="_blank" rel="noreferrer noopener">FOSDEM 2024</a></strong>, Feb. 3-4 in Brussels, Belgium—The CfP for the Embedded, Mobile and Automotive devroom closes a week from now, on December 8, so <a href="https://pretalx.fosdem.org/fosdem-2024/cfp" target="_blank" rel="noreferrer noopener">don&#8217;t wait to submit</a>.</li>



<li><strong><a href="https://events.linuxfoundation.org/embedded-open-source-summit/" target="_blank" rel="noreferrer noopener">Zephyr Developer Summit 2024</a></strong> (co-located with Embedded Open Source Summit), Apr. 16-18 in Seattle, WA— You have a bit more time for this one, but make sure to not miss the January 14, 2024 deadline if you are interested in <a href="https://events.linuxfoundation.org/embedded-open-source-summit/program/cfp" target="_blank" rel="noreferrer noopener">speaking at the event</a>! </li>
</ul>



<p>Also, a quick plug for the <strong><a href="https://www.linkedin.com/events/makingthemostofpicolibcwithzeph7136054381757530112/" target="_blank" rel="noreferrer noopener">next Zephyr Tech Talk live stream on Wednesday, December 6</a></strong> (<span style="text-decoration: underline;">note</span>: we&#8217;ll be going live one hour later than our usual time, at 2pm GMT).</p>



<p>I will be <strong>chatting with open source rockstar Keith Packard about Picolibc</strong>, and how it can help you make your Zephyr application faster and leaner. I am very much looking forward to this one and hearing tons of C trivia from Keith <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>You can register <a href="https://www.linkedin.com/events/makingthemostofpicolibcwithzeph7136054381757530112/" target="_blank" rel="noreferrer noopener"><strong>here</strong></a> to make sure you get a reminder when we&#8217;ll go live, and you may of course consider spreading the word with your network, it&#8217;s always much appreciated!</p>



<figure class="wp-block-image size-large is-style-default wp-duotone-unset-2"><a href="https://www.linkedin.com/events/makingthemostofpicolibcwithzeph7136054381757530112/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/007-20231206-Keith-1024x576.webp" alt="" class="wp-image-6184" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/007-20231206-Keith-1024x576.webp 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/007-20231206-Keith-300x169.webp 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/007-20231206-Keith-768x432.webp 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/007-20231206-Keith-1536x864.webp 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/007-20231206-Keith-1200x675.webp 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/007-20231206-Keith-jpg.webp 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/01/zephyr-weekly-update-multiplexing-all-the-things#device-multiplexing">Device multiplexing</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/01/zephyr-weekly-update-multiplexing-all-the-things#memory-attributes-based-allocator">Memory attributes based allocator</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/01/zephyr-weekly-update-multiplexing-all-the-things#adding-support-for-recvmsg">Adding support for recvmsg()</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/01/zephyr-weekly-update-multiplexing-all-the-things#linkable-loadable-extensions-llext">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/01/zephyr-weekly-update-multiplexing-all-the-things#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/12/01/zephyr-weekly-update-multiplexing-all-the-things#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="device-multiplexing">Device multiplexing</h2>



<p>There are many (maybe <em>too</em> many!) interesting tricks that can be implemented on top of Devicetree, and it gives a lot of flexibility in describing and tweaking the capabilities of your hardware. </p>



<p>This week, a new <strong>device multiplexer pseudo-device</strong> has been introduced. In a nutshell, this gives you a way to have a node in your Devicetree that acts as a proxy for other devices.</p>



<p>A typical application for this would be to be able to dynamically change which UART to use as the Zephyr console. Another interesting use case would be to have the devmux act as that one <code>accel0</code> accelerometer sensor you&#8217;re using in your code, except that you could easily switch back and forth between an actual sensor, and an emulated one, for example. And all of this without having to continually update your Devicetree, recompile it, and run it again.</p>



<p>A picture being worth a thousands word, here&#8217;s a diagram that summarizes what&#8217;s going on under the hood.</p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: plain; title: ; notranslate">
            +----------+                            +----------+
            |  devmux  |                            |  devmux  |
            |          |                            |          |
 dev0       |          |                 dev0       |          |
 +----------&gt;   \      |                 +----------&gt;          |
            |    \     |                            |          |
 dev1       |     \    |       dev0      dev1       |          |       dev2
 +----------&gt;      O   +----------&gt;      +----------&gt;      O   +----------&gt;
            |          |                            |     /    |
 dev2       |          |                 dev2       |    /     |
 +----------&gt;          |                 +----------&gt;   /      |
            |          |                            |          |
            |          |                            |          |
            |          |                            |          |
            +-----^----+                            +-----^----+
                  |                                       |
   select == 0    |                       select == 2     |
   +--------------+                       +---------------+

</pre></div>


<p>From a Devicetree perspective, and for a use case where you&#8217;d want to multiplex multiple UARTs, it would look like the below:</p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: plain; title: ; notranslate">
/ {
    chosen {
        zephyr,console = &amp;amp;devmux0;
        zephyr,shell_uart = &amp;amp;devmux0;
    };

    &amp;amp;uart0 {
        status = &quot;okay&quot;;
    };

    euart0: uart_emul0 {
        compatible = &quot;zephyr,uart-emul&quot;;
        current-speed = &amp;lt;0&gt;;
        status = &quot;okay&quot;;
    };

    euart1: uart_emul1 {
        compatible = &quot;zephyr,uart-emul&quot;;
        current-speed = &amp;lt;0&gt;;
        status = &quot;okay&quot;;
    };
};
</pre></div>


<h2 class="wp-block-heading" id="memory-attributes-based-allocator">Memory attributes based allocator</h2>



<p>When configuring memory regions in the Devicetree, one can use the <strong><code><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/base/zephyr,memory-region.html" target="_blank" rel="noreferrer noopener">zephyr,memory-attr</a></code>  property</strong> to specify some flags that can then be used at runtime. This may be used for example by some drivers to indicate that they won&#8217;t function properly if used with specific types of memory, e.g. a DMA driver may require the use of non-cacheable memory.</p>



<p>A <a href="https://docs.zephyrproject.org/latest/services/mem_mgmt/index.html#memory-attributes-heap-allocator" target="_blank" rel="noreferrer noopener">recently added feature</a> makes it possible to <strong>fine-tune the way memory can be allocated from the heap</strong>, to help you easily get the right type of memory for your use case.</p>



<p>When <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_MEM_ATTR_HEAP" target="_blank" rel="noreferrer noopener">CONFIG_MEM_ATTR_HEAP</a></code> is set, all memory regions marked with specific flags (ex. <code>DT_MEM_SW_ALLOC_CACHE</code>) are added to a pool of memory heaps from which one can then <strong>allocate memory</strong> from by requesting chunks of memory <strong>of the desired type</strong>.</p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: cpp; title: ; notranslate">
// Init the pool
mem_attr_heap_pool_init();

// Allocate 0x100 bytes of cacheable memory
block = mem_attr_heap_alloc(DT_MEM_SW_ALLOC_CACHE, 0x100);

// Allocate 0x200 bytes of non-cacheable memory aligned to 32 bytes
block = mem_attr_heap_aligned_alloc(ATTR_SW_ALLOC_NON_CACHE, 0x100, 32);

// Allocate 0x100 bytes of cacheable and dma-able memory
block = mem_attr_heap_alloc(DT_MEM_SW_ALLOC_CACHE | DT_MEM_SW_ALLOC_DMA, 0x100);
</pre></div>


<h2 class="wp-block-heading" id="adding-support-for-recvmsg">Adding support for <code>recvmsg()</code></h2>



<p>Zephyr&#8217;s BSD Sockets now implement proper support for the <code><a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/recvmsg.html">recvmsg()</a></code> API.</p>



<p>As opposed to <code>recv()</code>, <code>recvmsg()</code> can be used with both connected (ex. TCP) and connection-less (ex. UDP) protocols to receive a message from an arbitrary network address. </p>



<p>When used alongside the <code>IP_PKTINFO</code> flag, it can also be useful to get additional information about an incoming packet, for example the address of the sender.</p>



<p>Check out PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65694" target="_blank" rel="noreferrer noopener">#65694</a> for more details.</p>



<h2 class="wp-block-heading" id="linkable-loadable-extensions-llext">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li>Arduino has gone a long way since its beginnings as a protyping tool for interaction design students. There is now a plethora of Arduino products very much geared towards industrial applications, and <a href="https://docs.zephyrproject.org/latest/boards/arm/arduino_opta_m4/doc/index.html" target="_blank" rel="noreferrer noopener">Arduino OPTA</a> is one of them.<br>Based on an <strong>STM32H747XI dual-core Arm® Cortex®-M7 +M4 MCU</strong>, it is basically a <strong>highly capable PLC</strong> (Programmable Logic Controller), that includes high-power relay switches, Modbus TCP and RTU capabilities, and more.<br>As of this week and PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64101" target="_blank" rel="noreferrer noopener">#64101</a>, the M4 core of the Arduino OPTA is now officially supported in Zephyr! </li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="620" height="403" src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/arduino_opta_m4.webp" alt="" class="wp-image-6193" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/arduino_opta_m4.webp 620w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/arduino_opta_m4-300x195.webp 300w" sizes="auto, (max-width: 620px) 100vw, 620px" /><figcaption class="wp-element-caption">Arduino OPTA.</figcaption></figure>



<ul class="wp-block-list">
<li>The <a href="https://www.nxp.com/design/development-boards/analog-toolbox/can-sic-evaluation-board:UCANS32K1SIC"><strong>NXP&nbsp;UCANS32K1SIC</strong></a>&nbsp;is a <strong>CAN signal improvement capability (SIC) evaluation board </strong>designed for both automotive and industrial applications that provides 2 CAN SIC interfaces and is based on a Cortex-M4F&nbsp;NXP S32K146&nbsp;MCU. Now supported <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65461" target="_blank" rel="noreferrer noopener">#65461</a>)</li>



<li>The <a href="https://docs.zephyrproject.org/latest/boards/arm/rcar_spider/doc/rcar_spider.html" target="_blank" rel="noreferrer noopener"><strong>Renesas R-Car&nbsp;Spider</strong></a>&nbsp;board&nbsp;is the reference board for evaluating the Renesas R-Car S4 SoC family.<br>Both the SoC and the board are now supported as of this week! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/56043" target="_blank" rel="noreferrer noopener">#56043</a>)</li>



<li>The <strong><a href="https://docs.zephyrproject.org/latest/boards/shields/waveshare_ups/doc/index.html" target="_blank" rel="noreferrer noopener">Waveshare Pico UPS-B shield</a></strong> is a UPS (Uninterruptible Power supply) module designed for the Raspberry Pi Pico.<br>It communicates with the Raspberry Pi Pico over I²C and allows to transparently control the charge of its battery and use it to power the Pi. It just joined the list of supported shields in Zephyr. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/60384" target="_blank" rel="noreferrer noopener">#60384</a>)</li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li>The recently added GNSS subsystem gets a new <strong>generic NMEA driver</strong>, that can be used with any source of NMEA frames. <br>When you really only care about getting and decoding the raw NMEA data straight from your GPS receiver, and have no interest in tinkering with the module&#8217;s settings (or maybe it doesn&#8217;t even have any), then this driver will be your new friend. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65422" target="_blank" rel="noreferrer noopener">#65422</a>)</li>
</ul>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: plain; title: ; notranslate">
&amp;amp;uart0 {
          current-speed = &amp;lt;9600&gt;;
          ...
          gnss: gnss-nmea-generic {
                  compatible = &quot;gnss-nmea-generic&quot;;
          };
  };
</pre></div>


<ul class="wp-block-list">
<li><strong>I²C support </strong>added for <strong>Nuvoton Numaker</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65673" target="_blank" rel="noreferrer noopener">#65673</a>)</li>



<li>Added support for <strong>NXP TJA1103 Ethernet PHY</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65756">#65756</a>)</li>



<li>New experimental <strong>NXP ENET Ethernet driver</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/62833">#62833</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>I&#8217;ll have to dedicate a post to Zephyr&#8217;s <a href="https://docs.zephyrproject.org/latest/connectivity/networking/conn_mgr/main.html" target="_blank" rel="noreferrer noopener"><strong>Connection Manager</strong></a> at some point. In the meantime, very nice to see that the <a href="https://docs.zephyrproject.org/latest/samples/net/lwm2m_client/README.html" target="_blank" rel="noreferrer noopener">LwM2M code sample</a> now puts it to good use, making it easier to try out LwM2M scenarios using a variety of connectivity options. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65464" target="_blank" rel="noreferrer noopener">#65464</a>)</li>



<li>Added support for Bluetooth LE Power Control API. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65273" target="_blank" rel="noreferrer noopener">#65273</a>)</li>



<li>Added support in LLEXT to load modules on Xtensa. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/62433" target="_blank" rel="noreferrer noopener">#62433</a>)</li>



<li>It is now possible to be notified when hostname gets updated, via a new <code>NET_EVENT_HOSTNAME_CHANGED</code> network management event. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64093">#64093</a>)</li>



<li><strong>New POSIX APIs</strong>:
<ul class="wp-block-list">
<li><code><a href="https://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_cleanup_push.html" target="_blank" rel="noreferrer noopener">pthread_cleanup_push()</a></code> / <code><a href="https://pubs.opengroup.org/onlinepubs/009696699/functions/pthread_cleanup_pop.html" target="_blank" rel="noreferrer noopener">pthread_cleanup_pop()</a></code></li>



<li><code><a href="https://pubs.opengroup.org/onlinepubs/009696799/functions/pthread_getconcurrency.html" target="_blank" rel="noreferrer noopener">pthread_getconcurrency()</a></code></li>



<li><code><code><a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_setcancelstate.html" target="_blank" rel="noreferrer noopener">pthread_setcanceltype()</a></code></code></li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>9 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/ShaharHD" target="_blank" rel="noreferrer noopener">@ShaharHD</a>, <a href="https://github.com/kilejin" target="_blank" rel="noreferrer noopener">@kilejin</a>, <a href="https://github.com/boz" target="_blank" rel="noreferrer noopener">@boz</a>, <a href="https://github.com/timwoolliscroft-opteran" target="_blank" rel="noreferrer noopener">@timwoolliscroft-opteran</a>, <a href="https://github.com/marcowidmer" target="_blank" rel="noreferrer noopener">@marcowidmer</a>, <a href="https://github.com/Grin00" target="_blank" rel="noreferrer noopener">@Grin00</a>, <a href="https://github.com/borrelunde" target="_blank" rel="noreferrer noopener">@borrelunde</a>, <a href="https://github.com/arkwad" target="_blank" rel="noreferrer noopener">@arkwad</a>, and <a href="https://github.com/adamfc2000" target="_blank" rel="noreferrer noopener">@adamfc2000</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2023/12/01/zephyr-weekly-update-multiplexing-all-the-things/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/zephyr-weekly-dec-1.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - December 1, 2023]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/12/zephyr-weekly-dec-1-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - December 1, 2023]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6183</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update &#8211; Bringing userspace to Xtensa</title>
		<link>https://blog.benjamin-cabe.com/2023/11/24/zephyr-weekly-update-bringing-userspace-to-xtensa</link>
					<comments>https://blog.benjamin-cabe.com/2023/11/24/zephyr-weekly-update-bringing-userspace-to-xtensa#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 24 Nov 2023 18:47:17 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6142</guid>

					<description><![CDATA[It was a lot of fun to play the guest in this week&#8217;s Zephyr Tech Talk. There was a lot to cover in &#8220;just&#8221; one hour (and there were tons of great questions from the audience to answer!), but I am happy that all the demos I wanted to show worked like I wanted. There [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">It was a lot of fun to play the guest in <a href="https://www.youtube.com/watch?v=sIneG-SaKaw" target="_blank" rel="noreferrer noopener">this week&#8217;s Zephyr Tech Talk</a>. There was a lot to cover in &#8220;just&#8221; one hour (and there were tons of great questions from the audience to answer!), but I am happy that all the demos I wanted to show worked like I wanted. There are quite a few things that made my life easier when deciding I would migrate my &#8220;hackish&#8221; Arduino code to Zephyr, and the video dives into what these are.</p>



<p>Interestingly, by the end of the talk, I had shown most of the code on screen, all while digressing about many other things, answering questions, etc. I hope that helps make the point that Zephyr can really help you not reinvent the wheel, and help you focus more on the code that&#8217;s actually your application, and less on the boilerplate low-level stuff <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" />  </p>



<p>Catch up on the recording here:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="How I migrated my Artificial Nose to Zephyr… in hours! // Zephyr Tech Talk #006" width="580" height="326" src="https://www.youtube.com/embed/1hudrtA3CWQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>And as a reminder, all the <a href="https://github.com/kartben/artificial-nose-zephyr" target="_blank" rel="noreferrer noopener">code of the project is on GitHub</a>, at so I encourage you to check it out!</p>



<p>And now, for the news from this past week&#8230;</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/24/zephyr-weekly-update-bringing-userspace-to-xtensa#userspace-on-xtensa">Userspace on Xtensa</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/24/zephyr-weekly-update-bringing-userspace-to-xtensa#picolibc-1-8-5">Picolibc 1.8.5</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/24/zephyr-weekly-update-bringing-userspace-to-xtensa#igmpv3-support">IGMPv3 support</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/24/zephyr-weekly-update-bringing-userspace-to-xtensa#linkable-loadable-extensions-llext">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/24/zephyr-weekly-update-bringing-userspace-to-xtensa#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/24/zephyr-weekly-update-bringing-userspace-to-xtensa#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="userspace-on-xtensa">Userspace on Xtensa</h2>



<p>When building your application on top of Zephyr, you probably don&#8217;t want  or need your entire code to run in supervisor mode, with full access to the memory, kernel objects, etc. While, say, a custom driver of your might require low-level interactions with the system, but your &#8220;actual&#8221; application probably only really cares about calling into a few APIs that will expose the data or functionality you need in your applications.</p>



<p>For architectures that include an MMU/MPU (Memory Management Unit / Memory Protection Unit), it is possible to instruct Zephyr to create so-called <a href="https://docs.zephyrproject.org/latest/kernel/usermode/index.html" target="_blank" rel="noreferrer noopener">user-mode threads</a> that end up running in their own sandbox, with very limited permissions unless explicitly granted. </p>



<p>This week, <a href="https://github.com/zephyrproject-rtos/zephyr/pull/61303">PR #61303</a> has introduced userspace support for Xtensa architectures, which is a major improvement, alongside a complete re-implementation of the MMU layer for Xtensa.</p>



<h2 class="wp-block-heading" id="picolibc-1-8-5">Picolibc 1.8.5</h2>



<p>The newly released Zephyr SDK, <a href="https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.16.4" target="_blank" rel="noreferrer noopener">version 0.16.4</a>, ships the latest version of <strong>Picolibc, 1.8.5</strong>.</p>



<p>As per <a href="https://github.com/zephyrproject-rtos/zephyr/pull/62882" target="_blank" rel="noreferrer noopener">PR #62882</a>, this new version of Picolibc brings more flexibility in selecting a printf/scanf variant to support only the format specifiers that one really needs, i.e. not bloat your binary if you don&#8217;t care about printing floats, for example.</p>



<p>As a reminder, while using a pre-compiled version from Picolibc straight from the SDK will give you faster compilation times, there is always the possibility to enable Kconfig option <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_PICOLIBC_USE_MODULE" target="_blank" rel="noreferrer noopener">CONFIG_PICOLIBC_USE_MODULE</a></code> if you want to tweak Picolibc further.</p>



<p><strong>Stay tuned for a Zephyr Tech Talk entirely dedicated to Picolibc C on Wednesday, Dec. 6!</strong></p>



<h2 class="wp-block-heading" id="igmpv3-support">IGMPv3 support</h2>



<p>The Internet Group Management Protocol (IGMP) is a protocol primarily used for managing multicast group memberships on IPv4 networks. It enables a host to inform its local router about its desire to join or leave a multicast group, which can be useful when building e.g. sensor networks where you want to use network resources as efficiently as possible.</p>



<p>As of this week, <strong>IGMPv3 is now supported</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65293">#65293</a>)</p>



<p>Among other things, IGMPv3 allows <strong>source filtering</strong>, enabling a system to report interest in receiving packets <em>only</em> from specific source addresses, or from <em>all but</em> specific source addresses, sent to a particular multicast address.</p>



<h2 class="wp-block-heading" id="linkable-loadable-extensions-llext">Boards &amp; SoCs</h2>


<div class="wp-block-image">
<figure class="alignleft size-medium"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-8.png"><img loading="lazy" decoding="async" width="244" height="300" src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-8-244x300.png" alt="" class="wp-image-6143" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-8-244x300.png 244w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-8-831x1024.png 831w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-8-768x946.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-8.png 876w" sizes="auto, (max-width: 244px) 100vw, 244px" /></a><figcaption class="wp-element-caption">STM32U5A9J-DK development board</figcaption></figure></div>


<ul class="wp-block-list">
<li><strong>STM32U5A9 SoC series</strong> is now supported, and the <strong><a href="https://docs.zephyrproject.org/latest/boards/arm/stm32u5a9j_dk/doc/index.html" target="_blank" rel="noreferrer noopener">STM32U5A9J-DK</a></strong> development board has been added as well. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64932" target="_blank" rel="noreferrer noopener">#64932</a>)</li>



<li><strong><a href="https://docs.zephyrproject.org/latest/boards/arm/weact_stm32g431_core/doc/index.html" target="_blank" rel="noreferrer noopener">WeAct STM32G431 Core</a></strong> now supported (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/63889" target="_blank" rel="noreferrer noopener">#63889</a>)</li>



<li><a href="https://docs.zephyrproject.org/latest/boards/xtensa/heltec_wireless_stick_lite_v3/doc/index.html" target="_blank" rel="noreferrer noopener"><strong>HelTec Wireless Stick Lite (V3)</strong></a>, an ESP32-S3FN8-based devkit that features a Semtech SX1262 LoRa chip, is now supported. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/61930" target="_blank" rel="noreferrer noopener">#61930</a>).</li>



<li><strong>Power Management support has been added for the STM32F4x </strong>chips. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65050" target="_blank" rel="noreferrer noopener">#65050</a>)</li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li>A new <code><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/clock/pwm-clock.html#dtbinding-pwm-clock" target="_blank" rel="noreferrer noopener">pwm-clock</a></code> binding allows to add a clock control device for a PWM node, such that the PWM can be controlled using the <a href="https://docs.zephyrproject.org/latest/hardware/peripherals/clock_control.html#api-reference" target="_blank" rel="noreferrer noopener">clock control API</a>.</li>
</ul>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: plain; title: ; notranslate">
pwmclock: pwmclock {
    status = &quot;okay&quot;;
    compatible = &quot;pwm-clock&quot;;
    #clock-cells = &amp;lt;1&gt;;
    pwms = &amp;lt;&amp;amp;pwm_ccu40 2 PWM_HZ(1000000) PWM_POLARITY_NORMAL&gt;;
};
</pre></div>


<ul class="wp-block-list">
<li>New <strong>regulator driver for Smartbond DA1469X SoC</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65226" target="_blank" rel="noreferrer noopener">#65226</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>The <strong>Bluetooth Hearing Access (HAS) </strong>server now uses non-volatile settings to restore the client awareness of preset list entries exposed by the server. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64164" target="_blank" rel="noreferrer noopener">#64164</a>)</li>



<li>A lot of work went into <strong><a href="https://docs.zephyrproject.org/latest/services/portability/posix/index.html#posix" target="_blank" rel="noreferrer noopener">cleaning up the documentation of the POSIX API</a></strong> available in Zephyr.</li>



<li>A new Kconfig option, <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_SDL_DISPLAY_ZOOM_PCT" target="_blank" rel="noreferrer noopener">CONFIG_SDL_DISPLAY_ZOOM_PCT</a></code> allows to artificially tweak the scale of the main display when using a native simulation on your desktop.<br>This can be really useful when testing, say, a 200x200px smartwatch GUI on your 32&#8243; Retina display, without killing your eyes <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" />  (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65556" target="_blank" rel="noreferrer noopener">#65556</a>)</li>



<li> New shell commands (that can be enabled using <code><a href="https://docs.zephyrproject.org/latest/kconfig.html#CONFIG_PLIC_SHELL" target="_blank" rel="noreferrer noopener">CONFIG_PLIC_SHELL</a></code>) to display the hit count of each interrupt controller&#8217;s IRQ line. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65533" target="_blank" rel="noreferrer noopener">#65533</a>)</li>
</ul>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: plain; title: ; notranslate">
uart:~$ plic stats get interrupt-controller@c000000
   IRQ        Hits
==================
    10         236

uart:~$ plic stats clear interrupt-controller@c000000
Cleared stats of interrupt-controller@c000000.

uart:~$ plic stats get interrupt-controller@c000000
   IRQ        Hits
==================
    10          90

</pre></div>


<ul class="wp-block-list">
<li>Various improvements and optimizations to the modem UART backend (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/65194" target="_blank" rel="noreferrer noopener">#65194</a>)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>12 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/ajarmouni-st" target="_blank" rel="noreferrer noopener">@ajarmouni-st</a>, <a href="https://github.com/lukas-fwdev" target="_blank" rel="noreferrer noopener">@lukas-fwdev</a>, <a href="https://github.com/adolfogc" target="_blank" rel="noreferrer noopener">@adolfogc</a>, <a href="https://github.com/adleris" target="_blank" rel="noreferrer noopener">@adleris</a>, <a href="https://github.com/arnaudmz" target="_blank" rel="noreferrer noopener">@arnaudmz</a>, <a href="https://github.com/adrienbruant" target="_blank" rel="noreferrer noopener">@adrienbruant</a>, <a href="https://github.com/wmrsouza" target="_blank" rel="noreferrer noopener">@wmrsouza</a>, <a href="https://github.com/falvia" target="_blank" rel="noreferrer noopener">@falvia</a>, <a href="https://github.com/deveritec-rosc" target="_blank" rel="noreferrer noopener">@deveritec-rosc</a>, <a href="https://github.com/kamilrakoczy" target="_blank" rel="noreferrer noopener">@kamilrakoczy</a>, <a href="https://github.com/ndrs-pst" target="_blank" rel="noreferrer noopener">@ndrs-pst</a>, and <a href="https://github.com/idruzhinin" target="_blank" rel="noreferrer noopener">@idruzhinin</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2023/11/24/zephyr-weekly-update-bringing-userspace-to-xtensa/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/zephyr-weekly-nov-24-1.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - November 24, 2023]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/zephyr-weekly-nov-24-1-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - November 24, 2023]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6142</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update &#8211; C11 threads, Enhanced logging, and more</title>
		<link>https://blog.benjamin-cabe.com/2023/11/17/zephyr-weekly-update-c11-threads-enhanced-logging-and-more</link>
					<comments>https://blog.benjamin-cabe.com/2023/11/17/zephyr-weekly-update-c11-threads-enhanced-logging-and-more#comments</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 17 Nov 2023 19:10:23 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6086</guid>

					<description><![CDATA[This has been a very busy week for the community, with an above average amount of new drivers and boards getting merged. Speaking of recently added boards, I am very excited to include one, the super tiny M5Stack AtomS3, in my Zephyr Tech Talk presentation next Wednesday! 🙂 I hope many of you will join, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">This has been a very busy week for the community, with an <strong>above average amount of new drivers and boards getting merged</strong>. Speaking of recently added boards, I am very excited to include one, the super tiny M5Stack AtomS3, in my <a href="https://www.linkedin.com/events/howimigratedmyartificialnosetoz7129885738325708800/"><strong>Zephyr Tech Talk presentation next Wednesday</strong></a>! <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>I hope many of you will join, as I will be covering how I ended up <strong>migrating </strong>my now pretty old, and frankly quite hackish, <strong><a href="https://blog.benjamin-cabe.com/2021/08/03/how-i-built-a-connected-artificial-nose">Artificial Nose project</a> to Zephyr in a matter of hours</strong>. I used this opportunity to deep more into some Zephyr features that I hadn&#8217;t add a chance to touch before, like <strong>Zbus</strong>, and I can&#8217;t wait to share my experience with y&#8217;all.</p>



<p>You should register to make sure you don&#8217;t miss the live stream, and of course feel free to also share the event with your network!</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://www.linkedin.com/events/howimigratedmyartificialnosetoz7129885738325708800/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/006-20231122-Benjamin-1024x576.webp" alt="" class="wp-image-6096" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/006-20231122-Benjamin-1024x576.webp 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/006-20231122-Benjamin-300x169.webp 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/006-20231122-Benjamin-768x432.webp 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/006-20231122-Benjamin-1536x864.webp 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/006-20231122-Benjamin-1200x675.webp 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/006-20231122-Benjamin-jpg.webp 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></div>


<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/17/zephyr-weekly-update-c11-threads-enhanced-logging-and-more#support-for-c11-threads">Support for C11 threads</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/17/zephyr-weekly-update-c11-threads-enhanced-logging-and-more#logging-to-multiple-uarts">Logging to multiple UARTs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/17/zephyr-weekly-update-c11-threads-enhanced-logging-and-more#new-keyboard-matrix-gpio-driver">New keyboard matrix GPIO driver</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/17/zephyr-weekly-update-c11-threads-enhanced-logging-and-more#linkable-loadable-extensions-llext">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/17/zephyr-weekly-update-c11-threads-enhanced-logging-and-more#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/17/zephyr-weekly-update-c11-threads-enhanced-logging-and-more#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="support-for-c11-threads">Support for C11 threads</h2>



<p>The <strong>C11 standard introduced a native multi-threading API</strong> that aims at establishing a portable API for all things threads. </p>



<p>POSIX is of course a very popular programming model for manipulating threads, but being part of the language itself, the API introduced in the 2011 version of the C standard is effectively (or should be at least!) <strong>supported on *any* platform that supports the C11 standard</strong>.</p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: cpp; title: ; notranslate">
#include &lt;stdio.h&gt;
#include &lt;threads.h&gt;

// Thread function
int printHelloWorld(void *arg) {
    printf(&quot;Hello, World!\n&quot;);
    return 0;
}

int main() {
    thrd_t thread;

    // Create a new thread
    if (thrd_create(&amp;thread, printHelloWorld, NULL) != thrd_success) {
        fprintf(stderr, &quot;Error creating thread\n&quot;);
        return 1;
    }

    // Wait for the created thread to terminate
    thrd_join(thread, NULL);

    return 0;
}
</pre></div>


<p>Chris Friedt has been working on <strong>bringing C11 threads support to Zephyr</strong> and this materialized this week with PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/60759">#60759</a> being merged. Quite interestingly, since Zephyr already exposes a POSIX API, most of the <code>threads.h</code> APIs end up mapping mostly 1-to-1 to POSIX functions.</p>



<h2 class="wp-block-heading" id="logging-to-multiple-uarts">Logging to multiple UARTs</h2>



<p>A new <code><strong><a href="https://docs.zephyrproject.org/latest/build/dts/api/bindings/misc/zephyr,log-uart.html#zephyr-log-uart" target="_blank" rel="noreferrer noopener">zephyr,log-uart</a></strong></code> chosen node can be used to indicate that log outputs may be sent to multiple UARTs.</p>



<p>Until now, the UART log backend would have been only logging to the <code>zephyr,console</code> chosen node, but with PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64917">#64917</a> it&#8217;s now possible to have the following kind of node in your Devicetree to indicate the various UARTs where you&#8217;d like logs to show up:</p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: jscript; title: ; notranslate">
/ {
	chosen {
		zephyr,log-uart = &amp;log_uarts;
	};

	log_uarts: log_uarts {
		compatible = &quot;zephyr,log-uart&quot;;
		uarts = &lt;&amp;uart0 &amp;uart1&gt;;
	};

    ...
};

</pre></div>


<h2 class="wp-block-heading" id="new-keyboard-matrix-gpio-driver">New keyboard matrix GPIO driver</h2>



<p>A new type of driver has been introduced to allow modeling a keyboard matrix out of any set of GPIOs. The <code>gpio-kbd-matrix</code> binding allows you to define your keyboard matrix configuration such as: </p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: jscript; title: ; notranslate">
  kbd-matrix {
          compatible = &quot;gpio-kbd-matrix&quot;;
          row-gpios = &lt;&amp;gpio0 0 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&gt;,
                      &lt;&amp;gpio0 1 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)&gt;;
          col-gpios = &lt;&amp;gpio0 2 GPIO_ACTIVE_LOW&gt;,
                      &lt;&amp;gpio0 3 GPIO_ACTIVE_LOW&gt;,
                      &lt;&amp;gpio0 4 GPIO_ACTIVE_LOW&gt;;
          no-ghostkey-check;
  };
</pre></div>


<p>More details in PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/65117">#65117</a>.</p>



<h2 class="wp-block-heading" id="linkable-loadable-extensions-llext">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li>The <a href="https://docs.zephyrproject.org/latest/boards/arm/nrf9131ek_nrf9131/doc/index.html" target="_blank" rel="noreferrer noopener">nRF9131 Evaluation Kit</a> from Nordic is a single-board evaluation kit for the nRF9131 SiP for LTE-M and NB-IoT.</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-medium"><img loading="lazy" decoding="async" width="300" height="110" src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-7-300x110.png" alt="" class="wp-image-6092" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-7-300x110.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-7-768x282.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-7.png 800w" sizes="auto, (max-width: 300px) 100vw, 300px" /><figcaption class="wp-element-caption"><em>nRF9131 EK (Credit: Nordic Semiconductor)</em></figcaption></figure></div>


<ul class="wp-block-list">
<li>The <a href="https://docs.zephyrproject.org/latest/boards/xtensa/m5stack_atoms3/doc/index.html"><strong>M5Stack AtomS3</strong></a> is a *very* tiny ESP32-S3 based developer kit that manages to fit a small 0.85&#8243; LCD display on what is effectively a 1×1&#8243; (24×24mm) piece of electronics!<br>Since it also has an on-board accelerometer, it can run the <a href="https://docs.zephyrproject.org/latest/samples/modules/lvgl/accelerometer_chart/README.html" target="_blank" rel="noreferrer noopener">LVGL Accelerometer Chart code sample</a> out-of-the-box!</li>
</ul>



<figure class="wp-block-video aligncenter"><video autoplay controls loop src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/278297211-d233b3cb-3746-4376-accc-271346083388.webm"></video><figcaption class="wp-element-caption"><a href="https://docs.zephyrproject.org/latest/samples/modules/lvgl/accelerometer_chart/README.html" target="_blank" rel="noreferrer noopener">LVGL Accelerometer Chart code sample</a> running on the <a href="https://docs.zephyrproject.org/latest/boards/xtensa/m5stack_atoms3/doc/index.html" target="_blank" rel="noreferrer noopener">M5Stack AtomS3 board</a>.</figcaption></figure>



<ul class="wp-block-list">
<li>The <strong><a href="https://docs.zephyrproject.org/latest/boards/arm/rzt2m_starterkit/doc/index.html" target="_blank" rel="noreferrer noopener">Renesas Starter Kit+ for RZ/T2M</a></strong> is an evaluation and development kit for the RZ/T2M MPU. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/64566">#64566</a>)</li>



<li>Support has been added for the <strong>Verdin iMX8M Plus </strong>Computer on Module (CoM) from Toradex. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/61713">#61713</a>)</li>



<li><a href="https://docs.zephyrproject.org/latest/boards/x86/intel_adl/doc/up_squared_pro_7000.html" target="_blank" rel="noreferrer noopener">UP Squared Pro 7000</a> is now supported. It is the 3rd generation of palm-sized developer board of UP Boards series and it is powered by an Intel Alder Lake N (Intel N-series Platform) SoC. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/65019">#65019</a>)</li>



<li>Support has been added for the <strong>STM32H7B0&nbsp;SoC series</strong>. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/65092">#65092</a>)</li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li>New driver for the <strong>Linear Technologies LTC2451 ADC</strong>, an ultra-tiny 16-bit ADC. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/64390">#64390</a>)</li>



<li>New driver for <strong>Renesas HS3001 and HS3003 temperature/humidity sensors</strong> (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/63016">#63016</a>)</li>



<li>A <strong>charger driver</strong> has been added to the already existing regulator driver for the <strong>MAX20335 </strong>multi-function device. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/64971">#64971</a>)</li>



<li>The <strong>LPS22DF altimeter / pressure sensor</strong> is now supported. It is an ultracompact, piezoresistive, absolute pressure sensor that can be used as a digital output barometer, with an output data rate up to 200 Hz (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/62028">#62028</a>)</li>



<li>The <strong>NXP LPC DMA driver now supports hardware triggering</strong>. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/64573">#64573</a>)</li>



<li>New driver for <strong>NXP FlexRAM memory controller</strong>. FlexRAM is a highly configurable and flexible RAM memory array, found on e.g. RT10XX and RT11XX series.  (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/62788">#62788</a>)</li>



<li>New <strong>modem driver for Quectel EG25-G</strong>. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/64746">#64746</a>)</li>



<li>New driver for <strong>ExplorIR-M CO2 sensor</strong>. A new <code>co2_polling</code> code samples was also introduced to make it easy to try things out with this driver (or any other CO2 driver really!). (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/64621">#64621</a>)</li>



<li>A new CAN shell command (<code>can timing</code>) adds support for setting raw timing values. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/65054">#65054</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>The inter-core messaging (ICMsg) backend <a href="https://docs.zephyrproject.org/latest/services/ipc/ipc_service/backends/ipc_service_icbmsg.html#icmsg-with-dynamically-allocated-buffers-backend" target="_blank" rel="noreferrer noopener">now supports the transfer of dynamically allocated buffers</a>. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/58741">#58741</a>)</li>



<li>Added API to BLE Audio CAP to set codec capabilities. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/63223">#63223</a>)</li>



<li>Zephyr <strong><a href="https://docs.zephyrproject.org/latest/boards/posix/native_sim/doc/index.html" target="_blank" rel="noreferrer noopener">native simulator</a> is now the recommended target </strong>for running Zephyr in your desktop/POSIX environment, and the documentation has been updated to reflect that.</li>



<li>The <strong>UART Shell backend </strong>has been <strong>reworked to support the asynchronous UART API</strong>. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/63967">#63967</a>)</li>



<li>A new set of <strong>shell commands </strong>(<code>cred ...</code>) allow to interactively set <strong>TLS network credentials</strong>. See the list of commands <a href="https://docs.zephyrproject.org/latest/connectivity/networking/api/tls_credentials_shell.html#tls-credentials-shell" target="_blank" rel="noreferrer noopener">here</a>. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/64343">#64343</a>)</li>



<li>MCUmgr OS management group now has functions for getting/setting the current time to/from the <code>rtc</code> alias device. (PR&nbsp;<a href="https://github.com/zephyrproject-rtos/zephyr/pull/64934">#64934</a>)</li>



<li>The <strong>Bluetooth &#8220;<a href="https://docs.zephyrproject.org/latest/samples/bluetooth/broadcast_audio_source/README.html" target="_blank" rel="noreferrer noopener">broadcast audio source</a>&#8221; code sample now supports using e.g. your host computer as the audio source</strong>.<br>Granted that you are running the sample on a device that has a USB Device stack and Audio support, enabling <code>CONFIG_USE_USB_AUDIO_INPUT</code> will make your device show up as a sound device when plugged to your computer, and any audio that you will send to this &#8220;virtual speaker&#8221;, will be broadcast over LE Audio! <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f50a.png" alt="🔊" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>11 individuals</strong> who had their first pull request accepted this week, <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f499.png" alt="💙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" />: <a href="https://github.com/TimTTP" target="_blank" rel="noreferrer noopener">@TimTTP</a>, <a href="https://github.com/GabrielHAFs" target="_blank" rel="noreferrer noopener">@GabrielHAFs</a>, <a href="https://github.com/LipinskiPNordicSemi" target="_blank" rel="noreferrer noopener">@LipinskiPNordicSemi</a>, <a href="https://github.com/michael-whg" target="_blank" rel="noreferrer noopener">@michael-whg</a>, <a href="https://github.com/josuah" target="_blank" rel="noreferrer noopener">@josuah</a>, <a href="https://github.com/CkovMk" target="_blank" rel="noreferrer noopener">@CkovMk</a>, <a href="https://github.com/CharlesDias" target="_blank" rel="noreferrer noopener">@CharlesDias</a>, <a href="https://github.com/ndaneil" target="_blank" rel="noreferrer noopener">@ndaneil</a>, <a href="https://github.com/xvigo" target="_blank" rel="noreferrer noopener">@xvigo</a>, <a href="https://github.com/KamilxPaszkiet" target="_blank" rel="noreferrer noopener">@KamilxPaszkiet</a>, and <a href="https://github.com/mpenate-ellenbytech" target="_blank" rel="noreferrer noopener">@mpenate-ellenbytech</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2023/11/17/zephyr-weekly-update-c11-threads-enhanced-logging-and-more/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		<enclosure url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/278297211-d233b3cb-3746-4376-accc-271346083388.webm" length="371141" type="video/webm" />

					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/zephyr-weekly-nov-17.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - November 17, 2023]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/zephyr-weekly-nov-17-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - November 17, 2023]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6086</post-id>	</item>
		<item>
		<title>Zephyr Weekly Update &#8211; New CoAP service</title>
		<link>https://blog.benjamin-cabe.com/2023/11/10/zephyr-weekly-update-new-coap-service</link>
					<comments>https://blog.benjamin-cabe.com/2023/11/10/zephyr-weekly-update-new-coap-service#respond</comments>
		
		<dc:creator><![CDATA[Benjamin Cabé]]></dc:creator>
		<pubDate>Fri, 10 Nov 2023 18:28:03 +0000</pubDate>
				<category><![CDATA[IoT]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[zephyr-weekly-update]]></category>
		<guid isPermaLink="false">https://blog.benjamin-cabe.com/?p=6033</guid>

					<description><![CDATA[Hi everyone! In case you missed it, the Eclipse Foundation just released the results of their 2023 IoT Developer Survey. It is always a challenge to understand the trends in adoption of open source software as there is no obligation on the adopters&#8217; side to tell when and where they are using open source projects [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap">Hi everyone! In case you missed it, the Eclipse Foundation just released the <a href="https://5413615.fs1.hubspotusercontent-na1.net/hubfs/5413615/Eclipse%20IoT%20White%20Papers%20and%20Case%20Studies/2023%20IoT%20&amp;%20Edge%20Developer%20Survey%20Report.pdf"><strong>results of their 2023 IoT Developer Survey</strong></a>. It is always a challenge to understand the trends in adoption of open source software as there is no obligation on the adopters&#8217; side to tell when and where they are using open source projects 🙂 </p>



<p>This survey is very helpful in shedding some light on the technology stacks people are using in their IoT solutions, and it&#8217;s nice to see Zephyr is on their radar.</p>



<figure class="wp-block-image size-large is-style-default"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/2023-IoT-Edge-Developer-Survey-Report-8.png"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/2023-IoT-Edge-Developer-Survey-Report-8-1024x576.png" alt="Developer Embedded OS Preferences on Constrained Devices

Linux (43%), and FreeRTOS
(25%) are the top embedded
OS choices for constrained
devices. A solid 17% of
developers prefer no OS at all,
while Zephyr enjoys a
respectable 13%, compared to
only 8% in 2022." class="wp-image-6043" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/2023-IoT-Edge-Developer-Survey-Report-8-1024x576.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/2023-IoT-Edge-Developer-Survey-Report-8-300x169.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/2023-IoT-Edge-Developer-Survey-Report-8-768x432.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/2023-IoT-Edge-Developer-Survey-Report-8.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>In other news, here are some of the things that have kept the Zephyr community busy this week!</p>



<nav aria-label="Table of Contents" class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/10/zephyr-weekly-update-new-coap-service#coap-servlets">CoAP &#8220;servlets&#8221;</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/10/zephyr-weekly-update-new-coap-service#linkable-loadable-extensions-llext">Boards &amp; SoCs</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/10/zephyr-weekly-update-new-coap-service#drivers">Drivers</a></li><li><a class="wp-block-table-of-contents__entry" href="https://blog.benjamin-cabe.com/2023/11/10/zephyr-weekly-update-new-coap-service#mmiscellaneous">Miscellaneous</a></li></ol></nav>



<h2 class="wp-block-heading" id="coap-servlets">CoAP &#8220;servlets&#8221;</h2>



<p>When building an IoT device, one typically wants to spend time writing their actual application logic, not reinventing the wheel regarding how they should implement the &#8220;Internet&#8221; aspect of their &#8220;Thing&#8221;</p>



<p>A merged pull request from this week, PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64265">#64265</a>, is introducing a <a href="https://docs.zephyrproject.org/latest/connectivity/networking/api/coap_server.html">CoAP server API</a> that allows to easily <strong>register CoAP resources against a CoAP &#8220;service&#8221;</strong>, effectively getting rid of most of the boilerplate one would have to come up with if building on lower layer APIs.</p>



<p>In a nutshell, and in a slightly simplified way, a minimal CoAP server + <code>/hello</code> resource would not require much more code than:</p>


<div class="wp-block-syntaxhighlighter-code alignwide"><pre class="brush: cpp; title: ; notranslate">
COAP_SERVICE_DEFINE(coap_server, 
			&quot;0.0.0.0&quot;,
			&amp;coap_port, 
			COAP_SERVICE_AUTOSTART);

static int my_get(struct coap_resource *resource, struct coap_packet *request,
                  struct sockaddr *addr, socklen_t addr_len)
{
    static const char *msg = &quot;Hello, world!&quot;;
    uint8_t data&#x5B;CONFIG_COAP_SERVER_MESSAGE_SIZE];
    struct coap_packet response;
    
    /** ... **/
    
    coap_packet_append_payload(&amp;response, (uint8_t *)msg, sizeof(msg));

    return coap_resource_send(resource, &amp;response, addr, addr_len);
}


static const char * const my_resource_path&#x5B;] = { &quot;hello&quot;, NULL };
COAP_RESOURCE_DEFINE(my_resource, coap_server, {
    .path = my_resource_path,
    .get = my_get
});
</pre></div>


<p>The CoAP service can then be started/stopped using <code>coap_service_start()</code>/<code>coap_service_stop()</code> (in the example above it&#8217;s set to start automatically) or using shell commands, and things like the magic <code><a href="https://datatracker.ietf.org/doc/html/rfc6690" target="_blank" rel="noreferrer noopener">./well-known/core</a></code> endpoint, retransmissions, etc. are automatically taken care of by the service.</p>



<p>I love it when Zephyr gets new features like this. This new service feels very much like what you would expect to find in a full-blown operating system, and yet we&#8217;re still talking about super constrained devices here.</p>



<p>You should definitely check out the <a href="https://docs.zephyrproject.org/latest/samples/net/sockets/coap_server/README.html#coap-server">code sample</a> to get more familiar with this new API.</p>



<h2 class="wp-block-heading" id="linkable-loadable-extensions-llext">Boards &amp; SoCs</h2>



<ul class="wp-block-list">
<li><strong>Arm Cortex-A and Cortex-R now support SMP</strong>! It is worth noting that <code>FPU_SHARING</code> and <code>USERSPACE</code> are not supported yet. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/61206">#61206</a>)</li>



<li>It is now possible to have a <strong>custom interrupt control interface implementation on Cortex-M</strong>, using the <code><a href="http://CONFIG_ARM_CUSTOM_INTERRUPT_CONTROLLER" target="_blank" rel="noreferrer noopener">CONFIG_ARM_CUSTOM_INTERRUPT_CONTROLLER</a></code> option.<br>While all Cortex-M platforms have an NVIC controller,custom SoCs may have additional IRQ controllers, or require custom handling. This option allows to indicate that these SoCs are using custom interrupt control interface implementation</li>



<li>The<strong> Firefly ROC-RK3568 mini computer</strong> is an ARM64 board with a quad-core Cortex-A55 @ 2GHz, 4GB of LPDDR, 32GB of eMMC, M.2 PCI Express slots, dual Gigabit Ethernet ports, and more. It is <a href="https://docs.zephyrproject.org/latest/boards/arm64/roc_rk3568_pc/doc/index.html" target="_blank" rel="noreferrer noopener">now supported in Zephyr</a>! (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64217">#64217</a>)</li>
</ul>


<div class="wp-block-image">
<figure class="alignleft size-medium"><a href="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-4.png"><img loading="lazy" decoding="async" width="300" height="300" src="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-4-300x300.png" alt="" class="wp-image-6035" style="object-fit:cover" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-4-300x300.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-4-1024x1024.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-4-150x150.png 150w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-4-768x768.png 768w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-4-1536x1536.png 1536w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-4-1200x1200.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/image-4.png 1600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><figcaption class="wp-element-caption">Lolin S2 Mini dev kit</figcaption></figure></div>


<ul class="wp-block-list">
<li>Support has been added for the <strong><a href="https://docs.zephyrproject.org/latest/boards/xtensa/esp32s2_lolin_mini/doc/index.html" target="_blank" rel="noreferrer noopener">Lolin S2 Mini</a></strong> (also known as <strong>Wemos S2 Mini</strong> &#8230;and I am realizing as I am typing this that I have one sitting on my desk, and one connected to my electricity meter monitoring the consumption of my house! Guess I need to do some hacking and porting soon!). This small devkit features an ESP32-S2 with 4MB of Flash, 2MB of PSRAM, and can be used with a <a href="https://www.wemos.cc/en/latest/d1_mini_shield/index.html" target="_blank" rel="noreferrer noopener">variety of shields</a>.</li>



<li>On <strong>STM32</strong>, the <strong>ADC driver </strong>now supports <strong>power management</strong>. A <a href="https://docs.zephyrproject.org/latest/samples/boards/stm32/power_mgmt/adc/README.html" target="_blank" rel="noreferrer noopener">code sample</a> has been added to demonstrate the improvements (spoiler alert: consumption can be almost 20x less now). (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64191">#64191</a>)</li>



<li>Clock control driver is now available for Ambiq SoCs. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/63097">#63097</a>)</li>



<li>Added support for <strong>NXP Multirate Timer </strong>peripheral. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64801">#64801</a>)</li>
</ul>



<h2 class="wp-block-heading" id="drivers">Drivers</h2>



<ul class="wp-block-list">
<li>A <strong>new Wi-Fi driver is available for the Infineon AIROC</strong>, as found in CYW4343W, CYW4373, CYW43012, CYW43012, CYW43439. It is pretty exciting since among other things, it means we should soon see Wi-Fi support added to the Rasperry Pi Pico W. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/63721">#63721</a>)
<ul class="wp-block-list">
<li>The already supported <a href="https://docs.zephyrproject.org/latest/boards/arm/cy8cproto_062_4343w/doc/index.html" target="_blank" rel="noreferrer noopener">CY8CPROTO-062-4343W</a> board now has Wi-Fi functionality enabled.</li>
</ul>
</li>



<li>The aforementioned Wi-Fi module supports both SPI and <strong>SDIO interfaces</strong>, and it&#8217;s the latter that&#8217;s used by the driver for now. <br>SDIO is an extension of the SD specification covering I/O functions, and it turns out <strong>support for it was also just added </strong>to Zephyr. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/56869">#56869</a>)</li>



<li>The <strong>Analog AD5592</strong> is a versatile multifunction IC that has 8 I/O pins that can be independently configured to act as DAC output, ADC inputs, or regular GPIOs.<br>A new &#8220;multi-function&#8221; driver is now available to leverage all these different options easily from the Devicetree. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64592">#64592</a>)</li>



<li>New <strong>Ethernet driver for Microchip LAN8651</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/63614">#63614</a>)</li>



<li>New driver for the <strong>TSL2561 light sensor</strong>. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/56869">#56869</a>)</li>
</ul>



<h2 class="wp-block-heading" id="mmiscellaneous">Miscellaneous</h2>



<ul class="wp-block-list">
<li>A new spinlock mechanism, <strong>ticket spinlocks</strong>, has been introduced. It is meant to help in situations where traditional locking would be &#8220;unfair&#8221; across multiple CPUs due to how the implementation only relies on a single atomic variable. Ticket spinlocks provide true FIFO ordering at the cost of slightly increased memory footprint. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/61541">#61541</a>)</li>



<li>Some awesome work to <strong>implement the official LwM2M interoperability tests</strong>, in particular the ones related to bootstrapping, registration, device management and service enablement interface, and information reporting interface. I highly encourage you to have a look as this is also a great way to get up to speed with using Pytest for Zephyr testing 🙂 (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64013">#64013</a>)<br><br>I wonder if the Open Mobile Alliance still organizes PlugFests, but I would live to see Zephyr participate in the future.</li>



<li><strong>CMSIS version has been updated to 5.9.0</strong> in the Zephyr manifest. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64851">#64851</a>)</li>



<li>API for <strong>Bluetooth CAP Commander </strong>has been introduced. (PR <a href="https://github.com/zephyrproject-rtos/zephyr/pull/64645">#64645</a>)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<p>A big thank you to the <strong>7 individuals</strong> who had their first pull request accepted this week, 💙 🙌: <a href="https://github.com/cocoeoli" target="_blank" rel="noreferrer noopener">@cocoeoli</a>, <a href="https://github.com/mgolu" target="_blank" rel="noreferrer noopener">@mgolu</a>, <a href="https://github.com/topisani" target="_blank" rel="noreferrer noopener">@topisani</a>, <a href="https://github.com/samueltardieu" target="_blank" rel="noreferrer noopener">@samueltardieu</a>, <a href="https://github.com/p9n" target="_blank" rel="noreferrer noopener">@p9n</a>, <a href="https://github.com/BenjaminDeuter" target="_blank" rel="noreferrer noopener">@BenjaminDeuter</a>, and <a href="https://github.com/raffi-g" target="_blank" rel="noreferrer noopener">@raffi-g</a>.</p>



<p>As always, I very much welcome your thoughts and feedback in the comments below!</p>



<p class="has-subtle-background-background-color has-background">If you enjoyed this article, don&#8217;t forget to <strong><a href="https://blog.benjamin-cabe.com/subscribe-to-this-blog" target="_blank" rel="noreferrer noopener">subscribe to this blog</a> to be notified of upcoming publications</strong>! And of course, you can also always find me on <a href="https://twitter.com/kartben" target="_blank" rel="me noopener">Twitter</a> and <a href="https://mastodon.social/@kartben" rel="me">Mastodon</a>.</p>



<p>Catch up on all previous issues of the Zephyr Weekly Update:</p>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-17361a50 wp-block-post-template-is-layout-grid"><li class="wp-block-post post-11306 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Video Killed the Radio Star" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/05/zephyr-weekly-2025-may-23-2-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/05/23/zephyr-weekly-update-video-killed-the-radio-star" target="_self" >Zephyr Weekly Update – Video Killed the Radio Star</a></h2>
</li><li class="wp-block-post post-10877 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-18-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/18/zephyr-weekly-update-packet-filtering-uuids-more" target="_self" >Zephyr Weekly Update – Packet Filtering, UUIDs &amp; More</a></h2>
</li><li class="wp-block-post post-10730 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Apr. 11, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/04/zephyr-weekly-2025-apr-11-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/04/11/zephyr-weekly-update-apr-11-2025" target="_self" >Zephyr Weekly Update – Apr. 11, 2025</a></h2>
</li><li class="wp-block-post post-10558 post type-post status-publish format-standard has-post-thumbnail hentry category-iot-2 category-zephyr tag-zephyr-weekly-update">
<figure class="wp-block-post-featured-image"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self"  ><img loading="lazy" decoding="async" width="1200" height="670" src="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Zephyr Weekly Update – Mar. 28, 2025" style="object-fit:cover;" srcset="https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28.png 1200w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-300x168.png 300w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-1024x572.png 1024w, https://blog.benjamin-cabe.com/wp-content/uploads/2025/03/zephyr-weekly-2025-mar-28-768x429.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></a></figure>

<h2 style="font-style:normal;font-weight:400;" class="wp-block-post-title has-small-font-size"><a href="https://blog.benjamin-cabe.com/2025/03/28/zephyr-weekly-update-mar-28-2025" target="_self" >Zephyr Weekly Update – Mar. 28, 2025</a></h2>
</li></ul>

<nav style="font-style:normal;font-weight:300;" class="wp-block-query-pagination has-small-font-size is-layout-flex wp-block-query-pagination-is-layout-flex" aria-label="Pagination">


<div class="wp-block-query-pagination-numbers"><span aria-current="page" class="page-numbers current">1</span>
<a class="page-numbers" href="?query-42-page=2">2</a>
<a class="page-numbers" href="?query-42-page=3">3</a>
<span class="page-numbers dots">&hellip;</span>
<a class="page-numbers" href="?query-42-page=14">14</a></div>

<a href="/feed?query-42-page=2" class="wp-block-query-pagination-next">Next Page<span class='wp-block-query-pagination-next-arrow is-arrow-arrow' aria-hidden='true'>→</span></a>
</nav>

</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.benjamin-cabe.com/2023/11/10/zephyr-weekly-update-new-coap-service/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
					<media:content
				url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/zephyr-weekly-nov-10.png"
				type="image/png"
				medium="image"
				width="1200"
				height="670">
				<media:title type="plain">
					<![CDATA[Zephyr Weekly Update - November 10, 2023]]>
				</media:title>
				<media:thumbnail
					url="https://blog.benjamin-cabe.com/wp-content/uploads/2023/11/zephyr-weekly-nov-10-768x429.png"
					width="580"
					height="324" />
									<media:description type="plain"><![CDATA[Zephyr Weekly Update - November 10, 2023]]></media:description>
													<media:copyright>Benjamin Cabé</media:copyright>
							</media:content>
			<post-id xmlns="com-wordpress:feed-additions:1">6033</post-id>	</item>
	</channel>
</rss>
