CircuitPython Weekly Meeting

The CircuitPython Weekly happens normally at 2pm ET/11am PT on Mondays. Check the #circuitpython channel on Discord for notices of change in time and links to past meetings. Join here for the chat all week: http://adafru.it/discord If you want to be able to participate in the meeting by speaking, you will need to be added to the @circuitpythonistas role on Discord. Please ask any one of the moderators or admins to add you if you’d like to join.

Curated by: Adafruit Industries (449 videos)


Currently Playing: CircuitPython Weekly Meeting for February 24, 2025 @circuitpython #circuitpython #adafruit

Join here for the chat all week: http://adafru.it/discord The CircuitPython Weekly normally is held at 2pm US ET/11am us PT on Mondays. Check the #circuitpython-dev channel on Discord for notices of change in time and links to past meetings. Meeting times are also available in iCal format using the following link: https://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical or view it in your browser: https://open-web-calendar.herokuapp.com/calendar.html?url=https://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical CircuitPython development is sponsored by Adafruit. Please support them by purchasing hardware from https://adafruit.com. Podcast available on most services. Let us know if we’re missing some. Notes document is available here, with timecodes: https://github.com/adafruit/adafruit-circuitpython-weekly-meeting/blob/main/2025/2025-02-24.md Visit the Adafruit shop online - http://www.adafruit.com ----------------------------------------- LIVE CHAT IS HERE! http://adafru.it/discord Subscribe to Adafruit on YouTube: http://adafru.it/subscribe New tutorials on the Adafruit Learning System: http://learn.adafruit.com/ -----------------------------------------

Video Transcript

