Submind YouTube summaries
Thumbnail for CircuitPython Weekly Meeting for September 8, 2026 @circuitpython #circuitpython #adafruit

CircuitPython Weekly Meeting for September 8, 2026 @circuitpython #circuitpython #adafruit

Watch on YouTube

Video summary

CircuitPython Weekly Meeting for September 8, 2026, marked the release of version 10.3.0, a new stable update that introduces significant enhancements including a Pico game engine module, advanced audio features like I2S duplex settings and biquad filters, and SDIO storage support for RP2 devices. The release also resolved critical issues such as restoring functionality to ESP boards and fixing various build failures. In the realm of projects, the community highlighted a new ROS2 library for MicroPython developed by Kevin McAleer, which allows boards like the Pico 2W and ESP32 to interact with real-time topics without requiring C toolchains or firmware reflashing. Additionally, innovative applications were showcased, including a custom Prusa Print Companion app built with MicroPython on a Tufty 2040 for monitoring 3D prints remotely, and a creative MP3 player project housed inside a cassette tape. The meeting provided a detailed quantitative overview of the project's health, noting that the core team merged 34 pull requests in the previous week, bringing the total supported boards under Blinka to 174. The library ecosystem continues to grow with nearly 600 Python-level libraries available, split between Adafruit and community bundles. A significant portion of the discussion was dedicated to guiding new contributors on how to get involved, emphasizing that reviewing pull requests is an excellent entry point for those without specific hardware. The team encouraged participants to test code changes on their own setups, report findings via GitHub comments, and eventually join the review team or submit their own patches to address open issues ranging from bug fixes to feature requests. In the status updates and hug reports segments, community members recognized key contributors like Smitha for improving GitHub CI builds, Dan H for resolving BLE workflow bugs, and Mikey Sklar for integrating new chips such as the AT32F435 and ESP32-S31 into CircuitPython. Individual updates covered a range of activities, from documenting time-of-flight sensors and preparing a Halloween-themed candy dispenser to advancing a game jam project with real graphics and tutorial levels. The team also addressed long-standing hardware issues, including a seven-year-old STM32 booting problem related to crystal capacitor sizing, which has finally been stabilized through both software and future hardware adjustments. The final segment of the meeting, titled "In the Weeds," facilitated discussions on emerging topics like Rust support within CircuitPython. Developers debated the potential benefits of writing modules or board ports in Rust alongside existing C code, acknowledging that while dynamic loading is not currently supported, compiling Rust into the firmware image is a viable area for exploration if it does not overly complicate the build process. Another important topic addressed was the issue of multiple third-party manufacturers using Adafruit's USB vendor ID, which has been identified as an internal matter being resolved to ensure proper identification for boards that CircuitPython has not yet officially supported. The meeting concluded with reminders about upcoming schedules and invitations for attendees to support the project through purchases or newsletter subscriptions.
Read the full video transcript
Hello everyone. This is Circuit Python weekly meeting for Tuesday, September 8th, 2026. It's time of the week where we get together to talk about all things Circuit Python. I'm Liz. I'm sponsored by Adafruit to work on Circuit Python. Circuit Python is a version of Python designed to run on tiny computers called microcontrollers. Circuit Python development is primarily sponsored by Adafruit. So, if you want to support Adafruit and Circuit Python, consider purchasing hardware from adafruit.com. Meeting is hosted on the Adafruit Discord server. You can join anytime by going to adafruit.it/discord. We hold the meeting in the Circuit Python dev text channel and the Circuit Python voice channel. This meeting typically happens on Mondays at 2:00 p.m. US Eastern, 11:00 a.m. Pacific, except when it coincides with a US holiday, like this week. In the notes doc, there's a link to a calendar you can view online or add to your favorite calendar app. We also send notifications about upcoming meetings via Discord. If you would like to receive these notifications, ask us to add you to the Circuit Python Nices Discord role. There's a shared notes document that accompanies the meeting and recording. You can contribute to this document beforehand. File notes document includes timestamps to go along with the video so you can use the doc to skip around and view the parts of the video that interest you most. Meeting tends to run 30 to 60 minutes. After each meeting, we post a link for next meeting's notes document in Circuit Python dev channel on the Adafruit Discord. Check the pin messages to find the latest notes doc so you can add notes for the following meeting. If you wish to participate but cannot attend, you can leave hug reports and status updates in the document for us to read during the meeting. Meeting is held in five parts. First part is community news. Second part is state of Circuit Python libraries and Blinka. Third part is hug reports. Fourth part is status updates. And fifth part is in the weeds. And that covers how the meeting will go. And with that, we will get started with community news. Uh Circuit Python 10.3.0 was released. Circuit Python 10.3.0 is a minor revision of Circuit Python and it's a new stable release. And there are links to Adafruit blog and GitHub. And notable additions, gaming and display Pico game engine module, which a lot of folks have been talking about on here, has been added. In audio, a ton of new features, I2S in audio file writer. Synthio biquad filters, duplex I2S in settings.toml, a lot of new options. Storage SDIO now available on RP2. And then fixes, ESP now works again. And then there are a bunch of build failures that were fixed as well. And then for projects, a robot operating system ROS2 library for MicroPython. Kevin McAleer is making Snake ROS, a pure Python ROS2 client for MicroPython. Snake ROS lets a MicroPython board, a Pico 2W, a Pico W, and ESP32 publish and subscribe to real ROS2 topics. No C toolchain, no custom firmware, no reflashing to add a message type. And that's linked on GitHub and X. Kevin does really cool projects, so definitely check his work out if you haven't. And then another project, building a custom Prusa print companion app with MicroPython. Use a Tufty 2040 with a Prusa 3D printer API to create Prusa companion to monitor 3D prints while away from the desk. With this app, you can see the print progress, monitor temperatures, and see the state of a print directly from Tufty 2040 that is with you or worn around your neck. And then finally, another really cool project, MP3 player stuffed into a cassette using MicroPython. And that's over on Instructables. And these news items and more are available in our weekly Python for microcontrollers newsletter, which goes out via email on Monday mornings. Visit adafruitdaily.com to subscribe to newsletter. Thanks to Anne for putting newsletter together. If you have any Python on hardware projects to share or find content you'd like to see included, please consider contributing to newsletter. Email CP news@adafruit.com with a link to content. And that is community news. Next up is state of Circuit Python libraries and Blinka. This is a quantitative overview of the entire project. Gives us a chance to look at the health of the project separate from our stats updates. We'll talk about the project overall, then separately discuss the core, libraries, and Blinka. So, overall, there were 36 pull requests merged by 13 authors. And they were lint smitka, 4rh1t3ct0r7, 0r7, uh relic-se, j-berchall-svg, the philipcom 4607, gr-grant, tannewt, mykisglar, d-halbert, brian-barnett, fomyguy, and aatl. There were also three reviewers, fomyguy, tannewt, d-halbert. There are 19 closed issues by five people, and four issues opened by four people. And now we'll hear from Dan about the core, if you're available. >> Okay, yes. So, in the past week we had Can you hear me? >> Yes, yes, you're good. You're good. >> Great. Okay. So, in the past week we had 34 pull requests merged, which is probably some kind of record. Um by 12 authors, uh which by uh lint smitka, one or two by 4rh1t3ct0r7. Maybe next time I won't say that whole thing. Uh the philipcom 4607 is also kind of new. Uh or maybe new, and uh brian-barnett has done a few and did some more. And those were reviewed by three people. Uh there are now 19 open pull requests. This is very fluid as of yesterday, so it could easily have changed. Um there were 14 issues closed by four people, and four open by four people over the past week. We've got 759 remaining open issues. We've got seven active milestones which helps us keep track of the priorities of our issues. So, for issues that we want to fix in in some version of 10.3, uh we've got three open issues, some 50 open issues that we want to fix somewhere in the 10 uh version. And then 14 issues that we've deferred until sort of Python 11. And then there are other categories like long-term and stuff. And there are no issues not assigned a milestone, so everything's been triaged. So, that's it for the core. >> Awesome. Thank you. And now we'll hear from Tim about the libraries. >> All right. Thanks, Liz. Uh this section covers the Circuit Python libraries which are split up on uh GitHub into two different library bundles. We have the Adafruit library bundle which has right now 399 libraries in it. Uh so, coming up on 400 there. And the community library bundle, that one has 183 libraries in it uh for a total right now of 582 Python level libraries that support various pieces of hardware or helper functionality uh on Circuit Python. Um over the past week in the Adafruit bundle, we had two pull requests merged by two different authors. Uh or excuse me, by one uh author, I should say. Uh so, thanks to attle a a t l e. Uh this week is a new or less frequent contributor name that I haven't seen pop up too much here at the very least. Uh thanks to Dan for reviewing this week. Uh the pull requests that were merged were uh both brand new, just 1-day old over in the mpu6050 library. Um pull requests that remain open, we have 40 of them right now across the Adafruit bundle. The oldest one is a draft. Uh and the newest one actually listed at 18 days right now. So, uh I have uh no It looks like we've got all the newer ones merged over the last week or two or three-ish. Issues-wise, we have five closed issues by three people over the last week. No new issues opened up, leaving us with 768 open issues, and there are two of those right now that are labeled as good first issues. You can find those two as well as the rest over at circuitpython.org/contributing, which is a website where you should head if you are interested in contributing to Circuit Python on the Python side of things. When you first load that page, circuitpython.org/contributing, you'll find a list of open PRs and open issues. The thing that we tend to point folks to first if you want to get involved but don't have a specific thing that you know you want to work on is reviewing PRs. So, when you first load that page, you can scroll through the list of PRs. Those are links over to GitHub, and the the the job there essentially is click through to GitHub, and then leave a comment reviewing that proposed change um in the PR. So, you can look over the code for spelling, syntax, logic, anything like that. If you have the hardware for whatever that library is, then you can test it out on hardware as well, and then leave a comment there on GitHub letting us know what you found when you looked over the code. If you were able to run it on hardware, let us know how that went. Include details about like what version of Circuit Python, what hardware, all of that good stuff. If you get comfortable with that process and you would like to get leveled up to join the review team that we have on GitHub so you can get a few additional notifications and other tools to find stuff that needs review. We can work with you to add you that. If you would like to start submitting some of your own code as well, you can also do that from the same page. If you click over to the issues tab, you can find a list of links to GitHub issues. These ones are things identified as perhaps bugs or new feature requests or new functionalities that people want, Uh but they don't have uh a proposed change yet. They're waiting for a person to come along and actually uh uh make the change and submit it. And that could be you if you want to uh get started working on this stuff. So, uh you can click through to GitHub again, read about what the issue is, and then this time you'd be submitting a PR to resolve that issue. Uh we do have a learn guide for contributing Circuit Python using Git and GitHub. And we also have folks who are around here on the Discord uh in the help with Circuit Python channel uh who are more than happy to help you get spun up. So, if you are wanting to contribute, uh reviewing PRs, or you're wanting to submit some uh PRs of your own to start working on issues, uh come say hi in the Discord if you are having any kind of trouble, especially. Uh let us know what kind of issue you're having. We will be happy to help you out. Uh we want everyone to be able to contribute in a way that works best for you. Uh and I will leave you with updated libraries of the week is MPU6050 in the Adafruit bundle. And then not represented in the stats here because it was just merged this morning. Uh over in the community bundle, there's a new library for the PN 7150, which is a a different uh NFC reader. So, anyone interested in NFC can check that out uh this week. And that's what we've got. Thanks. >> Awesome. Thank you. And now I will read about Blinka. Uh Blinka is our compatibility layer for Circuit Python code on single board computers like Raspberry Pi. There were zero pull requests merged this week. Uh but there are currently 16 open pull requests. There were zero issues closed and zero new issues opened. There are currently 80 open issues. And the number of supported boards stands at 174. And that is state of Circuit Python libraries and Blinka. Next up is Hugger Ports. And Hugger Ports is a chance to highlight folks in Circuit Python community and beyond for doing awesome things. I'll start and then we'll go down the list of Hugger Ports alphabetically. If you're text only or missing the meeting, I'll read your notes when I get to them in the list. Uh so, I will kick things off with a group hug. And then we'll hear from Dan. >> All right. Thanks to Smitha for all the improvements he's been making to the GitHub CI. We're running jobs now, especially with all these pull requests that I mentioned. It really helps to speed up the continuous integration builds. Okay. >> Awesome. Thank you. And now we'll hear from FomyGuy. >> All right. Thanks, Liz. I also have a hug report for Smitha. This time for their work on Pico Game, an ever-growing list of improvements and tweaks to both the Pico Game module itself, and especially the web level editor lately based on my usage and feedback that I've been working through with them. So, a huge thanks for the module overall and all of the new updates to the level editor. They've been lots of fun to play with. Thanks. >> Great. Thank you. And now I'll read for Tyeth, who is text only. He has hug reports for myself and Anne for looking at my factory reset sketches and fixes for learn guide repo CI. Scott for patience and the pointer on Pico 2 WBLE PR for Zephyr for his BLE scan success. Dan for all the BLE work recently. Probably have some bugs for you soon. Mikey Sklar for sharing his hardware in the loop test farm and pushing Zephyr. And then a group hug for everyone pushing CircuitPython world further. And now we'll hear from Mikey Sklar. >> All right. I got a few hugs this week, so also another one for Smitha cuz the PR the PRs he's been submitting to speed up the CI have really just been critical and desperately needed. And another one for to Dan H. Thanks for helping me with this old KVM hit issue that I dug up while just kind of researching pain points and made a mess of, but he was very patient through all that. And that's merged. And to Tod Bot who had a really good suggestion for UF2s that he made 3 years ago and we kind of finally got around to giving him a utility that does most of what he wants, not everything, but it gets a little closer to bundling up UF2 images um in a convenient way that anyone can just drop them on a board. And then to Scott, thanks for doing all those reviews last week. I really needed the help getting some of the new chips in. >> Awesome. Thank you. And that's going to do it for Hug Reports. Next up is Staz updates. So, Staz updates is our time to tell folks what we're up to individually. I will start and we'll go through the list of updates alphabetically. When I call on you, take a couple of minutes to talk about what you've been doing since last meeting and what you'll be doing until the next meeting. If the discussion becomes too long for Staz updates, we can move it to In the Weeds. Uh so, last week, I wrapped up the Adafruit Monster Eyes guide and it was published. I'm going to be reworking it to be an Arduino library which will make adding some additional features easier. It kind of started off as just a standalone Arduino project and then morphed into this really big thing. Uh but this week, I'm documenting the TMF8801 and TMF8806 time of flight sensors. I'll I'm also writing up the code page for the Frankenstein candy dispenser that Noe is working on. And the code's written CircuitPython, runs off Feather RP2040 Prop-Maker Feather. Hopefully, that guy will be done end of week and it'll be just in time for Halloween. And now we'll hear from Dan H. >> All right. Um so, I'm fixing bugs post 10.3.0 that the 10.3.0 release symbol have a 10.3.1 pretty soon. Um uh a lot of the bugs I'm working on, there were some regressions, I'm working on some BLE workflow bugs that weren't completely fixed in 10.3.0, and I'm reviewing and merging a ton of pull requests. So, thanks everybody who's submitting those pull requests. >> Great, thank you. And now we'll hear from FoamyGuy. >> All right. Um, last week the guides I was working on for the T-engineering SP1 with Circuit Python as well as the Circuit Python watchdog guide were published. Uh, I have moved on next to working on this Pico Faces project. This is actually outside the Circuit Python world, um, but this runs on the RP2040 and I have been working on porting it to run on the Fruit Jam and adapting it to use HSTX DVI for output. The original one can output, um, over just like raw image data over serial back to a host PC or it can output over VGA. Uh, so I've added the ability to do DVI output like we have uh, in Circuit Python and other Fruit Jam based projects. Um, so that is going pretty well. Um, and then back into the actual Circuit Python world, I have been working, uh, continuing on the game jam, uh, game that I started for Circuit Python Day. This past weekend I added a handful of new tile types and behaviors. Um, I switched over to real graphics instead of just colored box, uh, placeholders. So, that was cool working with actual, um, sprites and stuff. And then I started a tutorial level that has some preset messages at certain, uh, waypoints that will explain to the user how to play and what the controls are and stuff. So, getting much closer to, uh, kind of being able to actually just design levels and have, uh, mostly a finished game, which is where I will probably, um, put it down for this project. Um, and that's what I've been up to. Thanks. >> Great, thank you. And now I'll read for Fede2, who's text only. Uh, continuing the exploration of Rust support in Circuit Python. So far, some basic test modules and a meshtastic client are working okay. And next is Mikey Sklar. >> Yeah, and we got three new chips in the in the flow over in the process of going into Circuit Python. Um, the artery is one of these more obscure ones, the AT32F435, which booted up, I think, for the first time yesterday. Um, it has native USB, so you actually have a Circuit Pi drive on it. And I think this is going to be really similar to our other, um, STM32 variations, like the one feather we have of that type. Um, the next one is the ESP32-S31. This is a really large board, um, very beefy chip that also booted for the first time. That's a Zephyr mix as well. So, the first two are both, uh, Zephyr Circuit Python builds. And then the ESP32C5, this is our first 5 GHz board, so it has 5 GHz Wi-Fi, and it's got one PR out of three merged, so it's actually getting pretty close to getting into Circuit Python. So, maybe the next release, possible. Um, and then, uh, there was one really nasty STM32 bug that's been around for a long time, and it's kind of related to the capacitor sizing on the one of the crystals, kind of it doesn't boot reliably, and it was a 7-year-old bug, and it's, uh, finally been kind of nailed down, and I think in both in future hardware and software, there's some fixes to kind of stabilize it. So, it's nice to see some of these older issues get resolved. And then, um, uh, I did one CI improvement PR last week, and it was just to speed things up, um, much like the work Smitek has been doing, and that was to move Zephyr out of the ports folder, so it wasn't building every time. Um, and so, hopefully that'll be noticeable. And then, uh, there's a uh, an older USB HID protocol bug with the KVM issue that, um, Dan kind of helped me work through last week. So, that's that's been merged as well. So, that was it for last week's work. >> Great. Thank you. And that's going to do it for Stas's updates. Next is in the weeds and there are two are two bullet points there folks want to start reading before I get there. Uh so, in the weeds is an opportunity for long-form discussions that either come out of Stas's updates or that folks have identified ahead of time. If you have any in the weeds topics, please make sure they get added while we're discussing other things. We're not waiting around to see if anyone has topics, but there are two topics today, both from Fede2. Um and the first is is there anything to gain from Rust support in CircuitPython? Any questions the devs would like me to review? What would be a good idea to PR? And uh I'll leave it to core devs to say uh uh comment on any of that. >> So, I think there are kind of two. One question is like would it be helpful if for instance somebody could write do a board port mostly in Rust for some reason or implement some new module in Rust where the thing is built in. And that's one question about Rust support. And then the other is whether you want to have dynamic loading of Rust code. Uh we don't support dynamic loading of C code. MicroPython does or we might support it, but it's like it might work, but it's unsupported kind of thing. So, I'm uh I'll see what Fede2 says about that. I think the idea of can can you use the Rust compiler and write Rust code in conjunction with the C code is kind of interesting thing. Okay, so they say currently Rust code works only as compiled and putting them on MPU I with MPU I cross. So are you talking is that is that what you're talking about is like runtime loading of Rust code or you also talking about putting Rust code in the firmware image? And we're just waiting for typing. So it it it I think that Rust as another language to do either of these things is there's no problem with that as long as it doesn't make the build too complicated. Uh But you say it works what what works works in C right now to load in um C modules. Uh I think somebody got that to work. We don't use it very much at all but it could work also in Rust uh and we don't sort of push we don't recommend that as a solution necessarily uh or we don't have a lot of use cases for that ourselves. But if you'd like to come up with this some examples uh I don't see anything wrong with working on that. Especially if the C code already works then if it's possible to do Rust too that that would be fine. Uh maybe it would be worth like making up an issue or making kind kind of a straw man PR for the use case you have in mind. >> Okay. >> If Scott were here, he might also have something else to say. >> Right. >> Yeah, we ourselves haven't written any Rust code that I know of, so we'd have to learn it and see how it works out. We'd also maybe see how it if anybody's doing that in MicroPython, it would be interesting. So, Fede 2 is is pointed in the um in the notes in in in the in this text transcript to uh some examples. So, I guess I guess this I think for your general question, it's a positive response. It's okay. Maybe even an example where you did it in C and you did it in Rust and like why what's so what's what's the advantage of doing it in Rust? And you're I don't know if there is some advantage you know, there there is some advantage, so that might be another another thing to write up. You could even write it write like a playground note about this or something for now. That might be interesting. >> Cool. Um and then Fede's second in the weeds topic, um especially talking about an issue where multiple board makers are using Adafruit USB vendor ID, um Dan, I know you're working with PT and Ladyada on this internally. Um was there anything else you wanted to >> No. No, we just say right. There's this this this issue is being worked internally. Uh The thing is that MeshTastic and MeshCore and maybe some other mesh something boards uh because nRF52840s which are often used for these purposes um use often use a hour UF2 bootloader they appear as uh Adafruit boards. Uh but they they and end up being that they the Adafruit vid the USB vid was being used on boards that like Circuit Python had never heard of we'd never heard of. And so that and and and the pids that were being chosen for those were uh kind of random. So we're working this issue and that's all that's all I like to say about it right now. >> Very good. Thank you. All right. Uh I think we can move to wrap up then. Uh this has been Circuit Python Weekly for Tuesday, September 8th, 2026. Thank you everyone who participated. If you want to support Adafruit and Circuit Python and those of us that work on Circuit Python consider purchasing from the Adafruit shop at adafruit.com. Video of this meeting will be released on YouTube at youtube.com/adafruit and the podcast will be available on major podcast services. It will also be featured in the micro port uh Wow. It will also be featured in the Python for microcontrollers newsletter. Visit adafruitdaily.com to subscribe. Next meeting will be held next Monday as usual at 2:00 p.m. Eastern 11:00 a.m. Pacific. Uh this meeting is held on the Adafruit Discord where you can join by going to adafruit.it/discord. To be notified about the meeting and any changes to the time or day you can ask to be added to the Circuit Pythonistas All on Discord. And we hope to see you all next week. Thanks, everyone.