This podcast episode covers recent Zephyr OS developments including CPU frequency scaling with thermal constraints, GPIO power management challenges, Twister multi-DUT testing capabilities, and new hardware drivers for devices like the TAS2563 smart amplifier, FDC1004 capacitance sensor, and Renesas SLG47910 FPGA. The hosts also discuss the new AI-powered chatbot in Zephyr documentation that helps users find information about boards, features, and development practices, while highlighting various new hardware boards and shields added to the project.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Smart Amps and Smarter Docs // Zephyr Podcast #034Added:
Hey everyone, this is your weekly episode of the Zephyr podcast where we talk about all things Zephyr open source embedded lots of other cool stuff. I'm Benjamin, your co-host.
Hey hello Fabio, you're other co-host.
Do you get it?
Did you order it?
No.
>> [laughter] >> I don't want to play you. I know what you're talking about.
So we talked we talked about the the Steam controller last week.
Uh certainly because of the podcast we built up so much hype that it sold out in 30 minutes.
Um Yeah. Well, actually As we are starting, one thing that I wanted to say actually, uh it wasn't any uh sort of um uh ploy that I mentioned the other day that on the day the Steam controller would be going out, it would be my birthday, well, which it was, and many people reached out to be like, "Hey, happy birthday." So, thank you. And people enjoying the podcast, so that's really nice. Uh But yeah, I did check I think it was due to like be released at 7:00 p.m., but I didn't quite check whether it was GMT or my local time or whatever. So, I think I Yeah, um No, no, no, no, it was I mean I'm Pacific.
Right, okay. So, then So, then it was 7:00 p.m. my local time, and I think I Yeah, I didn't have big intentions to order it, but I looked at 9:00 p.m., and yes, it was gone. I I added it to the cart and went on the checkout page, and then I thought, yeah, I would I wouldn't use it, right? Like I don't I play one game and it's mouse and keyboard.
Anyway, um so, apparently, uh though even if I added it to the cart, I saw a lot of people that added it to the cart and couldn't check it out. Um so, anyway, I'm happy that people that use it got it.
>> Did we learn new things about it since last week? No, we learned that there's a lot of scalpers that just grabbed it to resell it on eBay for four times the price. Harsh. And and the Valve is going after that. Apparently, they're starting a Cuz this This is very common for game stuff, apparently. So, they're they're They're setting up a queue. People are very happy about how they're handling it, apparently. So, anyway, good stuff.
But, there is something new. Um so, couple of days ago, they released the 3D model for the external shell, which is really really cool. I mean, it it's obviously because they want people to be able to do accessory that like clamp onto the shell, which is not that easy to do because it's very curvy.
It's a really cool trend, though. We had uh Framework that did it for the keyboard uh last week. Uh Somebody mentioned the iFixit soldering iron.
Uh they also have the 3D model for the uh for the toolkit, the thing with the the iron, the TS100 iron, the TS100 power power bank, really cool. Uh Noctua released the 3D model for their fans so that you can use them on models. Uh and then now Valve with these, which already had a 3D model for the Steam Deck, the Steam Deck, same reason. Really cool trend. We like We like that companies are doing this. But, I I have to admit I was really mad at you earlier this week cuz last week you were telling me like you found You had this scoop, basically, where you downloaded the firmware and you had this idea of all the sub-systems, etc. And then earlier this week, I found on Reddit a post from like 5 months ago that said exactly the same, and some people had already done the forensics I am very very sorry. I was already available in the in the app at the time.
So, So, I was I was I was keep mediocre job. I was keeping an an eye out for this stuff for quite a long time, but what I was doing was uh tracking the feed for the firmware of the old controller and I figured oh, it's going to show up here at some point. Uh I'm going to be the first one to find it.
>> app all the time, right?
Yeah. [laughter] Oh, well, um yeah, anyway. So, now the rumor is that they're going to release the the the console like the uh Steam Box, the Gabe Cube, and that one is also going to have a receiver, so there's going to be a Ziffer thing in there as well, a little kite.
And so the and the the the 3D model, all the um the step files and whatnot, uh the STL files, they are hosted on GitLab.
>> GitLab, but they're private Git. I guess they use GitLab on uh uh they must be using it internally. Um yeah, I think >> they're using it for other reasons.
Maybe they're using it because it works.
Um yeah, so so the the GitHub weather forecast for the week, um Tuesday, the actions were completely broken.
Thursday, the pull requests were broken.
I was trying to do a review and GitHub went like, "Yeah, no, error."
Oh my god. Um I was thinking we should uh start a Polymarket page for betting what day GitHub is going to be broken next week. Well, you just said the weather you just said weather forecast, so I thought you were announcing or predicting already that next Tuesday is going to be broken and next Wednesday as well. Yeah, so Wednesday um globally, I don't know, anyway. What the hell?
Yeah, well, I said last week that I don't want to give them too much of a hard time. It's uh but yeah, there's yeah, it's yeah, we see many projects being more and more concerned about it, so yeah, we should be aware of that, I guess.
Yeah, we're very invested into it. And yeah, to be fair to GitHub, we get a lot for free, right?
Correct.
Like ooh, we owe.
>> [sighs and gasps] >> Yep. Um What happened to you?
>> Yeah, I guess we can jump probably jump straight into all the crazy metric ton of pull requests that we merged this week. Uh quite a few interesting new features bring uh hardware being bring brought up and stuff. So, uh let's start with the new policy for the CPU frequency um subsystem. Uh so, this one was um uh introduced recently. I think they I I even did some some demos in the um uh in the 4.4 release video.
So, um like yeah, this is like we have a um a set of APIs to control uh to overclock or underclock, if you will, uh your SOC at run time and a way to um to hook up specific policies uh for having this being done automatically based on uh conditions. Conditions could be uh the pressure on the scheduler, like how many tasks are like queued up. Like the more you have uh stuff queued up, maybe the the higher you want the um your uh CPU frequency. Uh something that someone uh just introduced this week is the uh ability to introduce a new uh factor or new parameter into the mix, which is uh the temperature of the system. Um so, like a thermal uh cap constraint. Uh so, I think that's pretty cool. Like again, uh Thermal throttling.
Uh yeah, yep, yeah. Wow.
So, that that I mean, that makes a lot of sense, especially on those like very beefy uh boards where uh the SOC will actually get uh warmer uh as it uh as it's uh more more busy. Um yeah, that's pretty >> It's quite impressive to think that they clearly have an application where they do enough computation on a Zephyr application that create heat, like energy that like this is this is what you would you what you would normally expect from an application. I I guess it must be like an application processor class of device one of those cortex A or something but well this is cool. It must they must be doing something in computationally intensive.
Yep yeah and so one one thing that's I think really worth noting this is one of those PRs where I think the whole thing including documentation and so on is like a thousand lines of of code. So I think that also makes the point of this CPU frequency scaling subsystem being really easy to tweak right? Like you want to add an entire new way of controlling the frequency here the temperature is pretty easy to do like you just implement a bunch of hooks and APIs and uh you're in business. So check it out we'll we'll link to the the pull request.
Cool.
So on the on the other side of the spectrum um let's look about what happens when your CPU is not doing anything then you want it to really don't take my time much power. Uh this is something that has been thrown my way um cuz it's on the uh GPIO keys driver so this is the driver that handles button connected to a GPIO with the bouncing.
Uh it has power management support do something I implemented a few years back when I was one on one of my application I was I was for fun trying to optimize every nano amp I could anything I could measure with my PPK2. Uh so I just implemented a GPIO disconnect functionality. Cool was working very nice. Then I used the driver on a different chip and uh the GPIO driver for that specific one was not supporting GPIO disconnect.
Very sad so I had to implement a flag to say hey don't do GPIO disconnect. Now the STM32 driver changed and as it turns out what my driver is doing is doing disconnect plus setting the GPIO, the device free flag, so pull up and pull down.
But, the STM32 GPIO controller cannot do that, so it started failing there as well. Where am I going with this? Uh GPIO is tricky. You think it's a simple device, and uh we have the abstraction for controlling a lot of functionalities.
And ideally everything would be portable, but this is one of the example of a use case where we can't really be that portable.
Uh so, the conversation was we're just going to filter out the pull up and pull down from the disconnect code path.
But then, this is going to send something for downstream user, and it may affect them. I'm not entirely sure. In the end, we ended up with we found an enum that tells you how do you want to send a pin in low power mode. It's a bit sad. It's a bit of a loss from a portability perspective. Ideally, we would have a generic pin low power function that does whatever is best for the chip, I guess.
But, yeah, I just wanted to mention that it it's very hard to do uh abstraction and portability at this level with this level of detail. Obviously, the normal stuff is abstracted well, right? Set pin high, set pin low, stuff like that. Uh yeah, that's it.
Cool. Um so, you've been I mean, I've been uh working on a bunch of PRs this week, uh and I think we've exchanged back and forth. You as a reviewer uh uh put some um uh comments on some of those PRs regarding the newish um way and and macro that we have for uh logging consistently that a a device might not be ready. Like, this is always the same kind of message we want to output. So, there's a way to save on flash by using exactly the same construct everywhere. Um yeah, like you I think you wanted to talk about it. Yeah, I think it's nice to to use this. So, uh yeah, this is a generic macro I did for every single message for your device is not ready message, which you are likely never going to see. So, it's a So, a waste of flash. It's not that much flash, but it's still wasted, right? Uh so, I I I did a pass on the input driver, which are the one I maintain.
And for some reason, I realized the other day that I missed like half of those.
Uh I handled all the buses not initialized, but they didn't handle most of the GPIO devices not initialized. I must have grabbed for the wrong thing.
Uh so, that got me thinking why do we even bother checking for those, right?
I'm I'm I'm wondering if if could I'm wondering if if there are if we could make an argument that we have enough uh build time checking uh especially with the uh built-in priority checking, something that I I wrote uh a few years ago after breaking a bunch of downstream devices by changing priority.
It should be enough to guarantee that you're not going to find this at run time. So, I was starting to think about use cases where this is not the case.
And the only one I can think of is if you're for GPIO specifically, if you're using an external like an I squared C port expander and it fails or the bus it's connected to fails like some of the other devices on the bus fails in a way that propagates to that, then it may fail in run time and it may be useful to have the error details here, but >> [snorts] >> it's very rare, right? You could if you have the shell, you can still see that the device failed to initialize and the parent as well.
Um but yeah, I think I think it's it's it's a good idea to at least use the same message because it's the super rare. Like if if your GPIO is on the SOC, you're you'll never see it failing, right? Yeah, would that make sense to actually go one step further in terms of I mean, we love macros, right? But rather than having a macro for logging the error, having like a a one one-stop-shop macro that checks whether the device is is ready and logs if that's not the case. So, the I guess where I'm going is making it easier for folks to be like Um I mean, this is how you in the initial init code of your driver, this is how you do it. And of course, your everyone is going to do the same because that's that becomes the sort of like the de facto standard for checking.
I would love to do that. So, in Linux, uh there's some I can't remember exactly which one, but I think it's the some flavor of the memory allocation macro that have a error message built in. And if you try to put an error message after using it, checkpatch is going to complain and tell you get rid of this.
Yeah, I think it would be I think it I think it could be an interesting idea just to clean up the driver a bit or cuz this this code is is they doesn't have much value.
>> in in some more advanced programming languages, it would almost be like an annotation or something on the on the init code to be like, "Hey, those are the kind of uh checks I want you to make for me."
Uh and the code is generated, basically.
Yeah, so on one side, yeah, I think it on one side, it may be worth trying to simplify it even further. But then, I was thinking on another side, if you when if you encounter a case where it fails, it may also be useful to maybe have an option to say, "Hey, make this error message even more verbose. Maybe add the uh line file name and line."
Like, maybe you found it. Maybe you found the issue and you you need to debug it. This would be easier, right? I don't know.
Yeah. Which so, I think we may have lost maybe 90% of the audience here, maybe.
But, the I think also that the other 10% might have some ideas, uh some thoughts.
Um yeah, I mean, let's let's discuss further. I think we can we can certainly do better there. Flash usage is one, uh code uh consistency across the tree. So, uh yeah, people have those ideas, we can discuss more on Discord or through GitHub issues and whatnot. Pull requests.
>> This stuff is important, right? Once you wrote a flash, you wrote a flash.
Yes.
Okay. It's also what is important is testing because stuff breaks. So, there's a new feature for Twister uh called Twister multi-DUT testing.
Uh so, this is this requires >> in I just device under test. So, we have we have a certain category of test that needs multiple devices to be tested.
Example, Bluetooth. You need a host and a device.
Uh so, this add support for Twister for flashing multiple devices with different firmware and then do the coordination. So, you have to use Pytest, which I'm not super familiar with, but I need to look into it cuz it's useful. And the important thing is it's documented and there are two samples in the tree and one of those is a is with a Bluetooth uh temperature device something. So, if this is something that you that you could use, we're going to link the example in the show notes.
Yeah, that's one I mean, I didn't look at this one specifically. Um uh but you made the point that it's just documentation. Uh I see more and more PRs with great documentation alongside them cuz I think people are using LLMs more and more using it the right way for the lack of a better word in that they make sure that there's at least a few blurs explaining what the functionality is. So, it really helps with discovery and so on. So, that's really nice to see.
Do we need more house?
More, less, I don't know. It It depends, I guess. There's So, I [laughter] think maybe some of the French listener will kind of get the reference of what kind of old >> What did they say? [laughter] You No, it's No, no.
>> want to know. I was going to say like there's the good HAL and then there's the the bad HAL. It's kind of like a I don't know. Some some bad uh um humor show from the late '80s or early '90s, whatever.
I think yes, there's good HALs and bad HALs. That it depends and there's also like different categories. Like there's the the HALs that vendors SOC vendors have for their SOCs and all the the IP there and sometimes there's also HAL that maybe are slightly less necessary for things like sensors and like more like external peripherals where uh does does effort driver really need to rely on whatever toolkit the vendor provides rather than just tapping directly into the uh what what the data sheet tells you to, right? They're definitely not going away but there is some some more concrete conversation into trying to have a policy to at least have a direction of a should new driver maybe try to not use the HAL.
What are the criteria? So, this has been brought up in the secondary architecture meeting.
So, more and more of a preview of what you're going to see in the next uh arc or maybe maybe process meetings, I'm not sure. This is a bit a bit of a process thing.
>> [snorts] >> Uh but yeah, this specific case was I think for one of the internet uh controller that was I think that multiple driver has been spotted for what was essentially the same uh internet controller IP. It was like from Cadence or something.
So, there's an interesting argument. We obviously want to want less code duplication but also in some case these codes get customized in a way that makes it makes it create problem for for common code, right?
Uh so, yeah, just a heads-up something that is going to come up in the next architecture working group.
Right.
Okay, new APIs?
Not really same API kind of same APIs. So, this this is another problem that has been uh uh >> we may Whatever Whatever Whatever you're about to say, I think we may have briefly mentioned in the past. This is the device API extends thingy.
>> So, so it's it's a way of handling devices that implement multiple API.
And uh yeah, it's been a problem for a for a while. I think the main culprit here was I3C because I3C controller extend I squared C.
So, you really want to be able to use the same device with both APIs. Um so, yeah, clever way of handling this.
Uh there's now a way of using a macro because it's Zephyr, we love macro.
So, there's going to be a macro that allows you to try and check if a device implements a certain API and it's going to return true for multiple APIs. And then you can call the device API get and it's going to get the one that you look for. And then in it has a fancy way It's a fancy implementation internally.
Um which the yeah, it's just it's just concatenate the multiple APIs one after another. So, really cool this is now possible to do in a pretty clean way, I want to say.
Um yeah, one one one one more long-running problem with our solution.
It may not be the perfect one, but it's in, so that's good.
>> Yeah, agreed. Yeah, cool stuff. Um This one I had completely missed, uh but I'm not surprised it made it or or it was in the works. The uh very recently added um shell command curl-like HTTP shell command to do like get, post, put, whatever.
Um there was an initial implementation that was already like doing the job, but now it has it takes a lot more um options and and parameters. Like if you want to do I don't know, like a get request and send custom HTTP headers or configure like you're you're going to connect over TLS, but you want to ignore any failures like certification certificate verification-wise, things like that. So, quite a few you want to post HTTP data and provide the actual data on the command line. Like really really nice, really nice help uh commands like I mean You could conveniently I wouldn't say you could you could stop using curl, but like if you're already on your Zephyr machine or Zephyr device and has the shell enabled, you might actually be able to do quite a lot now. The stuff is great both for for testing and as a reference implementation, right? Cuz you're going to try it and then when it works, it's like, "Yeah, this is my code. I know it works." I'm surprised we don't have curl port in.
Yeah, I've no idea how complex of a code base that is or how modular that is cuz we probably wouldn't want the whole thing, but yeah, that that would be um that's an interesting thought and there might be also be like other like similar CLI tools out there that would make sense maybe to sort of port um Yeah, but you know, really really good point regarding This is really a good way to exercise the APIs.
If you're able to do whatever through the shell, then it means that there's some HTTP APIs that are there for you to do the job. I was thinking just the same earlier this week.
I'm probably going to send a pull request for shell commands and shell modules for both fuel gauge and battery charger for which for whatever reason we don't have shell uh But yeah, that those are like really capable subsystems. They allow you to like really finely interact with your battery and whatever.
Um whatever information you get through the shell, you can you can be confident that you can you can get the same from the API cuz of course that's I mean that's how it works.
This could be a a good use case for a multi-DUT test. You can do you can do a board with the HTTP server and another board with the HTTP client. Yeah. Anyways.
>> That's yeah. That's [laughter] true.
Exactly. Yeah.
All right.
on the hardware Then I guess we start moving on to hardware stuff and drivers.
What do we have? Oh, let's go. This we we we're back on the audio stuff. I think I got a comment last week that people are looking forward to the audio and we thought that it would be we were talking about the audio quality of the podcast. Outstanding. Anyway, this is the TI TAS2563.
It's a smart amplifier. Again, you can tell that it was released in 2019 because otherwise it would be an AI amplifier.
Anyway, uh 11.5 V 12-step look-ahead class H boost. I have no idea what that means.
What what is this thing?
>> [laughter] >> Who wrote this Who wrote this data sheet?
It's a I2S speaker amplifier with a microphone input. Yeah, that's it. Yeah.
Cool, though.
>> Yeah, nice. Yeah, now the the more the mirror the merrier in in that area. Uh someone was actually pinging me earlier this week uh also about audio.
Um I think I mean I feel like there's um uh some activity uh like in a good way these days around all things audio. So, uh and kind of like a note to folks interested in this topic, there's a few areas I mean most of the audio um subsystem related areas in Zephyr don't necessarily have like active dedicated maintainers these days. Yet, I definitely see lots of people interested in contributing and people helping out with reviews, etc. So, folks, feel free to just like step up.
Like if you feel like you want to help shape where this is going and help like make your already existing activities even more sort of like tangible. I feel free to yeah, add yourself as collaborators, maintainers.
Yeah.
Yeah, I would love to see maintainers for individual drivers, but we don't allow it right now. That's too bad.
Would you not want to maintain a smart amplifier? Or would you not want to maintain a four-channel capacitance to digital converter for capacitive sensing application? Like the FTC 104.
What is a driver now? 104. So, this is what for like touch like capacitive touch sensors and all these I So, I thought so and and but it's not under input. So, I was like, "What the hell is this?" This this this this is this really cool. So, few things that the few application that the data sheet mentions, proximity sensor Fair.
Automotive door or kick sensor. Like do you need a sensor to see if you Do I Do you kick your door? I don't know.
Anyway. Mhm. Automotive rain sensor.
Like is it raining? Sure.
Liquid level sensor.
Fair.
Rain, fog, ice, snow sensor.
Okay. I I I I want to >> there's many physical things that can get that could be turned into a capacitance variation.
Okay.
Yeah, so yeah, the the I don't know, interesting part of of would I would love to see what they're doing. I would also want to see how they're going to use it because the the the header file with the channel is not in include. So, we have to include the driver. I I dropped a comment on the pull request.
The other funny thing is that according to GitHub FDC 1004 is a valid short git commit sha.
Oh, wow. So that that shows up as a So do you mean we have that's a commit we have in the tree? No, it's not a valid one, but it GitHub tries anyway. I was I was like what what >> I'm sure that it is a short uh this is probably the prefix of the commit somewhere. Um I mean we will eventually, right? Yes.
Yes.
Okay, uh one uh new FPGA driver, but I don't think we have that many, so it's always nice to see. From from Renesas.
Uh-huh. This is cool. It's not It's not one of the the usual one. I thought FPGA were only Xilinx uh Altera and uh Lattice, I think. Uh yeah, Renesas SLG something something FPGA.
Uh just a reminder, we have an FPGA subsystem. It's It has two functions. It's like load load firmware and reset. So it's a firmware loader, really. Uh but yeah, now you have it. Now you can load your firmware on a Renesas SLG FPGA. Not much to add about it.
Yeah, and so I'm I'm not an FPGA person myself, but I'm not even sure what holes there could be in the subsystem. Uh it I mean you want to load the bitstream and then it's the FPGA that does the work. I mean once once it runs it's a device, right? So you would interact with it with something else. Like SPI, I2C, something like that. But it's really cool to have a generic uh subsystem for loading the firmware because I don't know what you're going to do with it, but you're definitely going to have to load a firmware on it for it to do anything.
Yep. Yeah, yep.
Um and actually before we move on to uh maybe some uh maybe not all of but some of the boards and and so on that got merged this week.
Um speaking of drivers uh and anything really, um, where people, uh, need information with regards to how what's the best way to do this and that and so forth. One thing that I'm really excited about uh, that's now live. I think we've mentioned it in the past maybe a couple times. Uh, we have a chatbot, uh, available in the Zephyr documentation. Uh, uh, >> [snorts] >> I didn't say AI. Just said it's an AI-powered uh, search engine.
Yes. Um, so I think I mean, from what I've seen over the past week, uh, it's been uh, uh, like many people are interacting with it, uh, to ask questions. So, you may have seen it if you if not, pay more attention to the Zephyr uh, documentation website in the bottom uh, right corner. There is this like thingy chat thingy. Uh, engage with it if you want. Uh, I mean, I would understand if some people don't want to like deal with with AI in the context of their day-to-day life, but it really helps uh, bring concise answers to things and to questions that often times would be um, I mean, either beginner questions or more advanced, but like what's the best way to organize my Zephyr workspace? Like or what are uh, what are um, the the things I should do to add unit tests for my blah? Uh, what is um, or or even things like I I I I've seen um, some use cases and I'm starting to use it more and more myself.
I've been spending a lot of time working on good search engines for things like the board features, etc. Give me a board that has a a camera and XYZ.
If you ask through the chatbot, like you get like really really good answers.
Like, I want a Renesas board with um, external flash and la la and it would tell you, "Okay, you have like those three or whatever." Plus, uh, by the way, there is a PR XYZ that might add another one cuz the thing um the thing uh they, whatever that chatbot is, uh it has access to several sources. One of them is the documentation, uh but it also uh indexes uh recent issues, pull requests, either open or merged. So, that gives actually a really good sense of what's going on in the community. If you're asking something like I don't know, like off the top of my head like uh how do I do ESP32 P4 blah blah blah in Zephyr?
It will actually tell you uh you can't, not today, but there is this PR that's discussing the upcoming support for this new SOC.
Uh so, I think it I mean it really uh it is really helpful. And something else that I sort of keep forgetting uh or like or didn't necessarily realize initially, but you can talk to the thing in your native language. So, that end of it also makes like a really big difference. Uh you can ask Come on, let's organize my repository uh Zephyr.
>> wait, wait. Forget.
baguette um This works really, really well. I'm trying to sort of like uh like regularly I would try to challenge the the the chatbot myself like and make sure that uh asking tricky questions as well. Just like I did before like that question I I mentioned uh A, how do I run Hello World on ESP32 P4?
Asking very naively uh expecting an answer which is like, "Okay, do it and compile for blah blah blah." No, it it actually it's aware that the board doesn't exist just yet. So, it would tell you Did you have to do anything for it to work in any language? You know like >> No, no, it's it's it is a feature and I think I should make it like really prominent so that people are aware. Um maybe there might be a way maybe when when when the pop-up comes up maybe to make it give a prompt. Like right now I'm looking at it right now. You open the chatbot and it says, "Ask me a question about the Zephyr project documentation."
Maybe that prompt I could try and make it so that it shows up in people's local and then they kind [laughter] of get to point that they can engage in their language. I don't know.
I think for me that like that's one That's actually killer feature if if you ask me.
I wish we would have like actual internationalization in the docs somehow like human created but frankly AI does a really good job at at translating so.
Yeah, so so remind me again so what is it trained on you said the the documentation the the code base the source issues >> Uh, yeah the code base which is kind of like a double-edged sword. I'm I still have sort of mixed feelings uh, cuz to some extent the answer is always in the code and so you really want to make it easy for people to not read the freaking manual but instead have a I don't you know what I mean like cuz if something is missing in the documentation I'd rather know it rather than having tools that help people kind of work around the fact that the documentation is missing. I think you should you should only train on the code and then we can delete all the documentation. That's an option as well uh, but maybe >> [clears throat] >> yeah that's one to to answer your question yeah that's the code GitHub issues pull requests the GitHub wiki as well which has some interesting information with regards to like How about the house? Does he does he know the house code? It does not. It it doesn't know about any repo but the slash Zephyr. Uh, that's a good question. Maybe it should know about the example application, things like that.
>> So, I tried to ask a question about the merge list, the criteria, and I thought, "Oh, maybe it's going to infer the actual condition from the code, but it doesn't >> and then I'm I'm assuming it it told you pretty clearly that it didn't know, that it wasn't part of the Not really, because it knew about the documentation page that says the merge criteria, so it inferred something from that, but yeah.
I was I was trying to make it I asked it the question that I got asked a million times, why my pull requests that don't show up on the merge list, which I get again >> [laughter] >> despite all my So, so I kind of like to your point, um the so the the the chatbot has a really sort of limited knowledge of where to get the information.
Just like to some extent any people coming into Zephyr, like sort of by definition, like they don't know about where all the information lives. And so, if and especially like this is I guess a kind of a call to action to people listening who are more active in the community, if you end up interacting with the chatbot and you realize that it's lacking in some sense, like most of the times it will actually flag the answer as being incomplete cuz it knows that it doesn't know.
Um but if even like in any case, if the answer is um is lacking, then it means that we have a gap in the documentation. Maybe like whatever question you were asking Fabio, maybe whatever blurb we have uh in the docs regarding merge criteria, maybe it's missing a few sentences about the fact that we have a merge dashboard and the fact that it has some known issues and things like that.
Right. A chatbot that tells you, "I don't know." Blows my mind.
Yes. No, I think they uh so that yeah, the company behind it, I think they worked really hard cuz that's exactly the thing the thing you don't want. Like uh in technical documentation, you don't want something that's like uh hallucinating all the time and pretending that it knows um everything.
>> That's right. Yeah.
Right.
>> So yeah, it may So but it's not perfect.
I mean, there's uh situations and some people are reporting issue reported issues where the answers were not ideal.
There's way to like in the in the UI, uh please folks, make sure that if something is doesn't feel right, like you can thumbs down, you can provide any context comment, and we will like basically be able to like aggregate the data over time and uh figure out >> an It's an experiment. why. And usually it's it's documentation that's missing somewhere. It's an experiment, right?
We'll we'll see how it goes. Yep. But yeah, I'm I've been pretty pleased, and it's like literally hundreds of questions being asked every day, which is really nice to see.
Did Did you know Did anybody ask what boards have been introduced since last week?
What What was it again?
Did anybody ask what the new boards and shields have been introduced in the last 7 days?
Uh I don't think, uh but that's um that's a good answer there.
It It can probably It has a real given it's indexing the the pull request, etc., it has a reasonably good sense of um timelines and like actual notion of time. If you ask, "What's new over the last um 2 weeks?" I think That's right. In the past, I think it gives kind of like a reasonably good answer. Uh and I guess you could ask, "What what uh new shields uh were added?" It might tell you about the um M5Stack Unit Gesture. I think this one was an an old PR of mine. There's probably not much to say. Uh I just like realized I had a draft PR.
This is one of those >> You forgot about it? Yeah, yeah. I probably was working on a demo. This is a like most of the times a a shield in Zephyr is like just for your >> Yeah, this one is mostly the Wi-Fi. Yes.
Uh this one is a the noteworthy uh thing, I guess, about this one is that it's a it has a cool factor to it. It recognizes gestures, so you can like you hover your finger uh uh like a few centimeters away from the sensor and it it detects left, right, circle, uh swipe, sort of thing. Um I think you probably bought a driver uh picture or something. Um >> Oh, no, someone No, someone else was. I mean, it is a cool sensor.
It is a cool sensor It's cute and tiny.
>> available. It's ready available as a shield now.
Nice.
Then we have the Arduino Nesso N1.
I think we we talked about this before.
Yeah, I think this this came late uh in the fall of last year or something like that. Uh the Yeah, an Arduino device that's Yes.
Yes, it's 32 C6, uh which is maybe a first. Um it's not usual uh in the Arduino product line to have a expressive thing. They have I think they had a few as a companion chip for the Wi-Fi. They're quite a few of those.
>> Oh, yeah, right. Yeah, yes.
>> As a primary chip, I think it might be one of the first, but it has a lot in it. It has like um an IMU, uh a lower transceiver, display, uh LiPo battery, and LiPo battery charger, and fuel gauge, external antenna. It's really cool. Did you have one?
Yeah, uh no.
Uh I should Yeah, try and get one somehow. You know what? It is really packed with uh with features and sensors and I think even to the point where uh it's not that often that a board from like a major vendor, I guess, such as Arduino, uh I think it was um it it it is shipping with a sensor for which we didn't have a driver in the tree. I don't remember exactly which, but there either like a an IMU or something uh that I think Carlo has a PR lined up for for it. So, you know, it's a it's a cool one.
Yeah, that's nice. And then it's a it's it's one of those boards that's is a bit of a product, right? It has a shell.
Yeah. But there are a display connector.
The opposite of that is the Tomu. This is This has nothing in it. It's like a board that goes in the USB port with an EFM32.
Also known as Happy Gecko.
Gecko names. Um Yeah, there's nothing to >> is like tiny enough that you can actually like almost hide it into a connector.
It goes entirely in the connector. I'm I'm not sure >> inside a USB 3.0 port. That's [clears throat] what it says. Oh, wow.
I'm not really sure who's behind it. I It's It's It's It's okay. I I have I have a board like that. So, there was a family of these boards actually. Some I I have one. Somebody gave me one at a conference. And it was an FPGA one and now this EFM32 one. I think it's meant to be like just a small board. You can hack it.
There's not a lot, but there are like four pads on the outside. So, you realistically you could solder a wire.
Yeah, it's and small and yet not so small. I mean, you have 64 kilobytes of flash and 8 kilobyte of RAM. It's It's okay in that form factor. It's It's not bad.
Yeah, neat neat board.
And then what else got in?
You got a shout for this one. I think you did you did this one as well, right?
So, the Xiao ESP32C5.
Yeah, I think C5 support Espressif added support in the 4.4 release.
And this one almost made it into the release. Was just a tiny bit late.
Yeah, this is one of those Xiao form factor board So, larger than the Tomu we just spoke about but still pretty tiny. Especially when you solder the pad the pins.
>> [laughter] >> I yeah I messed up the board.
I want to I want to play with one of these cuz I've been playing with Wi-Fi a bit just checking out the new the new stuff that you can do. One of those I was uh I tried to enable one of the more advanced encryption thing on my network the GCMP 256 and one of the device I had the lower gateway disappeared. I'm like what is wrong with this one? So I have a I have a device that is based on a one of those ESP 8266.
Arch? Yeah those are old.
They got confused. Yeah when people think expressive like they don't think about those anymore right? I should I should I should retire this thing. Yeah anyway I'm I'm curious to get a I don't have any any embedded device that do that does 5 GHz but I want to try just check compatibility.
Anyway Yep.
There this one you sent you sent me maybe a few a few weeks back already.
>> Yeah you need to get one.
I yes so Flysky something something the FS I6S.
This is basically a an RC like controller for drones and like it's like what what is in that? It's an STM32F0.
Yeah. Like this this has to be the first board we have in in the Zephyr 3. Like when you look at the picture this is also a product but a product in that like it really it's just a a remote controller right?
So it's it's a remote >> Yeah you go you you go out and buy it.
It is very cool. Yeah proper big remote control looks like there's quite a few variation of these on their website. I was looking to this sometime ago.
There's some open source firmware that have been ported on a lot of these STM32 based remote. This is one of those. I I wouldn't be surprised if we see more and more of this kind of complete device based on this architecture.
So, we have Yeah, support for Zephyr. It has the the gimbals, the the stick for controlling the drone using the input subsystem, all of the buttons and the display. That's about it. I think the way you're supposed to use it is by plugging a module for the radio. This is something that we mentioned last week. One of those is like the ERLS, I think it's called.
So, yeah, I think you can plug a module for different type of radio on the transmit side. The driver we have is for the receive side. Like this is like supporting everything. Cool cool device.
It's nice that you can buy a product and flash your own firmware.
Not sure where this is going. We'll see.
Yeah, and and this is like for obvious reasons because this is a feature of the product. It has tons of switches and buttons, etc. I guess one thing worth mentioning for folks who care about or want to look at the the device tree for this board is that some of the switches and buttons are hooked up to ADCs and they use the ADC keys compatible and driver in Zephyr where basically you have um Yeah, like based on the reading you have on the ADC and you have like different ranges. You can have like several buttons.
I probably wouldn't know the proper English words to describe like what is the the actual electronic circuit used for this, but you know what I mean, Fabio, right? Like they have >> divider Yeah, right. And so, you can have like quite a few buttons basically on the same ADC and in device view you just model the different thresholds for the different ranges of the of voltages and that that's really nice.
And so, yeah, I don't know in total there's probably 40 inputs and buttons on this thing. It's pretty impressive.
Yeah, yeah, and [snorts] and I think this is one of the simple one. If you go on the website, people go mad for these things. Some really complicated one. What are they What are they doing? Are an RC spaceship?
Right. And so, maybe you briefly mentioned it, but so, what would be the story for folks who actually want to do radio stuff with those in Zephyr? Like what it Uh I'm not I'm not entirely sure. So, I look I see on the product that there's a radio on board, but I'm not familiar with it. I think it's one of those SPI-based one.
Uh or others I've seen I'm not sure about this one, but others I've seen have a module that you talk to via UART.
Okay. So, I guess there's there might be opportunity for new drivers in Zephyr for those whatever they are.
>> yeah, I would say. So, like the the drone community seems to be still well alive. Uh like there's there's a whole branch of that that has been commercialized to death, but people still do like those acrobatic drones from what I see and the long-range one that you can't buy because they're probably very legal.
So, there there there's still interest in in this stuff.
Um yeah, looking forward to that.
Okay. Um this sounds Italian, but it's very much not.
The So, we have the support for new SOC the Alif Balletto B1.
Okay. The Cortex-M55 ton of flash and RAM 64 meg of octospi 128 Sorry. 64 meg of of RAM and written 28 meg of flash. This is a beast.
High-speed USB and Bluetooth from Alif Semiconductor. I think they joined the project recently.
Cool board.
That's it.
Yeah, yeah, yeah, I guess disclaimer. I didn't look into it a lot, but just looking at it right now as we are recording, it looks like many of the peripherals might not have been enabled just yet. Uh It's probably new. The SOC is new. Yeah, yeah, yeah. Like you know, so it has like sensors, etc. and like I squared C sensors, but even I squared C doesn't seem to have a driver yet.
But yeah, it's it's really nice to see Alif ramping up support for their SOCs for sure. Yeah, it it seems like they're they're doing some some interesting stuff. Like it's obviously a general purpose CPU like I wouldn't be able to tell you if there's a specific usage they have in mind, but it's it's beefy.
Okay, and we're closing with another one of yours.
Uh yeah, I've been having a lot of fun with the the reterminal series from from Seed Studio.
Yeah, for anyone who cares about e-in displays and if you're not sick of us talking about e-in displays every other this is yet another ESP32 based board.
Support for the display will be coming up. It has a like a really shiny Fancy.
Yeah, 16 16 levels of grayscale pretty pretty high resolution displays. It makes for like a really nice photo frame I guess and you can have a Zephyr powered photo frame.
So on the pull request it it looked suspiciously shiny like I I I I wow. Oh, it is very shiny indeed. I'm showing it to Fabio on on camera right now. It is like a photo frame with the glass thing on it, right?
That It it very much feels like [snorts] a black and white picture with proper frame and glass in front of it. I don't love the glass, but if that is your thing I if you're doing black and white picture this this would be Yeah, and even if you don't it's again one of those product like uh boards that we have in Zephyr where you can really learn a ton about like assembling a complete complete product. I probably mentioned it not so long ago, but uh this thing has a battery. Hence, it also has a uh a battery charger on it. How do you configure it? How do you uh control the uh the charge current? Blah blah blah. How do you configure all that in the device tree when you assemble um the product? This is one of the boards you can use as a as a reference. So, um if nothing else, uh yeah, there's that. Yeah, it's it's not cheap. I just saw the price, $160.
Yeah, well, it is for the device. really cool uh technology.
Uh yeah, that's it. We probably had a a lot, maybe too much uh hardware news this week, uh but it is what it is. Uh the community um is bringing up uh lots of uh hardware these days. Uh speaking of community, uh just fresh off the press, the um Open Source Summit Europe, or what many people maybe know more as Zephyr Developer Summit, uh which is also uh happening at the same time. Uh this is coming up October uh 7th, 8th, and 9th um of this year in Prague, uh Europe uh in in uh the Czech Republic. Um their CFP, the call for papers, is now open uh and will be for the next um few weeks.
Don't wait to enter and to submit your talks. Um feel free to ping me, maybe ping Fabio as well, or whoever in the community if you if you need uh sort of like thoughts, advice on uh an idea that you have. Maybe you're looking for a a co-speaker. If you want to talk about yeah, whatever whatever topic, uh don't be shy. Uh I know many people uh uh may be using this as maybe their first opportunity to to speak at the conference. So, uh yeah, don't be shy and reach out to your to your peers.
Fabio, are you planning on making it proposing sessions? I'm definitely going to try and be there.
Yeah, not sure if I'm going to give a talk, but I'll think about it and I'd love to.
Yeah, yeah, I mean I guess it's almost like half a year away or like five months away technically.
So, you have plenty of time to to to plan it, but CFP is right now Prague is a nice city as well.
So, yeah, that's a bit for the news this week. We have more and more of you folks subscribing and listening every week providing feedback. Please keep that going. Tell your friends, tell us when we say things that you don't like, things we you like. We are always we are always happy to hear about feedback. Keep sending us your tips and news new news items that we should be covering that that helps. Make sure that we talk about things that resonate with you.
With that, we will be back next week.
Bye. Bye.
Related Videos
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 views•2026-05-28
How agent o11y differs from traditional o11y — Phil Hetzel, Braintrust
aiDotEngineer
450 views•2026-05-28
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanation💯✅
LearnwithSahera
1K views•2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 views•2026-05-29
Search Algorithms Explained in 60 Seconds! 🤖💨
samarthtuliofficial
218 views•2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 views•2026-05-30
Introduction to Problem Solving Part - 1 | Lecture 1 | Intermediate DSA
ascensionix
107 views•2026-05-29
So What's Odin Lang Even Good For
TechOverTea
131 views•2026-06-01











