Video summary
The August 17, 2026 CircuitPython weekly meeting serves as a comprehensive gathering for the community to discuss developments in Python running on microcontrollers. Hosted by Scott from Adafruit, the session covers various aspects of the ecosystem, starting with community news that highlights recent projects like Open Bricks, an open-source firmware for ESP32 devices offering advanced robotics capabilities. The meeting also announces CircuitPython Day on August 21st, a special event featuring live streams and demos, while sharing updates on Python 3.15 features such as lazy imports and improved error messages. Attendees are encouraged to engage with the community through the Adafruit Discord server, where they can access shared notes, submit status reports, and stay informed about upcoming events.
A significant portion of the discussion focuses on the quantitative health of the CircuitPython project, including its core libraries and the Blinka compatibility layer. The team reported that the core library bundle contains 396 libraries while the community bundle holds 180, totaling 576 distinct Python libraries supporting various hardware. Although activity in the libraries section was quiet with only one pull request merged recently, the project remains stable with a manageable number of open issues and pull requests. The meeting also addressed the state of Blinka, which enables CircuitPython APIs on Linux single-board computers, noting that while no new pull requests were merged last week, the supported board count stands at 174. Contributors are invited to review existing code or submit their own improvements via GitHub, with guidance available through learn guides and Discord support.
The session included "hug reports" where community members recognized each other's contributions, such as optimizing game engines for the Pico, developing audio effects for guitar pedals, and improving board definitions for new hardware like the ESP32 S3 dev kit. Status updates followed, with Scott detailing recent merges for BLE bonding and Zephyr USB HID support, alongside plans to create a board definition for the Adafruit CLUE. Dan provided an update on debugging BLE workflows across different Linux distributions and discussed the progress toward releasing CircuitPython 10.3.0, emphasizing quality improvements over minor feature additions. Foamy Guy shared his work on adding mass storage support to the Teenage Engineering SP-1 device and preparing a proper audio driver for inclusion in the core bundle.
The meeting concluded with a wrap-up that reinforced the importance of community collaboration and encouraged attendees to participate in upcoming events, particularly CircuitPython Day. Scott reminded everyone that the next regular meeting would take place on Monday at 2:00 p.m. Eastern time, with notifications available via Discord for those who wish to be alerted to schedule changes. The team expressed excitement about the live streams planned for Friday, which will include discussions with key developers and a boot loader podcast. As always, the group thanked everyone for joining and invited supporters to purchase hardware from Adafruit to help sustain their work on CircuitPython and related projects.
Read the full video transcript
Hello everyone. This is the Circuit
Python weekly meeting for August 17th,
2026. It's the time of the week where we
get together to talk about all things
Circuit Python. I'm Scott and 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.
This meeting is hosted on the Adafruit
Discord server. You can join anytime by
going to the URL 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. Eastern, 11:00 a.m.
Pacific, except when it coincides with a
US holiday.
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 @circuitpython Nices
Discord role.
There is a shared notes document that
accompanies the meeting and recording.
You can contribute to this document
beforehand. The final 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. The meeting
tends to run 30 to 60 minutes.
After each meeting, we post a link to
the next meeting's notes document to the
Circuit Python dev channel on the
Adafruit Discord. Check the pinned
messages to find the latest notes doc so
you can add your notes to the for the
following meeting. If you wish to
participate but cannot attend, you can
leave your hug reports and status
updates in the doc for us to read during
the meeting.
This meeting is held in five parts. The
first is community news. This is a look
at all things Circuit Python and Python
on hardware in the community. It It's a
chosen set of items from our Python on
microcontrollers newsletter.
The second part is the state of Circuit
Python libraries and Blinka. This is a
quantitative overview of the entire
project. It's a chance to look at the
project by the numbers and separate from
our status updates.
Third part is hug reports. Hug reports
is an opportunity to highlight the good
things folks are doing, taking the time
to recognize the awesome folks in our
community.
Fourth is status updates. It's an
opportunity to report on what you've
been up to. Take a couple of minutes and
talk about what you've been doing in the
last week since the last meeting and
what you'll be up to over the next week.
Lastly, we have the fifth and final
part, which is in the weeds. In the
weeds is an opportunity for more
long-form discussions. These discussions
can come out of status updates or be
something you've identified ahead of
time as too long for status updates.
And that covers how the meeting will go.
With that, I will switch to the notes
doc and start with community news.
So, in community news,
I will talk about the newsletter, but
this are a few select items from our
newsletter, which will cover more in
more detail at the end.
So, first up, we have Open Bricks, which
is a Pybricks-style MicroPython robot
firmware for the ESP32.
Open Bricks is an open-source
MicroPython firmware for the ESP32 S3
that brings a Pybricks-style Python
robotics API to commodity hardware, $15
serial bus servos, a spy IMU,
reflectance arrays. The motor hot path
runs at 1 kHz in native C inside the
firmware. Drive base controller,
trajectory planner, and gyro heading
correction read inside the control tick,
which is plus or minus 0.2° per turn on
our bench robot versus 3 to 5
degrees with encoder only.
Programs cross-compile on the host with
MPY cross and upload over BLE.
And a MuJoCo-based
simulator runs the same firmware API
unchanged for hardware-free development.
The link to openbricks.dev,
Their documentation and GitHub. Sorry
for the hiccups.
All right. Next up,
Circuit Python Day is on Friday, August
21st, 2026. And that's the end of this
week. It's that time of year. Adafruit
has determined that August 21st, 2026 is
the sneakiest day of sneakiest day of
this year and is designated it for
Circuit Python Day. Adafruit will have
special shows and more throughout the
day. Tag your projects with
#CircuitPythonDay2026
on social media and Adafruit will look
to highlight them. Check out the post
for the latest schedule which changes as
more content is added.
Next up,
a Circuit Python based guitar pedal,
Cooper, aka relic SE, who's in the
meeting, has whipped together a demo of
a good handful of audio effects
available in Circuit Python playing live
directly through his prototype DSP
guitar pedal.
All right. In Python news,
uh the best new features of Python 3.15.
Highlights of Python 3.15 include lazy
imports, faster jit compilation, better
error messages, and smarter profiling. A
release candidate is now available.
All right.
Those items come from the newsletter.
The Python on Microcontrollers Weekly
Newsletter is a Circuit Python
community-run newsletter emailed every
Monday. The complete archives are
available at
uh
adafruitdaily.com/categories/circuitpython.
It highlights the latest Python on
hardware related news from around the
web including Circuit Python, Python,
and MicroPython developments. To
contribute your own news or project,
email cpnews@adafruit.com
and we appreciate
all those leads.
Okay.
Next up, we have the state of Circuit
Python Libraries and Blinka. This is a
statistical overview of the health of
the Circuit Python world broadly. Uh
kind of in its three core parts, the
Circuit Python core, the libraries, and
the Blinka layer.
Um so these are stats that we pull every
night, and these are for the last 7
days.
Uh so overall,
uh we had nine pull requests merged from
six different authors, so good number of
authors, three reviewers. We had three
closed issues by two people and five
opened by five people, so we're net up a
few.
Uh within the core,
uh we had eight pull requests merged
from five different authors.
Man, I can't type.
Doing time codes at the same time.
Uh five different authors. Uh highlights
to Mikey Sklar, Relic SE, and Lynn
Smika, who are infrequent contributors
to Circuit Python core. We have 18 pull
requests open. Uh
and
about half of those are have been quite
old, uh but there's a lot of new stuff
as well.
Uh we're comfortably under our goal of
staying under 25, which is a single
page's worth on GitHub.
I- Issues-wise, uh for the core, we had
three closed issues by two people and
three opened by three people, so we're
net even for 762 open issues.
We prioritize those for Adafruit funded
folks in a public way using the
milestone system. Um and
we are currently We have no issues that
are not assigned to milestones, so we're
on top of triage. Uh we have the
long-term bucket. This is stuff that is
not a priority for Adafruit, but if you
find something in that bucket, um or you
bring up an issue and it gets put in
that bucket, um we're happy to support
folks who are working on that stuff. Uh
which means we'll give guidance, and
we'll do reviews even if it's not
something that we're actively working
on.
Um the things that are higher priority
for us is that we have no open issues on
10.2.x,
which is anything that would be critical
on the current stable release. Um 10.3.0
will be the next uh minor stable
release, and there's 16 open issues
there. Uh but I think Dan will give us
an update on the state of that. And then
uh 40 10x issue xx issues as well, all
of which are like ones that would be
nice to do, but are not super high
priority.
So, that's the lay of the core land. Uh
let's see if I'll make guy will do the
libraries for us.
>> Yeah, thanks, Scott. Uh this section
covers all of the Circuit Python
libraries, which are hosted on GitHub
under two different library bundles. The
Adafruit library bundle has uh 396
libraries in it right now, and the
community library bundle has 180
libraries in it. Uh for a total of 576
different Python libraries that support
various pieces of hardware and helper
functionality uh on Circuit Python
devices. Um across the last 7 days, we
had uh
not too much action, just one uh pull
request merged by one author. Thanks to
GR Grant uh for the PR this week, and
thanks to Scott for the review.
Uh the merged pull request was 7 days
old, uh so that was both oldest and
newest. That leaves us right now with 42
pull requests open. Uh the oldest one of
those is a draft that's at 1460. The
newest one is 1 day old. And then uh
issues-wise, uh also quiet last week.
Zero issues closed by zero people, two
new issues opened up by two people, uh
leaving us with 779 open issues, and
there are two of those that are labeled
good first issues. You can find those uh
listed over at
circuitpython.org/contributing,
uh which is the website where you should
head if you're interested in
contributing to Circuit Python on the
Python side of things. Uh when you first
load that page, you'll find a list of
open PRs and open issues. Uh if you want
to get started contributing, this is a
great place to start. Usually, the first
place that we point folks is reviewing.
If you don't already have an idea of
what you want to do, then you can take a
look at that list of open PRs, and you
can go through there, find something
that interests you, that catches your
eye, that you have the hardware for or
some interest in, click through to
GitHub, read about what the PR is, and
then
you can look over the code for spelling,
syntax, logic, anything like that. If
you do have the hardware, you can test
it out, and then leave a comment on
GitHub letting us know how it went. What
did you find when you looked it over? If
you were able to test it out, how did
that go?
Once you get comfortable with that
process, doing reviews by leaving those
comments on GitHub, if you'd like to get
leveled up to join our review team, we
can add you to that, which will get you
some
additional notifications and stuff on
GitHub to make it easier to find stuff
that is in need of review.
If you would like to get started
submitting some of your own code, you
can click over to the issues tab.
You will find a similar looking list of
links to GitHub, but these ones
represent issues. They don't have a
proposed change yet. You could be the
person to make that proposed change if
it sounds like something that you'd like
to work on. So, you could read up on the
issue, and then you'd be submitting your
own PR to resolve that. We do have a
learn guide for contributing Circuit
Python using Git and GitHub,
and we also have folks who are happy to
help you out here on the Discord. So, if
you'd like to get involved, but you're
having trouble with any part of the
process, reviewing or contributing, just
come say hi on the Discord, let us know
what you're up to, and somebody will be
happy to help you out. We want everyone
to be able to contribute in whatever way
works for them,
and I'll leave you with library updates.
PyBadger's the only one listed here, but
I do know there were a handful of
others, so I think these stats might not
work, but I will mention here that the
bundle was not updated for a couple
weeks, I think, around 2 weeks or so. I
was heads down on some other stuff,
forgot to do
releases for the last couple of weeks.
So, if anyone did have a PR merged, or
you were interested in a PR that got
merged in the last week or two, and you
found that that was not in the bundle,
that should be there now as of I think
Friday or Saturday. So, check back on
that if anyone is in that situation.
And that's what we have for libraries.
Thanks.
>> Thanks a lot, Foamy Guy. All right, next
up we have Blinka updates.
Uh so, Blinka is the CircuitPython API
compatibility layer that allows you to
use all those libraries that Foamy Guy
was just talking about, but not on the
CircuitPython core, but rather on Linux
single-board computers and MicroPython.
So, it presents the same CircuitPython
API, but is backed by something else.
So, in Blinka land, no pull requests
merged, 15 open pull requests, zero
issues opened and closed. So, not a lot
happening in Blinka land this last week.
The number of supported boards was 174.
And that's it for Blinka.
Okay, next up. The next section we have
is hug reports. This is done as kind of
a round robin. Um this is a chance for
us to say thank you to folks in our
community for the awesome work that
they're doing. It's great to recognize
people, and it's also great to recognize
the things that we value as a community.
So, I will start, and then I'll go down
through the list of folks in the note
stock.
I will read off anybody who's not
in the active voice channel.
And I should also say that if you are
listening to this after the fact, can't
make the meeting normally, feel free to
put in note stocks notes hug reports or
status updates, which we'll do later in
this doc. Happy to read them off even if
you can't make the meeting. So,
I will start
uh with a hug to Smitka for the Pico
game PR. Excited to get it in mainline
builds for folks to use. This is a an
optimized game engine for CircuitPython.
And next up, I'll read
from Cool Dom, who says, "Hugs to Mikey
Sklar and GRGrant for a record-setting
turnaround of a new board definition for
the ESP32 S3 dev kit C 1.1 and 32 R16 in
CircuitPython and in TinyUF2.
And with that, I'll kick it over to Dan.
>> Okay. Um thanks to relic-security who's
been doing a
audio work and testing of other people's
audio work. Very helpful. Thank you. And
thanks to Scott for uh
yet more Zephyr
additions
uh BLE get support, not just advertising
and stuff, and then uh USB HID.
So, Scott continues to add more and more
features to the Zephyr port.
>> Thank you, Dan. Next up is FomyGuy.
>> All right. I have hug report thanks to
relic-security for sharing the
CircuitPython uh guitar pedal on uh
Discord and YouTube. Definitely check
out the video for that if you haven't.
Very cool stuff. Thanks also to Smeekha
for uh continuing to improve Pico Game
and working towards getting it uh into
the core with the new PR. Also for a few
improvements uh that they made to the
web-based level editor that I was
playing around with this weekend. Um so,
thanks for work on that. That's what
I've got. Thanks.
>> Neat.
Okay, next up I have notes from GR
Grants who says hugs to Mikey Sklar for
record-setting turnaround on a new board
definition.
Uh hugs to T. Moser for help in testing
multiple Adafruit GPS changes and
pointing out a functionality issue with
the library currently being addressed.
And hugs to Dan H. for seemingly being
everywhere at once. Frequently the first
to answer newbie questions.
And now let's go to relic-security.
>> Uh I'm going to thank Mikey Sklar and
FomyGuy for helping me get uh USB audio
stereo support across the finish line.
Uh I kind of set up the foundation for
that, but they're really the ones that
took it uh, to the finish line there
with testing and uh, modifications. Um,
I want to thank uh,
Scott, sorry, uh, Tanute uh, for helping
me out with a lot of great reviews. And
uh, Todd Bot for being a great support
and really awesome part of the
community. And I'm really excited cuz
this week we're going on Friday, I
believe, we're going to have Circuit
Python day and it'll be great to see
everybody live streaming and everything.
So, very exciting.
>> Ah, thank you.
Yes. And speaking of Todd Bot, they're
the last on the list here who has a hug
back to you, Relic SE, for audio and
synth IO click removal work and adding
feedback filters to echo/freeverb.
All right. Next up is status updates.
Um, this is a section that runs
similarly, so we go through the folks in
the list. I will read anybody off who's
not here.
Um, although there are none of those
this week. Um, you can drop your notes
in here and we'll read them off here
even if you can't make the meeting. This
is a chance for you to just say, "Hey,
like this is what I'm working what I did
last week and this is where I'm going
this week." Um, it's great for figuring
out how to collaborate uh, and give tips
and tricks if somebody's working on
something that you've thought about or
worked on in the past. It can be really
good way to collaborate.
So, I will start and then we'll go down
the list of folks. So, uh, for me uh,
like
kind of came up in hug reports,
um, BLE bonding and pairing is merged in
this morning. Um, this allows you to get
secure connections over BLE and and do
more things.
Um, Zephyr USB HID support is merged in.
Um, this allows you in the Zephyr port
to act as a mouse and keyboard.
Uh, which is exciting as well. Uh, top
of my list for today is to make a Zephyr
board definition for the Adafruit CLUE.
It's an nRF52840 based board. It's It's
a built-in display and sensors as well.
So, it's going to be kind of like a good
testing platform. So, that's number one
on my list. Um and then the rest of the
week I want to work to get uh BLE
workflow working within Zephyr and also
tested using the BSim. So, that's that's
my work this week and I'll be
collaborating with Dan on that. Uh and a
note, uh I just bought tickets to go to
SuperCon. So, if folks want to hang out
with me um and some a lot of other
awesome people, um I've been to SuperCon
before. It's been a minute. It's been a
few years since I have, but I'm very
excited to start going to some
conferences again. Um and SuperCon looks
to be the first one of those.
All right. Uh next up, let's hear from
Dan.
>> Okay. So, I was actually on vacation uh
most of last week.
Uh so, things are about the same the
same space they were before, but I'm
trying to finish up uh debugging the BLE
workflow.
Um
there
a lot of head-scratching. It turns out
that the BLE adapter that was in uh
my development machine was
rather flaky, probably because of uh the
Linux driver for it. And I swapped it
out for a much better supported one and
all the a lot of the problems got very
odd problems went away. So, I'm doing
testing with that instead. Um one issue
is that on some versions of Linux, there
is no
what's so-called BLE pairing edge agent.
And that's the thing that comes up and
says, "Do you want to pair with such and
such device?"
So, when you first start trying to use a
BLE board, you have to pair and bond
with it. And
it is not necessarily the case that
gnome lets you do that. It looks like
maybe some other distributions do and
we're going to test that thoroughly and
document it as needed.
It works best on macOS if you want to
try it.
Um
and after once I I'm testing right now
on Nordic, which is a very reliable uh
BLE implementation, and I'll test it
next on Espressive. There may be some
like vital things missing from
Espressive, which make it impossible,
but we'll see.
Um the other thing I want to talk about
is that we'd like to get 10.3.0,
CircuitPython 10.3.0, out. There are
like around 15 issues or so left in
10.3.0.
Um most of those could be deferred.
They're not showstoppers.
They're not regressions. So, uh we may
put them
we'll we may push them forward so we can
get a new stable release out.
Um
my emphasis on this release has been a
lot of sort of
quality and stability improvements in
various ways, and I think we succeeded
at that. And the other things left to do
are kind of point fixes.
So, that's uh hopefully you'll see a
10.3.0 final in the not
in the in the in the near future.
And that's it.
>> Sounds great, Dan.
That's That sounds like a good uh goal
for CircuitPython Day on Friday.
So, 10.3 out.
Um all right, last up, let's go to Foamy
Guy.
>> All right, thank you. Um I have been
mostly heads down working on
CircuitPython support for the Teenage
Engineering SP-1. Um that has been going
pretty well. I have uh audio proof of
concept with four-track playback uh
using the little fader uh l- uh slider
bars on this device to um move up and
down the the the level of each of the
tracks, which is kind of the
out of box functionality of this device.
It has a 4 GB eMMC chip on it, which
originally uses like a custom loader and
a custom format. And towards the latter
part of last week, what I was working on
was
getting that formatted as fat instead
with a file system and having it mount
as mass storage
when you plug this device into your
computer so that you can actually just
copy-paste regular old standard wave
files onto it. And you don't need the
special loader and you don't need the
special format anymore. And that's
working out pretty well,
which is really cool. I think that's
a big improvement in kind of like how
you can use this device, honestly. This
week I am going to be doing lots of
cleanup in the core
to get things shaped up there to submit
a PR with support for this.
I need to also make a proper audio
driver. What I have right now is just
kind of a quick and dirty bit banged one
one file script thing that's
not not a proper driver, so to speak.
So, I need to get that cookie-cuttered
and then get a proper driver set up and
get that added to the bundle. And then I
would also like to get a start on the
learn guide this week. And I'm hoping to
kind of wrap the guide up next week with
the video and the last couple of things
to finish it off.
Over
the weekend, the other thing that I did
look into a little bit was getting back
into the Pico game world.
I took a look at the latest commits, got
my branch updated and the builds going
so that I could update my fruit jam. And
I looked at all of the demos and example
code and was brainstorming some for what
game that I want to make for the game
jam stream that I will do on Circuit
Python day. And I am
starting to narrow in on an idea for
that. If folks are interested, you can
watch my stream VOD from this past
weekend.
Um
but I will not spoil it here. You you
also check out the stream on uh Friday
if you're interested in Pico game and uh
game stuff.
Um so that is what I'm up to. Thanks.
>> Thank you so much, Foamy Guy. All right.
Uh that's it for status updates. Uh next
session is in the weeds, but we don't
have any topics this week.
Uh so we'll go straight to the wrap-up.
Uh or I should say just for those of you
who missed it, in the weeds is a chance
for any longer form discussions if folks
have questions about how things should
be done or why things are done a
particular way, that's great thing for
in the weeds.
Um but now let's wrap it up.
So this has been
the Circuit Python weekly meeting for
August 17th, 2026. Thank you all for
joining.
Um 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.
The video of this meeting will be
released on YouTube at
youtube.com/adafruit and the podcast is
available where podcasts are available.
It will also be listed in the Python for
microcontrollers newsletter. You can
visit adafruitdaily.com to subscribe to
that.
I will double-check that we are
on normal
Discord meeting next week. So next week
will be the usual time next Monday at
2:00 p.m. Eastern and 11:00 a.m.
Pacific.
Um the meeting is held on the Adafruit
Discord, which you can join anytime by
going to the URL adafru.it/discord.
To be notified about the meeting and any
changes to the time or day, you can ask
to be added to the @circuitpythonistas
role on Discord.
I will just plug one more time uh
that we have a bunch of streams
happening on Friday for Circuit Python
Day.
Um this is something we do every year.
Um all of our kind of like
regular Adafruit shows get aligned
there, plus we have some some uh
uh new shows that we don't normally do,
like a discussion with Dan and Tim and I
Um and there's a boot loader podcast
that that will be done live as well. Um,
you can check the blog post there for
for info on that. I I think it starts at
like
8 or 9 a.m. Pacific with the 3D
Hangouts. That so so join the Discord,
follow along all day. It's going to be a
blast. I'm excited to see all of the
demos and things that our folks are
working on.
So, we'll uh hope to see everybody on
Friday for Circuit Python Day and then
next week on Monday for the normal
meeting time. Thank you everybody.