Hello, everyone. This is the Circuit Python Weekly for April 3, 2023. It's the time of the week where we get together to talk about all things Circuit Python. I'm Jeff, or Jebler, and I'm sponsored by Adafruit to work on Circuit Python, which is a version of Python designed to run on tiny little computers called microcontrollers. Circuit Python development is primarily sponsored 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 Adafruit Discord server. You can join us anytime by going to adafruit.it-slash-discord. We hold the meeting in the Circuit Python DevText Channel and the Circuit Python Voice Channel. Like today, the meeting usually occurs on Mondays at 2 p.m. Eastern, 11 a.m. Pacific. We do have a notes document to view a calendar because we... Sorry about that. We do have a calendar that will tell you about variations in that schedule, usually because of U.S. holidays. There's a link for that in the notes document, so check that out just to keep up to date. We also send notifications about upcoming meetings via Discord. If you'd like to receive these notifications, ask us to add you to the Circuit Python East's Discord role. I already mentioned there's a notes document. The notes document, when you are reading it after the fact, will have timestamps so that you can skip to the parts of the video that interest you the most. After the meeting, in Discord, we post a link to the next meeting's notes in the Circuit Python Dev Channel of the Adafruit Discord to find it, look in the pinned messages, so that you can add your notes for the subsequent meeting. And just a reminder, if you have stuff to share with us but cannot attend, you can leave your hug reports and status updates in the document, and the host will read them out for you. So, the structure of this meeting. This meeting is held in five parts. Next up is community news. A look at all things Circuit Python and Python on hardware in the community. It's a preview of the Python on microcontrollers newsletter. Next after that is the state of Circuit Python, the libraries, and Blinka. A quantitative overview of the entire project. It's a chance to look at the project by the numbers, separate from what we're all up to individually. Third is hug reports. Hug reports is an opportunity to highlight the good things folks are doing, and a way to take the time to recognize the awesome folks around us in the community. As the person who has saved my bacon by remembering to take some notes from the newsletter and put it into the document. Thank you. Up after that is status updates. In some ways it is the meat or protein of the meeting. The time to report on what you've been up to. Take a couple of minutes. We want to hear about what you've been doing in Circuit Python since the last meeting and what you'll be up to in the next week or until you're able to get back with us. And we do like to get to know each other a little better as people. So if you have something else from your life that you'd like to share that it is appropriate, please do. And then the final part, which is optional, is called in the weeds. If we need to have long form discussion about a topic of interest to multiple people that doesn't really fit within the brief format of status updates, that is where you need to do it. And if you have a topic, please add it to the document after any other items that are already there. And again, I will call on folks in the document order. And that covers how the meeting will go. And you've got a sense of how I'll be doing all meeting with just how this all went so far. Anyway, but we are going to move on to community news. First up, we had two new versions of CircuitPython released thanks to Dan, who actually did the release work, the mechanical stuff on GitHub, and as well as to all contributors, which there was a nice list of them. The stable release is now 8.0.5. And there's also a new beta version, 8.1.0 beta 1. And there are links to the blog post and the release notes. So check those out to find more about what is fixed and who has been fixing stuff. There are also some fun new features in that beta release. Next up, it's more version news. A sneak peek at MicroPython release 1.20. Damian George, creator of MicroPython, gives an update on the pre-release of MicroPython version R1.20 and a demonstration of Bluetooth low energy on the Raspberry Pi Pico W. in this video from the March MicroPython meeting in Melbourne, Australia. And thank you for getting those links in the channel. That includes a YouTube. Check that out after we're done with this meeting. And last up, Pybrx. MicroPython on LEGO controllers is gaining popularity. More projects are appearing using Pybrx, a version of MicroPython which runs on LEGO Mindstorm Hubs. And there's a YouTube video by Kevin Mechalier, sorry for pronouncing your name, who presents Exploring Pybrx LEGO Mindstorms Evolved. That also looks like fun, but we have to wait until we're done with this meeting to check it out. So the CircuitPython Weekly newsletter is a CircuitPython community run newsletter emailed every Tuesday. The complete archives are on daily.com slash category slash CircuitPython. It's kind of normally CircuitPython, but we highlight the latest Python on hardware-related news from around the web. That includes CircuitPython, Python, and MicroPython developments. And occasionally stuff that's just so cool, you've got to share it. So for instance, we didn't feature it here, but I think we are going to talk about a fun video synthesizer project, and how it runs on Arduino. We're excited about it. And a couple of us are thinking, huh, how can we do a version of this in CircuitPython? But anyway, getting ahead of ourselves. The call to action here besides subscribing is to contribute your project or project you ran across on the internet. So you can go on GitHub and edit the draft for the subsequent week article and submit a poll request. Or you can tag a tweet with hashtag CircuitPython on Twitter or tag your post on Mastodon, also with hashtag CircuitPython. Or finally, you can email cpnews at Adafruit.com. And that wraps up community news, which brings us to the next section, the state of CircuitPython, the libraries, and Blinka. So we run a daily task that scours GitHub and gathers information about activity over the last seven days. And we aggregate that and talk about it within this section. And because of the nature of these reports and the seven-day cutoff, occasionally we miss recognizing folks. And what I want to focus on is we do recognize folks. Just sometimes when you fall into that gap, we'll miss something anyway. But here are the stats. Overall, we had 31 poll requests merged with 21 authors and nine reviewers. So thanks to all of those, including Ozzy Gerbostan, Duggish C, Sentis, Thess, or Tess. And Rishi A are some names that come up less frequently. Also, Gene Evaroff, who's recently started making some contributions to CircuitPython. So a big thanks to all those people, as well as a thanks to our nine people who reviewed in an official capacity, as well as everybody who helped us with comments on issues and poll requests. And, of course, it's also nice to note, in addition to the nice 31 poll requests merged, we closed more issues than we opened, net down of four issues with about 13 people contributing on either side there. And next up, Dan will tell us more about what's going on in the core. Okay, so they were in the core of CircuitPython. There were 25 poll requests merged in about the last week. There were 18 authors. As Jeff mentioned, Ozgy Gerbostan and Duggish C, they represent a Turkish microcontroller board company that submitted a bunch of new board definitions. And then Sentis is new and Tess also is new, as mentioned. So there were 18 authors and six reviewers. And there are now 19 open poll requests. I closed a bunch that were kind of stale and said, we open them if something happens. They were back down to less than 25, which is great. They're all on one page now. In the past week, there were eight closed issues by three people and six issues closed, opened by four people. There are now 630 open issues for CircuitPython. In that group, there are no open issues for the current 8.0.x stable release cycle. There are 15 issues for 8.1.0, but there could be some triage done there. There probably aren't 15 that we need to fix for 8.1.0 final. There are 66 open that we'd like to fix by the end of 8.xx. And there are 21 issues in the 9.00. For the 9.00 milestone, which are things that we want to defer and not make part of 8.xx. There are also 20 issues labeled as libraries. A lot of those are library suggestions. There are 503 long-term issues, which might be enhancements or very minor bugs. There are seven issues labeled as support, which means that they probably are not bugs, but we need more information. Or that we're just helping the person in GitHub that we prefer to help in Discord or the forums. And there are four issues labeled as third-party where those issues are stalled because we're awaiting something from a third-party software supplier. And there are zero issues not assigned a milestone. So we've triaged everything successfully. And that's it for the core. Thank you, Dan. Next up are the libraries. Ketney, are you able to take over and tell us about that? Absolutely. Thank you. This section applies to all of the CircuitPython libraries, including all of the libraries in the CircuitPython community bundle and all of the libraries that are Adafruit CircuitPython libraries, which is everything beginning with Adafruit underscore circuitpython underscore. So across all of those repositories, we had five pull requests merged from four different authors and five reviewers. Two of those were 21 and 29 days old, so I'm glad to see that we're still getting through some older ones. And we have 45 open pull requests. There were five closed issues by three people and four opened by four people, leaving 603 open issues. 74 of those are labeled good first issue. If you're interested in contributing to CircuitPython side of things, check out circuitpython.org slash contributing. You'll find all of this information and more. If you're interested in reviewing, check out the open pull requests. If you have the hardware tested, if you don't, take a look at the code and leave a comment. Once you're comfortable with that, we can talk about leveling you up to the review team. If you're interested in contributing documentation or code, check out the open issues. You can search that page and find something that interests you and leave a comment and let us know that you're going to work on it. And if you're new to everything, good first issue is a great place to start. There is a guide on contributing to CircuitPython using Git and GitHub, and we're always available on Discord to help. We want to make sure that you're able to contribute in a way that works for you. LibraryPyPI Weekly downloads stats for this week is actually significantly lower than it has been in a while, which I found interesting. I noticed this last week as well. We had across 309 libraries, 70,060 PyPI downloads, and the top 10 are in the notes. There's no surprises on this list to me this week, except for the fact that the overall being lower also means that the specific numbers on the top 10 are also lower. In terms of library updates in the last seven days, we had a few updated libraries, but no new libraries. And I guess that's what I've got. There we are for the libraries. All right. Thanks, Ketny. And now we will round out the section with the stats on Blinka. Melissa, are you able to pop in and talk about that? Yeah. So Blinka is our CircuitPython compatibility layer for MicroPython Raspberry Pi and other single board computers. And this week we had one pull request merged by one author and one reviewer. There are currently seven open pull requests amongst all the different repositories that are Blinka-related. And there were three closed issues by two people and one open by one person leaving a net of 95 open issues. There were 14,422 PyPI downloads in the last week. And we are at 14,766 PyWheels downloads in the last month. And we are at 101 supported ports. And that's it. Thank you. Next up is Hug Reports. Hug Reports is a chance to highlight folks in the CircuitPython community and beyond for doing awesome things. I'll start and then we'll go down the list to give everyone a chance to participate. And a reminder, if your texts only are missing the meeting, I'll read your notes when I get to them in the list. So that is what I'll do. And because I am in a state of disorganization this morning, I only have a group hug. Then from C Grover, whose text only, C Grover has a hug to FOMI Guy for demonstrating bitmap tools features on his stream. May become just what the doctor ordered for a current project. A second hug to Paul Cutler for bringing back the Life Essential CircuitPython podcast and finally a group hug. And next, we will hear from Dan. All right. Thanks to Dave Putz and Jay Schapter, who are working on debugging ESP32-S3 PulseIO. Thanks very much to Greg Nevereaux for fixing a serious regression in 8.0, having to do with network Wi-Fi networks. And thanks to Pulse's paradoxus in Discord, who was having trouble with a BLE heart monitor even though I'm not sure I've solved their particular problem. I suggested they try using Blinka BLEIO, which works on host computers. And it's incredible pain to set up right now because it requires certain versions of Python and uses the Mopslead software. So that goaded me into fixing it up and bringing it up to date. And it was a lot less work than I thought. So, and Scott has just merged that. So that'll be released really soon. And I can clean up a bunch of caveats that are in the guide right now too. So I'm happy about that. Okay. Thanks, Dan. Next up is DJ Devon 3. I think you're going to start out if your net connection is working right now. Is that right? There we go. Double mute. Yes, everything seems to be working okay. I would like to send a hug to Jose Davide, Naradok and Anidig, Anikdata for helping me troubleshoot a hardware issue on a Feather M4 Express. Figured out I caused the issue with angle cutters removing the header pins. And they offered some advice on how to fix that as well as put it back in working conditions. So now that one is working and I didn't have to throw away the Feather. A hug to Naradok for helping I don't quote by writing a CSV dict reader example using TechTricks, CircuitPython CSV library, which is in the community bundle. Both of those were just a tremendous help from my project, which I will get into later. Another hug to Naradok, Spoblot, and Katni for helping Naradok on a weird issue on a 14-segment display backpacks, and that issue I've put in the weeds for discussion. A hug to Fumiguy for reviewing and pushing the Steam API request example, PR, another hug to him for dealing with computer issues this weekend. And I hope you get everything fixed up and back to normal and back to streaming. Okay. Thanks, DJ. All right, next up I have a note to read from David Glode, who has a hug for you, DJ Devon 3, for the TR Cowbell and other gifts that reached my place exactly a week ago. And next up is Fumiguy. Hello. All right, thanks, Jeff. Hugs this week for me. Thank you to David Awesome01, which is not a member of our community, but they are in the System76 Discord, and they helped me out tremendously, very patiently to get through some troubleshooting and attempts to fix my PC. It would not be anywhere near as close to working without their help, so huge thanks to them. Jose David for adding the new functionality inside Bitmap Tools to draw circles. And a hug report for NairDoc for finding and documenting an issue that's relating to multiple displays. Most likely I think this was introduced when the show API got refactored, and I was already kind of getting my mind on multi-display stuff anyway, so the timing actually was perfect. This will be an interesting thing to jump into and try to figure out. Thanks. All right. Next I have a few hug reports from Jose David, who has a hug for Rishi A. for updating the CIRCUP installation instructions in the ENS-160 library, and a hug for Dan, FOMIGuy Gambler, for comments, suggestions, and insights for the Bitmap Tools Circle pull request. And that brings us to Catney. Hello. Hi. I have a hug report for Carter and Ed Keyes here on Discord for helping me with sorting out what was qualified as power and charging circuitry on a feather board. There is a page in all the feather guides that is power management, and the first image, or the second image on that page is highlighting all of the power and charging circuitry, which I've never actually had to create that image before, and was incredibly unclear on things, but started using a particular tool in Eagle to sort out what was going where was necessary for what, and then couldn't find a couple of the specified things that were supposed to go in the image, and Carter and Ed Keyes helped me sort out the last bit, so that was really helpful. To Solar Slurpee on GitHub, for being willing to jump in and help me out with an upcoming guide, the topic of which happens to fall into their wheelhouse, I am completely new to it, so this is going to be a very seriously helpful situation there. To the helpers on Discord, that's everybody in any of the helpers' roles for a very thoughtful discussion on some logistical things recently. I came to the conversation very late, but the conversation that had occurred was incredibly thoughtful and useful and helpful, and we were able to get a couple of action items out of that, and make things better in the community. And a group hug to everyone, but especially to those I missed, I'm really bad about remembering things. Thanks, Katny. And next, we are back to you, Melissa. Hello. I wanted to give a heck report to, I'm not sure how you pronounce this, Creechy for submitting a whole bunch of updates to the online Serpent Python code editor, including one that migrates the entire build system to a newer one. And for quickly merging my pull requests for our learn guide I'm working on finishing, and to Scott, I hope you and your center are feeling better soon, and a group hug to everyone else. Thank you. And next is Paul Cutler. I have a group hug for everyone. Thank you. Okay, Tammy Makes Things is text-only today, but has a group hug for everyone, and that brings us to you, Scott. Hey, thanks, Jeff. First, a hug to you for covering this week for me.  If you don't know I have COVID, I'm getting over it. Ari has COVID too. He's further along getting over it than I am, but I talked to a neighbor yesterday and thought, I don't think I could talk for an hour without coughing up a storm. So thanks to Jeff for covering for me. Thanks to Katny for always improving the circuPython community in Discord. I dropped in the Helper channel or something and saw a very thoughtful suggestion on how to make things better, so I really appreciate you constantly improving circuPython and Adafruit and Discord. Katny, so thank you. And then last up, thank you to Dan for doing two more circuPython releases. It's really helpful to keep everything moving, except for me. All right, thanks, Scott. Last, I have notes from TechTrick, who couldn't make it to the meeting today. TechTrick has a hug for Dan H for keeping me in the loop about CI updates, always good to know when it breaks. A hug for DJ Devon 3 for using my CSV Helper library. I'm always excited when others find utility in libraries, especially ones in the community bundle. And one last group hug. And that finishes hug reports. So we will move on to status updates. It's our time to tell folks what we're up to individually. I'll start, then we'll go through the document in order. When I call on you, take a couple of minutes to talk about what you've been doing since the last meeting and what you'll be doing until the next meeting. This is also an opportunity to provide quick tips and tricks relevant to what people are talking about. But if it's going to be anything long, just a general reminder, it's very important to have in the weeds. And with that, I'll get us started. I published a second Adafruit learn guide that uses ChatGPT. This one is subtitled PressButton Get Superpower. It works with the PicoW and a little OLED display and connects to the API. And I urge you to check it out. It's a great jumping off point if you want to play with ChatGPT together. I finished up a couple of pull requests. I think that they are done implementing I2S out and PWM audio out on the M7. There was a bug that Dan had identified a little later in the week, last week, that led to one final bug fix, but otherwise it seems pretty solid. I tested the limits of Audio Mixer on M7 playing audio files from SD card. I tried two different SD cards and one was able to mix 8 simultaneous samples and another was able to mix 8 simultaneous samples both at 22 kHz mono with 16-bit audio quality. I took one afternoon out to spend time learning the ESP Now module. I was considering doing a wireless keyboard project, but that's probably not the most appropriate use for it. I'd still like to find a use case and do something useful with it, but I'm going to set it aside again for now. So what I've been working on since Wednesday approximately was we have a module called SynthIO which you can use to play a simple MIDI file with up to 2 notes and it's just very basic square wave synthesis. I've been working on expanding its capabilities. So on the M7 you'll be able to mix up to 12 voices and you can pass in any single cycle waveform. So in addition to a square wave you could do a sine wave or a sawtooth or a triangle or even other things whatever you imagine. You could probably do a noise wave form with it. And another thing that I'm working on related to that is the design really was just to play a MIDI file. So if you for instance wanted to use it where if you press this key you get this note and if you press 3 keys you get a chord, it wasn't designed to work that way. So there's some refactoring to make it work in a real time synthesis way versus playing back a MIDI file way. And then I have some other capabilities I'm going to look at adding as well as time goes on. I wrote here that I'll talk to JP when he returns but we actually decided in our internal meeting without JP that the next thing I would be looking at is adding volume control and envelope so that a note can like start a low volume and ramp up the volume or gently fade out. So envelope is the term for that. Let's see and finally I have some guide pages to write for circuit python pointers with the audio I out stuff fresh in my memory and a note I will be out Friday and I will return on May 1st which is a Monday so in a little less than a month. Alright that's it for me and next I have notes from C Grover who writes the Eurorack Precision VCO module is coming along nicely. The automatic analog waveform baseline bias algorithm is working perfectly woo it removes the DC offset of a signal this was accomplished in circuit python using an itsy bitsy DAC output and analog input to monitor and control an analog amp circuit working on the UI now and plan to apply bitmap tools liberally. Alright and next we'll hear from Dan and then DJ Devon 3. Okay thanks so as mentioned I did two circuit python releases last Thursday 805 and 810 beta 1 805 was just has fixed by Jeff about editing settings.toml I have a pull request I made which I think has been merged to add wifi.radio.connected and wifi.radio.ap that is access point active read only properties which a number of people have thought would be useful and I had that sort of in progress for months and then just finished it. The current beta also handles HID out reports those are reports from the host in and out with respect to the host in USB LAN and it handles reports with no report ID properly which is what you need for raw HID which is not common but some people really need it and finally as I mentioned I brought BLEIO up to date to the latest version of Bleak because it was really suffering from BIPROT in a number of ways so that will be released shortly. Ok, that's it. Up is DJ Devin 3 There we go, double muted. I found out the hard way not to use angle cutters underneath header pins to remove them which I've already gotten some great advice on. It's been scratching the solder mask on the boards as I lift up the little plastic parts and I did it last night again and noticed it immediately which is how I know that this problem isn't just magically appearing out of nowhere I'm doing it. So whatever pin the scratch is next to can get soldered straight to the exposed ground plane so it scratches off a little bit of the solder mask which is all ground plane This is especially bad if it's right next to the 3 volt pin or any power pin as it gets soldered straight to the ground which then makes the ground plane a power plane and there goes all of your GPIO Every GPIO Yes, I had a moment and I plugged it in like that intentionally just for science and it causes every GPIO to get locked high because there's no more ground plane. Thankfully I can say this does not cause any electrical damage and is fixable with nail polish or conformal coating and careful soldering From now on I will not be doing it that way anymore I completed the 14-segment display project it was supposed to be an API project originally quickly figured out that the API does not have endpoints to the data that I was expected to work with the endpoints just don't exist So the solution ended up requiring a batch script to be sent to the tech team download, CSV parsing chat out to TechTrick and Nerdok which has nothing to do with an API but it's all still perfectly within the Steam partner in terms of service I will be submitting a dict reader example to TechTrick's CSV community library because there wasn't one in we kind of struggled to make sure that it could read correctly I'd love to say I wrote it but honestly I just adapted his example to work for my project and both Nerdok and TechTrick's example saved me days if not weeks of learning to work with CSVs I'm much more familiar with JSON than CSVs Days later I improved the project by writing my first real Python script which actually keeps from a Windows batch script instead and parses the CSV file onto the ESP32 normally 20 seconds for the ESP32 to parse the CSV file which was originally about 64 kilobytes instead I let Python do it in milliseconds in which it piped the data out to the feather and so I was able to take in total 1 megabyte of CSV files collated down, parsed it down to just 200 bytes of data that they wanted and I'm forever grateful to the game company that entrusted me with Steam partner level access to experience the back end and create such a cool project for them I designed and 3D printed the enclosure for the 14 segment display I made a feather pie pico, cutie pie all in one I2S amplifier board that I showed on show and tell specifically designed to replace the spaghetti wiring in the lore mailbox as a single PCB this week I will be working on another lore mailbox this time with a 7 inch TFT display and that's all I have alright, that's plenty, don't sweat it what a week alright, next I have notes from David Glode as the first items are all about the TR cowbell, I started and tested my TR cowbell in one row that was intense but very satisfactory to do such a big PCB from beginning to end with only two errors I made the budge wires for the I2C pins but on the wrong pins and I forgot one solder point so one LED was not working tested I2C1 on Stemacutee port with a tiny SSD 1306 and the provided bigger SSD 1306 to do invest in the software side to make use of it and then the second topic is the lily go watch installed the firmware I installed the V3 firmware on a V2 watch recovered my documentation of the variations between versions 1, 2, and 3 there's a link to a github gist in the notes document and to do find the author and see if I could patch for the version to watch and that's it from David Glode and that brings us to foamy guy alright, thanks Jeff I have been working on some PR testing and reviews both last week and this week in particular we did some testing last week on the Ethernet library we got some logs captured from that got them back to the person who's working on it they found something to fix from those and have committed that already so we are ready to test that out again this week this morning I was also testing some unrelated changes in the HTTP server library that allow you to have parameters as part of your URL path which is neat, lots of larger web frameworks like Flask on the PC support that so now we have the capability to do it in the circuit python library as well I started looking into an issue that relates to the serial terminal group the group that shows the serial output and the REPL on the display on built-in displays for devices that have their displays configured that group was causing an issue or is I should say causing an issue when you have multiple displays you initialize the second one this is an exception about that thing being in use already I started looking into that but did not make it very far before I started having some PC trouble I was trying to do some trouble shooting to figure out what that PC trouble was and isolate different factors and in the process of doing that I managed to unfortunately make things worse and I can no longer boot into that main OS that's on that drive I have been working on it a bit over the weekend I have reason to believe that all the contents are still inside there it just needs fixed so that it can be bootable again or if not possible I think I know how to at least connect to it and copy some of the more important things off and just start fresh but that leads to the last point which was I spent a chunk of the weekend particularly Sunday getting a backup computer set up with everything I need for circuit python development but also all of the projects that I work on for my other job throughout the rest of the week so I'm all set up with that now I at least have something to fall back on for the time being back to running for the time being alright oof alright next five notes from Jose David who worked in some drivers for the community bundle light sensor ISL 29125 the magnetometer QMC 5883L and the gyro accelerometer BMI 160 and finally the accelerometer MC 3479 work on a PR to refactor the MPL 31152A library and finally working on documentation for the TVOC AGS02MA sensor and with that it's your turn catney hello again alright so last week I started working on the Feather RP2040 RFM guide all templates basically the core of the guide is in place but most of it's not filled in yet the processing and pretty pens are completed the overviews complete and the images for the power management and pinouts pages are generated which is more of the work on those two pages is making the images than actually filling them in so that's good again I'll report to Carter and Ed Keys for helping me out with those I ordered the RFM and the RFM Feather and was given a early DVI Feather as well so those should be here tomorrow and that way I can finish up the RFM guide and then I'll be able to finish up the DVI Feather guide as well because I was blocked on not having a board yesterday I started looking into an upcoming guide and have found someone to help me with it as I mentioned earlier as the topic is something I'm only now vaguely familiar with this guide will use CircuitPython to measure VPD which is vapor pressure deficit for growing plants I'll likely be growing basil but the concepts will apply to anything after beginning to look into it I'm pretty excited about this one and looking forward to it making things that are evidently difficult to do and making them simple and approachable not to mention I haven't done a project in a bit especially not a project that is a new topic for me so this will be excellent so this week I need to finish up the RB2040 RFM guide I'm going to be emailing a couple wish list items that I would like to see and learn to make my life easier and Liz's as well for new microcontroller guides it's just stuff that I've stumbled on that I keep asking myself why is this not automated it's not something I can automate myself so I will have to get them involved and then finishing up the DVI feather guide and up next next which is not right away is the USB host feather which will be Arduino only but that will get a guide with some examples and I'll be working on that I have to pick up some stuff for the VPD guide but between that and the grow light guide I think I want to do those two in tandem since they're both needed for the same concept so those will be hopefully coming up soon that's what I've got next up is maker Melissa also thanks everybody for extensively discussing the pronunciation of just or guest I was being difficult when I said guest but just keep riffing on that anyway maker Melissa hello hello last week I worked on writing a learning guide for the chat GBT bear I had showed off at show until a couple weeks ago I updated the code to use a better text to speech API and better timing the math movement to the speaking I reviewed a bunch of PRs and I updated some of the JavaScript library repos to work with NPM and this week is a short week for me so I'm not sure how much of this I'll get done but I'm finishing up the learning guide and then I'm taking a look at an issue with the ST 7 7 8 9 display driver no longer compiling on the Raspberry Pi there are a handful of new boards that are showing up as unknown on circuit python.org that need to be researched and added and I'm going to be starting working on a code for a new collab guide another stuff I'm in the middle of a big move out of state and I've been doing lots of packing and I'll be traveling this week to look at houses that's our math Thanks Melissa, next up is Paul Kotler Thanks Jeff, my project at work wrapped up so I have a little more free time so I can come back to the meeting and I can also restart the podcast so the circuit python show is coming back next Monday I recorded two episodes over the weekend and the first one will be with Danny Staple author of Learn Robotics with Raspberry Pi Nico where he also uses circuit python and that book just came out a couple weeks ago so the timing is great Thanks Alright, I have notes from Tammy Makes Things Last week she was working on documenting all of the in-flight projects for her website TammyMakesThings.com There are some links in the notes doc check those out Started the design of a simple LM358 audio amplifier and the documentation for that project and finally played around with an elect freaks microbit mini Qtbot robot kit with make code so I can start teaching my young nephew how to build his robot army This week TammyMakesThings writes fix the image display problems on my website continue documenting my in-flight projects and learn more about how to use make code and in other news lots of medical appointments this week and next but hopefully next week I'll have some answers about what the path forward looks like and that brings us to Tenute Hello again Scott Hello Like I said earlier I was out most of last week due to RNA-having COVID Our nanny got it too after I did so I'll be out off and on today and tomorrow until she's better Hopefully Wednesday will be when I'm back at my desk all day I'm working on expanding support for the other IMX RT chips and I'm looking at the 1176 which is kind of a higher tier than the 10 series but it's clocked at a gigahertz which is really quite tempting I'm looking into TinyUF2 works and I'm making progress on that which is I said it in here I'm not sure how it does but I didn't realize that the ROM bootloader on the IMX chips will copy code off flash into memory for you if you want so that's interesting I've also been adding a QSPI analyzer to PySigRock to debug some flash traces that I took using PySigRock I added support for the Salier CSV export format so I can actually use my Salier to capture into PySigRock and Salier released an automation API which is a Python module which is pretty neat so I may actually make it so that from PySigRock CLI you can actually just like start the capture and do all that which would be kind of neat so yeah that's I'm in the weeds of IMX RT still one of the goals of all the flash work is to one get it configured well so it's super fast but then also help do that now so that it can inform any further IMX RT board designs in case we need to pick a good flash with a new feature that makes it faster or whatever so those are the weeds I'm in if that's interesting to you feel free to reach out to me and then one off topic thing is I upgraded my desktop to 64 gigs of RAM from 32 because I ran out last weekend it frustrated me so that's where I'm at alright thanks Scott last item is from Tectric and I'll read that out been working mostly within the Arduino sphere as of late I've also been working on the next iteration of my parallel port C Python library it's now a C extension and it's been fun playing in the C layer underneath Python as of now mostly keeping my RP2040JS CI additions up to date with PPM updates aiming to restart that shortly also planning out the remaining items for PyCon excited to see everyone as well as help out with the first day of sprints if they'll be taking place this year and that wraps up status updates the final section is called in the weeds an opportunity for long form discussion that come out of status updates or the folks have identified ahead of time and as I mentioned before add those items as soon as you can we have one item pending so if there are no other items when we finish that one I will wrap up the meeting and now DJ Devin 3 take it away thank you I ran into an issue this week when chaining two 14-segment backpacks together they both fail to be detected by I2C I tried with multiple boards including the Feather M4 Express ESP32S2 S3 and Scorpio and the Scorpio was brand new out of the box just flash still couldn't get that to work and this was with 8.04 from last week because 8.1 hadn't even been released yet I used both regular I2C and Stemma with Stemma cables and Stemma breakout cables to the SCL SDA pins directly one backpack works fine the other one works fine but both together do not work it just it I don't know what the word is it's looking for something on OX70 that does not exist and I specifically started the pins to OX71 and OX72 so there shouldn't be anything on OX71 so I have no idea what's going on with that put a link to the discussion in the chat about it in case anybody is interested in that I did test with other I2C devices, temp sensors humidity sensors, put them all on a big chain everything worked fine on all of the boards so it's not just a general I2C issue it localized it to something to do with the backpack or the library code itself which is the HT1633 the only way I could find around it thanks to Katny for the idea was to use a multiplexer and for whatever reason the multiplexer just goes right around the issue and I have both of them working now but it uses a multiplexer which I shouldn't have to do just for two backpacks multiplexer is really only needed if you go above the 8 address limit so 8 plus backpack so I guess I'm submitting a bug report unless anyone has any ideas so that's where I'm at with that one I've never done it in the weeds so I don't know how this works but there notice that you're in your code so I don't know how the library works but it looks like you're using a two pass and a two pull to address so I would just look at the code that processes that and it's probably messing up yes are they set to different addresses and everything yeah they are set to different addresses he says okay but if you look at the link if you click on the link it says one is 0x71 address equals open paren 0x71 closed paren so that's not a tuple that's just a number because it's not a tuple because it doesn't have a comma in it but you have address equals a tuple 0x71 0x72 so I think the tuple processing is wrong that's my guess and I would just look at the library first look at the library code for the constructor for that and see what it's doing with the address tuple if it thinks it's a single value it should automatically throw into a tuple right you're right I haven't looked at the code yet it's looking for when I was trying to default to 0x70 but there's nothing that exists on 0x70 something did exist on 0x70 and I was still getting that error which is why I put them on 0x71 and 0x72 just a single that out so yeah that's but it's looking on 0x70 so somehow the default is being applied okay yeah that might be a bug on the library then yeah it seems like there's nothing about something that didn't have 0x70 I would suggest just yeah open an issue on the library okay yeah alright thanks all for that discussion Devin are you I can't see the code right now but I'm wondering if when it sees a tuple is it unwinding it correctly I have no idea I just set the addresses and let the library do its thing I don't really get I think the library may have then it's a library bug okay I'll look at the library see if I spot anything okay thanks Charles alright unless anybody else has something to add I will wrap up our meeting this has been the circuit python weekly meeting in 2023 thanks to everybody 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 the 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 python for microcontrollers newsletter visit adafruitdaily.com to subscribe and the next meeting will be held on the usual schedule so that will be monday april 10th 2023 at 2pm eastern 11am pacific this meeting is held on the adafruit discord which you can join at anytime by going to adafruit.it slash discord if you want to participate live in the meeting or to get notifications about changes to the date or time let one of us know and we will add you to the circuit python easter's role on discord it's totally free no obligation just a way of making sure that you only get the notifications if you're interested in them and with that all said we hope to see you all next week thanks everybody