hello everybody this is the circuit python weekly meeting for uh February 24 2025 it's that time of week where we tend to get together to talk about all things circuit python I'm Jeff and Adafruit sponsors me to work on circuit python which is a version of the Python language designed to run on Tiny computers called microcontrollers circuit python development is funded primarily by Adafruit so if you want to support Adafruit and circuit python consider purchasing your Hardware from adafruit.com this meeting is hosted on the uit Discord server you can join Anytime by going to u.it Discord we have a bunch of uh channels that are active pretty much throughout the day due to our International Community but this meeting is held in the circuit python Dev text Channel and the circuit python voice Channel as uh usual the meeting is happening Monday at 2 p.m. us Eastern 11:00 a.m. Pacific time in the notes document there is a link to a calendar you can view online or add to your favorite calendar app it will help you get the uh correct days and times in your local time zone we also send notifications about upcoming meetings via Discord to receive these notifications you can just ask to be added to the Circuit python E's Discord role and it amounts to three or four uh messages a week there is a document that accompanies this meeting if you're watching it after the fact it's linked Down Below in the show notes and if you're part participant in the meeting this uh is a Google doc that you can edit to add your notes and um also when it is in the in the show notes you'll find the timestamps there so if you want to skip ahead to a particular thing and listen that's where you're going to want to look uh yes so back to the participating side during the week you can check the pinned messages tab to find the document to add your notes to if you have hug reports and status updates so the structure of this meeting we're going to have five parts next up is a look at all things circuit Python and python on Hardware in the community it's a peek at some items from the python on microcontrollers newsletter the uh second part is the state of circuit python the libraries and blinka we do a little numeric overview of the whole project focusing primarily on statistics from GitHub it lets us look at the project by the Numbers separate from our individual status updates but then comes the fun Parts we've got two round Robins the first is called hug reports it's an opportunity to highlight the good things the folks around us are doing uh both in the Discord Community the Ada of fruit Forum GitHub wherever you're working with people who are working on circuit python we want to hear the good things that you are seeing people do then next up is status updates you get to toot your own horn here you can take a couple of minutes and talk about what you've been up to since the last uh meeting you attended as well as what you hope to get up to over the next week or so and uh we prefer to keep those segments shorter and definitely not get into any in-depth discussions because those in-depth discussions are the fifth and final part of the meeting called In The Weeds if you uh want to have a discussion with community members you can add your uh topic to the notes document and then we will go through those in the order mentioned and anybody who is interested in chiming in is free to do so and that covers how the meeting goes so next up we are going to transition into the community News section um so we've got a selection of items here and then I will tell you more about the newsletter that they're drawn from uh number one a new circuit python display IO class is available for displaying text that contains emoji and there is a link to that on GitHub I believe that one is by our very own FY guy next up project of the week was the Raspberry Pi map of Manhattan that shows subway train status a project from Red at user by capitate allows you to track New York City subway trains in real time on a 3D printed map of the island the map shows the actual location of the subway trains using a Raspberry Pi connected to RGB matrices which in turn connect to the map via fiber optic cables and it runs circuit python there are some links to Reddit Tom's Hardware and the Adafruit blog and the last item I picked is from the section new notes from Adafruit playground and uh this is a short note that I wrote about a new item in circuit Python 9.2.5 and following uh called supervisor. runtime. display and uh yeah that's on the Adafruit playground so please check that out so what is the newsletter it is a community run newsletter emailed every Monday the archives are at Adafruit daily.com category circuitpython and if you'd like to subscribe we hope you do you can do that at the front page of Adafruit daily.com that subscription is separate from your uh Adafruit account you can subscribe only to what you want you can unsubscribe at any time and it's not used for any other mailings uh It Anyway the aim of this newsletter is to highlight the latest Python and microcontrollers newsletter from around the web including circuit python python and micropython I said that it's Community run and here's what that means you can contribute your own news or project this could be something that you did yourself then you want to promote this can be something that you saw through your social media um and you can do it in several ways you can edit the draft directly on GitHub at submit a poll request you'll need to know a little bit about markdown and uploading image files to do that another way is to email CP newws adafruit.com with a link and a little explanation of what's going on and you can also do the thing same thing on some of the socials such as Mastadon blue sky or X just use the hashtag circuitpython so yes pull request on GitHub cpne adafruit.com or # circuitpython On Your socials and uh this newsletter is compiled by our very own an engineer without her hard work every week you would not have this email goodness in your inbox every Monday next up the state of circuit python the libraries and blinka um um and uh Scott and um Tim I hope that you can take the uh core and Library sections but I will get into the overall so we um have our very own adabot who uh every night digests a bunch of Statistics mostly from GitHub and produces a report the report covers seven days of activity and runs sometime overnight so things that happened uh today during the day are often not listed but uh the seven days before that are so across a whole range of uh GitHub repositories we had 21 pull requests merged from 16 authors uh some names that are less common uh cute Fox dter hold and Shaun the IT guy FK so glow digit and Andy Bing thank you for your contributions and thank you to everybody who is a more common contributor um as well I want to thank six reviewers uh LaMore Dan Tim myself Liz and Scott and a little bit later um Tim fig guy will tell you about how you can become a reviewer which is another great way to help the circuit python project even if you are not a coder uh the next overall number I have is issues folks open issues on GitHub about problems they're having and sometimes we resolve them and close them and so this past week we closed 13 issues and that was done by six different people well we had 18 new issues opened by 16 people so as we do in many weeks we had a slight increase in the number of issues but uh we are making progress against existing issues and next I will hand it over to Scott to talk about the core of circuit python thank you Jeff okay so we had eight poll requests merged from nine different authors to thank you so thank you to all of our authors Um this can happen because uh multiple authors can work on the same poll request and particular um the translations uh multiple people can work on the translation PRS so thanks to them um some unfamiliar names to me or new names cute Fox uh drold uh Shan the IT guy FK sou glow digit uh are all infrequent uh so thank you to them ADCC Andy Bing are also and Billy ad are all kind of infrequent folks as well so thank you to all of them for uh authoring poll requests to the core uh the core is the C code that uh under that kind of implements the python that you see on circuit python we had two reviewers myself and Dan we have 27 open poll requests at the time these uh numbers were taken so we are over kind of like the informal goal of being in a single page of 25 Poll requests um I don't know we probably merged a few this morning uh so we're probably back under it but um that's we're we're always around there so uh if you're involved in poll request reviewing uh we'd love your help to keep that number down um there's probably other stuff there that we could close uh because uh there are some that just haven't been making progress issues wise for the core we had five closed issues by four people and five open by five people so uh net even which is good uh for a total of 766 open issues uh we track um prioritization for um issues uh using the Milestone system on GitHub uh this prioritization is is largely for Ada ofr funded folks so if you're in the community you find something an issue that you'd like to work on and it's marked long term feel free to do that we're happy to uh support you in doing that work but the priorities for us uh a funded folks match kind of like the the Milestones here so 10.0 is kind of our longer term goal 92x are kind of things we think should be fixed pretty soon 9xx are things that should be fixed soonish soon but not super soon um so we have 10 or 18 open issues for 10x we have 10 open issues for 92x and 59 open issues for 9xx and then we have a couple other buckets longterm support and third party that are kind of like very long-term things um libraries is also that and then there's a note in the doc that we've triaged everything so we're caught up on triaging issues that's the stats for the core thank you scottt and next up figy will talk to us about the libraries all right thank you Jeff this section covers all of the circuit python libraries um we have them split into the Adafruit Library bundle and the community library bundle so some highle stats on those the Adafruit Library bundle right now contains 354 uh libraries and the community bundle has 154 uh so we have a total of 5 8 currently uh for the Adafruit ones all of these libraries can be found on GitHub under names like Adafruit uncore circuit Python uncore and then the name of whatever Library it is um across all of those libraries this week we had 12 pull requests uh merged by six different authors um some names that are not necessarily uh new all of these folks have contributed plenty of stuff before um but are not names we see necessarily week to week here um this week thanks to Jerry uh do and just mobilize as well as our other contributors who are more typically on this list uh from week to week we had six reviewers as well I think the same six called out before so thanks to our reviewers this week um of the merged poort requests uh most of them were on the new side the oldest one was at 22 days and all of the rest were down at one or two days uh so in terms of uh PO requests that remain open we have 57 um across all the libraries the oldest one of those is getting up there at 921 days I think that one is uh a draft that's in one of the repos and then uh as usual the newest one is at one day um we had eight closed issues over the past week by two different people and eight new issues opened up by six people so net even on issues and we have 690 open issues currently across all the libraries and there are three of those right now that are labeled uh good first issues which you can find listed over at circuit python.org contributing uh if you are interested in getting involved in circuit python that is the the website where you should head again that is circuit python.org contributing what you'll find when you load that page uh by default is a list of all the open PRS for circuit python Library so these are proposed code changes and they are waiting for a person to come along and review them to take a look at the change uh and leave some feedback about um you know if the change is good or bad or if there's things that need to be tweaked or whether it works or not all that sort of stuff so if you do want to get involved you can look through this list find something that is interesting to you or that you've got hardware for click through to GitHub uh look at the code leave a comment there uh on GitHub letting us know uh what you found when you looked it over you can take a look for spelling syntax logic uh anything like that if you do have the hardware and you're able to actually try it out go ahead and do that and in your comment there on GitHub let us know that you were able to try it out and what you found um once you get comfortable with that process if you would like to get leveled up to leave official reviews on GitHub we can work with you to do that as well uh if you want to start getting your hands dirty with some coding of your own um on that uh main page again circuit python.org contributing along the top you can click over to the issues navigation link there you'll find a similar looking list of links over to GitHub but these ones are issues they don't have a proposed change yet they are waiting for a person who is interested in actually coding up that proposed change whether it's a fix to a bug or a new feature or some enhancement um so in these ones the the beginning of the process is pretty similar look through that list find something that catches your eye that's interesting to you or that you've got the hardware for click through to GitHub read up on what the issue is and then you can submit your own pull request to try to resolve that issue uh if you need help with Git and GitHub we have a learn guide that covers the process of contributing to Circuit Python and the surrounding projects uh we also have folks who are around throughout the week on Discord who are willing to help you out so if you would like to contribute whether that's reviewing uh or submitting your own code is as a PR and you're having trouble with with any part of the process please come say hi on Discord let us know what you're up to uh and we will be happy to help you out um in terms of Library updates for the last seven days uh I'll leave you with these we had new libraries the uh display emoji text Library mentioned before as well as the daak X 578 Library uh and there are a couple of updates uh which you can find listed here in the note stock if you're interested in those and that's what we've got for libraries this week thanks thank you Tim and to round out this section we have some statistics about blinka blinka is a compatibility layer that lets you run circuit python code on single board computers such as the Raspberry Pi series as well as a bunch of others we did have a little bit of um activity with one poll request merged by one author with and One reviewer reviewed that there are 21 open poll requests across the blinka repositories issues wise there were zero closed issues and five issues open by five people leaving 148 open issues and the number of supported boards stands at46 and uh I believe that this week the uh recently added uh blinko repositories that I've been working on such as rp1 Pio and Pio matter and um the pi5 neopixel would be reflected in in this list so I'm happy to see that resolved there have been a couple of months going by where I've had to note that uh this wasn't including the new libraries but apparently those libraries had no activity so there you go but that wraps it up for the state of circuit python the libraries and blinka and as I said before now it's time for the first of two round robin sections called hug reports hug reports are a chance to Spotlight the people around us in the community who are doing good things and just to show you how it uh is done I will start out and then I'll go down this list in the order it is here so Dan will be up next um I wanted to thank Justin for taking on another round of network API improvements I want to thank Cooper and gambler for their plans for working on their plans for the audio subsystem in circuit Python and of course a group hug all right Dan is up now and then it will be Tim okay also I'd like to thank Justin for all the work that he's been doing on getting rid of Secrets thatp thank you Dan uh next we have fig guy and then Jerry all right thanks Jeff uh hard reports from me this week thanks to Nero um for diving into the guts of um the PNG decoding inside of image load and submitting a fix for an issue with imaged uh excuse me with indexed pgs that have filters other than zero on the scan Lin it was super deep in there and I really appreciate the help uh resolving it um thanks to you Jee for the changes to supervisor. runtime display I think that's super cool that we can um have them live uh through boot pie and stuff like that now so I'm excited to use that and then lastly um echoing what has been mentioned before a few times thanks to Justin for working on the secret stop Pi cleanup um not super glamorous but very appreciated and helpful so thanks for that all right thanks Tim next up is Jerry and then I'll read notes from Justin yeah hi um yeah thanks to Fig guy for reviewing commenting on and merging the rfm library and um and hug to all the learning guide system guide authors uh I'm working on one and I'm being reminded how how much work goes into those uh so appreciate everything people do for that and a group hug to everybody else all right Scott you're on Deck but I'll read this hug report from Justin who wants to thank Dan H for reviewing my poll requests for removing the reference of Secrets everywhere all right now we're on to you Scott and I'll round It Out by reading a note from tth thanks Jeff uh first a hug to C Grover for their chime Library I'm using it in my gardening game and I'm I'm I think that was the right call so thanks for making that available a hugs to Cooper Jeff you and grambler 21 for working on audio stuff um it's awesome that it works and then uh you mentioned this in our internal meeting jefff and I just wanted to highlight it here thank you for hosting all of the community meetings this is the last one that you'll be hosting for a while at least least um thank you is true yeah um is that the Windchime library of seag Grovers that you're talking about that's right y that is so cool I love that Library that's one of the things that like spurred me to to want to do more cynthy stuff yeah it's super neat I have it where you plant plants and the the plant that you plant tells you which tone which tone is like in your chime um so that like as you as you plant different plants you the Chimes that you get the more plants you have the more strikes you have so the more noise it makes but then also like the tones change based on what you planed to I think it's cool and it's like way it was nice on off the shelf and yeah so thanks to T Grover for that too very neat all right and finally I have a note from tth who sends a hug report for Justin and Dan for the ESP Secrets work that concludes hug reports and brings us to status updates in status updates we take a moment to talk about our last week's work and what we see in the week ahead and if you're away from the meetings and don't make it every week you can expand a little more in the time Dimension if you like once again I'll start off and then I'll call on folks in the order things are in the document so Dan will be up right after me uh I have to fess up that all my activity last week was in Arduino land I worked a lot on support for the hstx video peripheral of the RP 2350 in including a very snazzy text mode that I'm quite proud of this is uh still building on a library by um Michael Bell on GitHub but I added my own uh features to the text mode and it it does a lot more cool stuff now I ported a CPM emulator that I did last year on a pair of rp240 microcontrollers to now run on a single Metro RP 2350 originally a separate microcontroller was needed for um the USB part and for the HDMI part but now those can both run on a single microcontroller because the hstx peripheral doesn't um need as much help basically um so I'll be updating the learn guide the existing learn guide with some notes about how you run this on the Metro RP 2350 instead of the multiple boards and uh with a little hint from Scott who I should have hug reported about this I found a workaround for a problem that exists with the Pico pusb library on the RP 2350 when you overclock it to 264 megahertz which is a requirement of the hstx video library and it's not a good fix it's a workaround but it got me unstuck and let me work on that CPM emulator um my activity this week will probably remain in Arduino land uh there's a existing emulator called mcme that emulates a number of kinds of classic uh home computers and 80s video game consoles and I hope to make a port of that to the Metro RP 2350 and in a way that can use a Gamepad or a keyboard that's plugged in on the USB connector and uh then as Scott was alluding to I'm five weeks away from the conclusion of my defined Ada fruit work uh as I mentioned and a lot of you probably know back when we were talking about circuit python 2025 I'm kind of wrapping up the part of my life where I'm going to be working for a defined number of hours each week for Adafruit take a big vacation uh I'll come back and in the fall hope to pick up some projects here and there and spend time with the community uh because this is a great community and I'm proud to have been a part of it and I'm proud to continue to be a part of it and that wraps up my status updates and we'll move on to Dan followed by fig guy all right so what I've been doing for the past week is mostly working on getting the nenina FW firmware that's some Wi-Fi and ble firmware that's used on the airlift co-processors which are all esp32s um and getting it to run on ESP IDF 5.x currently it's running on 3.3.1 and really like to update it to get bug fixes and new features so uh it's it's a lot of work it's a very strange piece of software it sort of takes a few pieces of Arduino and some custom libraries that are written in an ardino style and then compiles those with the ESP IDF so um I'm I've added ESP IDF as a subm module it used to be manually set up I've added Arduino esp32 as a subm module actually I probably didn't that's not true I forget didn't need that after all and right now I'm just getting the thing to compile and updating which files files that have changed for instance because between three and five a lot of file names changed ET that um it is true that I'm using arduno esp32 I forgot yes because I need some of the wrappers that Arduino the Arduino esp32 boardsort package puts around ESP IDF uh calls and then has been has been mentioned a bunch of times already uh I've been reviewing Justin's updates to remove uh secrets. py usage in the libraries and then we need to update the learn guides do not uh use cir secrets. py and I have also some other updates to do for the esp3 usbi um pages in various guides all right thank you Dan I will rewind one second to uh my own report report um scottt wants me to to take care to say that the requirement of the 264 MHz overclock is specifically for the 1280 x 720 at 50 HZ output and that is the specific video mode that's used by the Arduino hstx library for its fancy text mode as well as for some of the um Graphics modes that have square pixels on 16 to9 displays uh with that out of the way it uh Jerry is on deck and now Tim we'd love your status report all right thanks Jee I have been working on removing the older uh 8.x compatible display IO code from the libraries in the bundle um uh last week I dove into uh an issue with image load um where it was not rendering certain pgs the right way um and figured out the root cause to that was specifically indexed pgs with scan lines that use nonzero uh filters there's a lot going on inside of pgs I have learned um and that specific thing wasn't implemented in image load uh but is now so we can render all the uh all the Emojis now which is super cool um speaking of which uh over the weekend I have improved the Emoji text Library some uh I've added support for changing the color of the text I've added support for updating the text uh without having to create a new object and then uh on the updating I also did another pass to to make it a bit more efficient by caching the bit maps and to grids from the previous text and then reusing them when you go to change the text if any of the characters are the same that way we don't spend time uh blitting the same bit map over and over again if we already have it um and other than that uh this morning I wrote some code for the for a new project on the round display that will be a compass um and I was pretty stoked that I managed to get it rotating super fast by using um bitmap tools. Roto zoom and then specifically Roto zooming an empty version of the thing that I'm rotating rather than just filling the bit map with empty uh pixels so I'm kind of only painting over the parts that I want to change which sped it up quite a bit so little tip if anyone is doing bit map work but that's what I've been up to thanks thank you all right next uh we're ready to hear from Jerry hi excuse me I'm working on a a long overdue Guide to the um rfm Library which is a a new library that combines and enhances the existing rfm 69 and 9x libraries and uh fortunately for anybody wants to try it out the only change to existing codings be made is the is to import the the new um um correct name so there really only one line change needed existing code but there are lots of new features that the guide will be focusing on so that's just keep me busy thank you I will read some notes from Justin and then we will hand it over to Scott to round out this section so Justin writes I created a new esp32 SPI Wi-Fi manager to not take in secrets and added a warning for when you use the old one updated a few libraries that reference the old espi Wi-Fi manager that didn't need to cleaned up the portal base to warn when using secrets and updated it to handle the different names of AIO keys that have existed and finally clean up all the Adafruit IO examples not to use Secrets all right and Scott what have you been up to oh boy um I'm in the I'm in the USB weeds uh so we've had some reliability issues with the Pio USB host code um and I I identified one issue where it wasn't accounting for different CPU speeds or or like how long CPU Cycles or like how much how quickly code executes so I'm working on adding uh timeout tracking based on cycle counting um which will we'll know how many cycles run based on the CPU speed so that should give us kind of like CPU speed agnostic timeouts um and it will also adjust for whether the packet is low or full speed um because we need to wait longer if it's a if it's a low speed um so I'm yeah deep in those weeds I'm I just started back on it so I'm glad I didn't forget to talk um the other thing to not in terms of planning for when I'm going to be out I'm going to be out uh in two weeks so we go to Japan two weeks from tomorrow um and there's a little bit funniness so I will be working on the Monday before that but not the Friday so out the 7th but uh in the 10th and then out the remainder of those two weeks um I'll be back the 24th and then for even longer term I think it's about six weeks or so five or six weeks after that before I go on uh the rest of my paternity leave so yeah that's uh I'm hoping to get USB Pi post solid so that the fruit Jam is a can just talk to USB devices I hope you have a blast on your Japan trip I went in 2019 and it was really one of the top top trips I've taken um so also I I hope you'll share some pictures with us I'm excited it it's going to depend on the kids yeah yeah I did not have any any kids I was traveling with so made made things a little easier but you'll do it you have time I think it's a pretty easy place to visit and that's why we decided to go yeah all right well that wraps up status updates the final section when we need to have it is called In The Weeds is an opportunity for long form discussion and anything where we are looking for kind of a community consensus or Community knowledge and although Jerry had originally written in a topic they just amended it to say answered no need to discuss so thank you Jerry and thank you for Dan who answered asked and answered that question in the weeds and with that I will move on to the wrapup section and make sure I get all the right verbiage here I'll scroll to my uh running the meeting notes so this has been the circuit python weekly meeting for February 24th 2025 a big thank you to everyone who participated and a big thank you if you're listening after the fact um we go through the effort of recording this uploading it to YouTube and from there to some podcast services and if you're listening now that is why we did it um if you want to support folks like me folks like uh Scott and Dan and Tim who uh work on circuit python for consider purchasing from the Adafruit shop atr.com the video of this meeting will be released on YouTube like I was just talking about that goes up at youtube.com/ Adafruit and the podcast goes up on major podcast Services there's also a way to add it to another kind any other kind of RSS or feed reader um just ask us about that the URL is somewhere uh anyway it's also invariably featured in The Python for microcontrollers newsletter once again visit ada. daily sorry visit Adafruit daily.com to subscribe the next meeting will be held next Monday March 3rd at the regular time of 2: p.m. Eastern 11:00 a.m. Pacific um and for those of you who know the American time change is not next week but it is soon so if you are following different daylight saving time rules it is an especially good time to find that circuit python meeting calendar so that you see the meeting time in your correct local time zone no matter where you are another way to hear about the meeting and changes to the time of day are by being added to the Circuit py Thea's role on Discord which is also the role you need if you want to speak during the meeting and with all that out of the way I just want to say I hope to see all of you next week and thank you again to everybody

Tracks in this Playlist