Hello and welcome to the CircuitPython Weekly for September 7th, 2021. This is the time of the week where we can get together and talk about all things CircuitPython. I'm Scott, and I'm sponsored by Adafruit to work on CircuitPython. CircuitPython is a version of Python designed to run on tiny computers called microcontrollers. CircuitPython development is primarily sponsored by Adafruit, and if you want to support them in CircuitPython, consider purchasing hardware from Adafruit.com. This meeting is hosted on the Adafruit Discord server. You can join anytime by going to adafru.it-discord. We hold the meeting in the hashtag CircuitPython Dev Text Channel and the CircuitPython Voice Channel. This meeting typically happens on Mondays at 2 p.m. Eastern, 11 a.m. Pacific, except when it coincides with the U.S. holiday like yesterday did. The meeting time is changed. We'll notify you via Discord. If you wish to be notified about changes to the meeting, we can add you to the Ad CircuitPython ESA's Discord role. There's also a calendar available that we'll try to keep updated if you'd like to subscribe to that. This meeting is recorded. We record the audio from the Voice Channel and the video of the text channel. If you'd rather not have your voice recorded, you are still welcome to participate through the note stock. The video of this meeting will be posted to YouTube, and the audio is released as a podcast. If you find this podcast is not available on your favorite podcast service, please let us know. There is a note stock to accompany the meeting in recording. If you wish to participate but can't make it to the meeting, you can leave hug reports and status updates for us in the document and we'll read them off during the meeting. The note stock also contains timestamps to go along with the video, so you can use the doc to view only parts of the video that interest you most. The meeting tends to run 60 to 90 minutes, so this gives you the option to skip around. A link to the notes document is posted in the CircuitPython dev channel on the Eight of Freight Discord every week. Check the pinned messages to find the latest note stock. This meeting is held in five parts. The first part is community news. This is a look at all things CircuitPython and Python on hardware in the community. It's a preview of our Python on microcontrollers newsletter. The second part is the state of CircuitPython libraries in Blinka. This is a statistical 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. The 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 part is status updates. Status updates is an opportunity to sync up on what we'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 until the next meeting. The fifth part is in the weeds. In the weeds is an opportunity for more long-form discussions. These discussions can come out of status updates. It would 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'll get started with community news after I take my first time code. Community news is a brief look at what's happening in the wide world of Python on hardware. It is a preview of the Python for microcontrollers newsletter. So first up here, we have a meta note. We now have 9,000 subscribers to the Python on microcontrollers newsletter. The newsletter just hit 9,000 subscribers today. Please let folks know that the Python for microcontrollers newsletter is free, easy to leave, no spam. And you can sign up for the weekly email at AdafruitDaily.com and you can send news to the CP news at adafruit.com email address. And I just want to highlight that here again for this crew. This crowd of people is that if you have projects or circuit Python products that you want to let people know exist. The Python on microcontrollers newsletter is openly drafted every week on GitHub. So if you have stuff that you'd like 9,000 people to take a look at, we're happy to see and promote Python on hardware. I think that's what the newsletter is all about. So if you have that stuff, again, we just hit 9,000 subscribers. Largely thanks to Ann and all of the contributors. So it's a really cool place. So there should be lots of reasons, 9,000 reasons to participate and help with that newsletter. Okay. Next up. Circuit Python 7.0.0 release candidate one was released. Release candidate builds mark the final testing of the circuit Python 7 for stable release. It contains only a few issues still to be addressed for 7.0. The Python APIs it presents are not expected to change compatibility before the final 7.0 release. Though they may be augmented. And I did not actually list everything there because it's a long, long list. Next up in news, Micro Python 1.17 was released. We have more information here. The 117 release of Micro Python add support for F strings with a few limitations compared to normal Python. F strings are essentially syntactic sugar for the string dot format call and make pretty and make formatting strings a lot more convenient. Other improvements to the core runtime include pretty printing OS error when it has two arguments and error code and a string. Scheduling of keyboard interrupt on the main thread and support for a single argument to the optimized form of stop iteration. In the machine module, a new I2S class has been added with support for the ESB32 and the SDM32 ports. This provides a consistent API for transmit and receive of audio in blocking, non blocking and async IO based operation. Also, the JSON module has support for the separators argument in the dump and dump S functions. And frame buff now includes a way to blit between frame buffers of different formats using a palette. A new portable machine dot bit stream function is also added which can output a stream of bits with configurable timing. And is used as the basis for driving WS2812 LEDs, a.k.a. I'm adding a.k.a. Neopixels in a common way across ports. There has been some restructuring of the repository directory layout with all third party code now in the live directory. And a new top level directory shared has been added with the first party code that was previously in live moved there. The docs have seen further improvement with enhancements and additions to the RP2 parts as well as a new quick reference for the Zeph report. The terms master and slave have been replaced with controller and peripheral, mainly relating to I2C and spy usage. And the U modules references have been replaced with just the module name without the U prefix to help clear up the intended usage of the modules in MicroPython. And that is the overview of MicroPython 117. Congrats to the MicroPython team. And I think it's important for us to keep track of that as well because we're merging in MicroPython from time to time, so good for us to be aware of it. Next up, play MP3s on the Raspberry Pi Pico with CircuitPython 7. Adafruit's Catney Remboar shows how easy it is to play MP3s on a Raspberry Pi Pico via CircuitPython. There's a link there to the Hackster article about it and the Adafruit Learn Guide to match. And it seems like this is a surprise to Catney, which is funny. Okay, next up, Halloween Hackfest. Join Hackaday, Digikey, and Adafruit for a Halloween themed contest. They want to see your crazy creepy ghostly spooky and awesome projects. If costumes are your favorite part of Halloween, then why not dress up your outfit with some hacked upgrades? You could even design a ghoulish prop to add to your home's Halloween decor or light up a jack-o-lantern with LEDs. Whether it's technical, artistic, or just plain terrifying, Hackaday wants to see your projects. Check out the Halloween show and tell with Hackaday Friday, October 29th at 1pm Pacific to show off your awesome projects entered in the contest. Don't forget to also share your projects on social media and use the hashtag Halloween Hackfest. Hackaday and Digikey have partnered on this Halloween themed contest to offer three winners an online shopping spree to the Digikey warehouse. There's links there to the Hackaday. Next up, we have some Python Software Foundation news. Volunteer opportunities for Python US are available. Python 3.97 and 3.8.12 are now available. And in terms of security updates, there's also Python 3.7.12 and 3.6.15 available as security updates. Newsletter details. The CircuitPython Weekly newsletter is a circuit Python community-run newsletter emailed every Tuesday. So it went out this morning. The complete archives are available at Adafruit Daily.com slash category slash CircuitPython. It highlights the latest Python on hardware related news from around the web including CircuitPython, Python and MicroPython developments. To contribute your own news or project, edit next week's draft on GitHub. There's a github.com slash Adafruit slash CircuitPython dash weekly dash newsletter. Check out the drafts folder there. You can submit a poll request by editing the files in the repository with the changes. You may also tag a tweet with hashtag CircuitPython on Twitter or email cpnews at adafruit.com. And again, there's 9,000. As of today, there are at least 9,000 subscribers to the newsletter. So please let us know when you see cool things that we need to get out to those folks. All right, and that's it for community news. Next up, we have the state of CircuitPython libraries in Blinka. This is a statistical view of the health of the project and its subparts. It's meant to ground us in some numbers that we can track over time. So first up for overall, we have 40 poll requests merged from 18 different authors. So pretty common for us to have those 18, which is awesome. We're growing the number of people participating and we're seeing the number of poll requests merged grow accordingly. I think I recognize most of these names, so I'm not going to give... Well, I guess Avan Black is new to me, so welcome to them. Thanks for contributing. We had 12 reviewers, so thank you to all of our reviewers. You make it possible to support all these authors, so thanks again. Issues-wise overall, we had 22 closed issues by 8 people and 11 opened by 9 people. So folks are involved and we're keeping up with all the issues coming in across the wide gamut of CircuitPython. So thanks to everybody who's helping with that. Next up for the core, I'll go over some core specific numbers. Pretty big week for the core. Oh, I should say. So we're recording this on Tuesday. We normally record it on Monday, but these are the numbers taken from Monday. So the stats and things that have changed in the last 24 hours are not included in this. They'll be included next week when we go back to a Monday meeting. So for the core, we had a busy week last week. We had 33 poll requests merged from 15 different authors. So lots of folks involved, so thank you to everybody there. We had 8 reviewers for those core poll requests, so thanks to all those folks. As of yesterday, we had 3 open poll requests and 2 of them were 2 days old and 1 was 1 day old. So we're keeping pace with poll requests. Last week, we hit 0 open poll requests, which is not something we've had for a while. So good job everybody in the core for keeping up with all the PRs. Issues-wise, in the core, we had 17 closed issues by 5 people and 3 opened by 3 people. So we're net down 14 for a total of 406 open issues, which is also really, really good. So thank you to everybody there. We have 6 active milestones. We have 1 open issue for 700. This is something we think should block a stable release. So really, really good on the 700 front as well. We have 0 issues not assigned to Milestone as of yesterday, which is good as well. Overall, the core stuff is really going well and we're getting closer and closer to the 70 stable release. The first or first and second release candidates are out, so please test 70 RC1. And we'll get 70 stable maybe next week. So thanks to everybody for their hard work on the core. Next up, let's kick it over to Katny for an update on the libraries. Thanks, Scott. So this week, we had 7, this applies to all the Adafruit Circuit Python libraries. It's everything that starts with Adafruit underscore, CircuitPython underscore, as well as a few extras such as the community bundle and our cookie cutter as well. So we had 7 pull requests merged from 4 different authors and 6 different reviewers, which leaves us with 56 open pull requests. In terms of issues, we had 4 issues closed by 4 people and 8 opened by 7 people, leaving us with a total of 346 open issues. If you're interested in contributing to CircuitPython and the Python side of things, or on the Python side of things rather, consider going to circuitpython.org slash contributing. You'll find all of this information and more, all the open pull requests, all of the open issues and some library infrastructure issues. And you can, if you are looking to get started reviewing, you can take a look at the open pull requests. If you have the hardware, test it. If you don't, check the code, see if anything sticks out to you. Leave a comment that looks good. Leave a comment that says you think something should be changed. And that's a great way to get started with reviewing. And once you're comfortable with that, we can look at adding you to the review team. If you're looking to contribute code, take a look at the open issues. You can search them. They're listed by which repo they're part of, but all of them are aggregated on one page. And so you can search, you know, you can do searches by label, or you can do searches just in page to see whether any keywords stick out. And if you pick something that you want to work on, please leave a comment and let us know that you're working on it. And we are available to provide any assistance with that, through comments on GitHub or through Discord where we're available most of the week. So there's also a guide on contributing to CircuitPython using Git and GitHub, so don't let that intimidate you. And we are, again, always available to assist. So in terms of library updates in the last seven days, we had one new library, CircuitPython BLE creation, and a few library updates. I didn't actually come up with an overall, but overall, I know we're continuing to see improvements, as well as we finally got through all of the breaking changes, fixing all the breaking changes that we made for CircuitPython 7.0. And thanks, again, to FOMI Guy and LaceMRI for all their work on getting all that stuff updated so that now all the APIs match and we're prepared for seven stable. And that's what I've got. Awesome. Thank you, Katnie. Alright, next up, we'll check in with Maker Melissa on Blinka. There's the unmute button. Found it. Yeah. Okay, so Blinka is our CircuitPython compatibility layer for MicroPython Raspberry Pi and other single board computers. And this week, we had zero pull requests merged. There are currently three open pull requests, and there was one closed issue by one person, and zero open by zero people leaving a net of 61 open issues. There were 9,364 PiWheels downloads in the last month, and we are currently supporting 76 boards. So overall, not much activity. Alright, thanks, Melissa, for the update. Alright, and that's it for the state of CircuitPython libraries in Blinka. Next up, we have hug reports. Hug reports is a chance for us to say thank you to folks. Jeff is dropping in saying missing the meeting due to being a tourist. He's on vacation, but he's saying hi. So hug reports is a chance for us to say thanks to folks in our community for the work that they've been doing. I will start and we'll go around as a round robin to the folks who have added their names and or notes to the note stock. So I will take the timecode and start. So I wanted to say thank you to Cappellini for the register module cleanup and pending name for board tip. Thanks to Gambler21 for the core reviews last week when Jeff and Dan were both out. And thanks to Anne B for doing version numbers in the newsletter this week because I slacked off and they picked up for me, so thank you. Thank you, Anne, for doing that. And circling around, let's go to anecdata. Are you text only? I'll read it off if you don't hop in here shortly. Ah, lurking. Okay, so did I just miss that? Anecdata says a hug report to Naradak for helping troubleshoot an issue with boot.py. And next up, we have a group hug from Anne B. And after that, we have notes from Sea Grover. Sea Grover says a hug report to FX Music for CO2 monitor beta testing in the German translation and a group hug to everyone else. Next up, we have Dan. Okay, thanks. I'm back from vacation. Thanks, Scott, for doing the RC releases last week and fielding all the issues since you were mostly acting alone during that time while Jeff and I were on vacation and Jeff is still on vacation. As you mentioned, thanks, MicroDev, for doing reviews. MicroDev tends to do them an hour before we were asleep, so that's really great. It makes our review cycle even faster. It's terrific. And thanks to Katny for doing some audio testing on the new release, which indicates a problem with ITUS Audio, which I'm debugging right now. Okay. Thanks, Dan. And next up, we have Diherata. Pretty much all my fault in the end and then a group hug. Awesome. Thank you, Diherata. Next up is FoamyGuy. All right. Thanks, Scott. First up, a hug out to S. Patrick W. For working on generalizing the configuration for bundles inside a circuit. Another hug to Les Samurai-Pourpays for catching some additional valid types in an update I made to a dock string last week. And then a group hug to everyone. Thanks. Thanks, FoamyGuy. All right. Next up, I assume these are notes from Jeff because Jeff's not in the audio. So, Jepler says a hug report to Tanu for finishing some PRs while I went on vacation. Hug report to Hier Effect for getting together for dinner. Nice to finally meet you. Hug report to Brent for trying to meet. Sorry, it didn't work out. And a hug report to Lady Aida and P.T. for making me welcome in New York City. Nice to meet you finally. And with that, let's go to Jerry. Hi. Thanks. Yeah, to Jeff for his feather wing test tube guide. Finally got around to making one and it came out really nice. Fun project. Awesome. Thank you, Jerry. Next up is Katni. All right. So this week I have a hug report for the moderators on Discord for keeping up with a busy weekend while I was away. I scrolled through our mod channel and there was a lot happening. So thank you to everybody for keeping up with that. Hug report more of a supportive hug report to Jeff for his first visit to Aida Fruit and for keeping me posted with some fun pictures from his trip. To Justin, who is one of our learned devs for adding support to learn for all three bundles to the project bundlers. So now once we get the rest of the other community bundle and the circuit python org bundle going you'll be able to use code from all three of them in learn and the bundler will automatically grab the libraries. And a hug report to Scott for running this week's meeting for me. So greatly appreciated. My neighbor apparently appreciates it too because he's currently using a weed whacker a couple of feet from my window. And a group hug. I can relate to that. Let me tell you. Thanks, Katni. All right. Next up is maker Melissa. I just wanted to give a group hug to him. Thanks, Melissa. And last up we have notes from Naradoc. Who says a hug report to ask Patrick W for more PR PR's closing circuit issues. And a hug reports to Niko 78 85 skeleton 0 2 2. NAD series, easy and others who helped with the keyboard layouts. And a hug report to Naradoc for getting together and the repo for all the different keyboard layouts. That's awesome. Okay. And next up we have status updates. Status updates is a chance for us to talk a little bit about a group anti-hug for weed backers and leaf blowers. So that's Dave. Okay. Status updates. A couple of minutes about what you've been working on in the past week and what you plan on doing in the coming week. It's a great way for us to keep track of who's doing what and also who's doing what and kind of give tips or tricks across to other people. So I will start again and we'll go around just like we did last time for hug reports. So updates for me. Last week I got the release candidate out after some tweaks and bug fixes took me kind of two tries. But I think I got it going. I started working on partial CI runs. So this should go out today, which would be cool. So if you do like a change that's only to like pins on a single board, it'll only build that board. It won't build all of them. So that should speed us. Some of our test runs up, which would be awesome. I started some Bluetooth file transfer API tweaks in the BLE file transfer library and I'm going to finish those up and then move those to the core. So this week I'll finish up the CI partial runs. It is a short week because it took yesterday off. We'll then finish the BLE file transfer library changes and then the next step is bringing those changes to the C circuit by then core. Those two changes are adding modification time support and also allowing for moves. So those are the two things kind of the things I'm working on the next week. Circling around. We have notes from C Grover. C Grover says finish the indoor air quality Pi badge plus SCD 30 sensor. Code is compatible with a variety of boards such as Clue, Funhouse, Pi Gamer, Edge Badge and Pi Portals. And there's a link in here to the indoor air quality repo. Next completed, they circuit by the driver for the custom DRV 8830 motor controller feather wing. The DRV 8830 is a traditional single DC motor controller with a couple of twists. First it communicates via ice grid C. Second output speed is set by a voltage parameter. The chip does all the PWM for you while monitoring the motor voltage closed loop ish. Could be an advantage for projects like the string car racer. The chip package is much smaller than the currently used driver as well. So there's a link to the DRV 8830 feather wing repo. Last up, designed a ruggedized portable indoor outdoor air quality monitor for my asthmatic grandson to take on camping trips. It's an expanded version of the indoor CO2 monitor recently completed with the addition of a PMSA 003I, I think 3-1, 3-I, particulate sensor, larger battery and a waterproof case. Most of the coding is done, just need to conduct some final testing. And that's it for SeaGrover. Next up is Dan. Thanks. So I was on vacation and took about a week off and did very little Adafruit stuff. Just answered some emails and put a few comments here and there. So I had a nice relaxing time. Thanks everybody. And now I'm looking at an I2S audio problem that I thought might be blocking 700, but Catney, maybe I both can talk about it at the end or after the meeting about what you think about, what you've done. Other than that, I have not, I've just gotten restarted again. Okay. All right. Well, I'm glad you're on vacation Dan. Glad you're back too. All right. Next up is Dheerata. I'm redamming it to code.py for bubble flag purposes. And if anyone does run into a broken link for something in the learn repo, please send me a message about that. Or you can ping me whatever through flag, discord, email, whatever. Yeah. And then this week, I'm working on a few Wipersnapper guides and also making USB. Awesome. Thanks Dheerata. Next up is FoamyGuy. All right. This past week, I've been working almost exclusively in PyCharm. I used it a fair bit, but I've been kind of curtailing usage of other things to really try to nail down a group of best practices that make it really nice, hopefully, to work with CircuitPython so that I can share those. In the process of doing that, I found a couple places where the stubs could be improved, so I made a couple PRs for that. I began working on a third bundle option for the cookie cutter, but it ran into an issue where we have a bunch of the logic in the name of the directory, but directories cannot just have infinitely lengthed names, so we can only include so much. But I think I found work around with the post generation hooks to make a temporary name and then rename it after the fact, but I need to do a little more testing and validation of that this week. I wrote some code for hotkeys, HID hotkeys that runs on a Pico and it replaces the main board inside of some kinesis foot pedals that my wife got, which originally they needed some very, very, very old software in order to configure, which we didn't have access to. So now it works in the 21st century. I began a digital etch-a-sketch project, so it's using a pipe portal and some stem erotary encoders and you can turn the knobs and draw with the turtle graphics, so that's pretty fun. I've been working on that this weekend. This week, a couple improvements to that. I'm going to be adding some code for an accelerometer so you can shake it and clear the screen like the original. I am currently actually printing the back panel, so we're going to see if that fits or if that needs any adjustments. And then last thing this week, I'm going to try to look into the board IDs that were recently added into bootout. I'm curious if there's a place to grab all of those somehow with an algorithm or something so that they could be used to check which device is plugged in in a different tool. So if anybody knows about that, ping me in the discord. I appreciate it. In the tools directory, there's this called build board info or something. And it's used to generate the JSON file that has the download information for the website. So all the board IDs are kind of in both of those places. Okay, cool. I was just in there for the CI stuff, so I think that's what you need. Alright, and next up we have notes from Jeff. Jeff says likely to be seen during ask an engineer this week and no other activity besides New York City tourism, I think. So that's what Jeff's up to. And next up is Jerry. Hi. So lots of outside projects, but it's spent some time trying to get some data to understand this NRA 52A40 SPI issue that's been baffling me and others. So got a bunch of information. It's all in the issue report, but you know, learn some things are really to make any progress on it. So it's a question. I know Dan, you posted that you're going to take a look at this. I know you're just back. So don't always say you want to talk about now in the weeds or just wait for you have some time to get familiar with the problem. Yeah, I'm going to look at it eventually. Yeah. Okay, so we don't need to talk about today. If you have any questions, let me know. All right. Thanks a lot, Jerry. Next up is Katni. Click on the wrong thing here. All right. So last week published the SCD 40 and 41 guide. That's for the two sensors. They're basically identical. One of them has a couple extra features that we did not implement, but other people within, you know, a week and a half of us releasing it have implemented or tried to implement. So but those work really well. They're smaller than the SCD 30. And they're both true CO2 sensors. So if you're looking for a stem, a CO2 sensor that is in a tinier package, take a look at one of those two. Publish the MP3 playback on RP 2040 guide, which was mentioned earlier. That covers MP3 playback on Pico and on macro pad. Started the INA 219 STEMI QT rev guide update helps Melissa with parts of the 1.69 inch round rectangle TFT guide. Started on an I2S template for circuit Python, which was going to get added to the MP3 playback on RP 2040 using Pico as the example until I found a circuit Python bug with audio on RP 2040. This week follow up on the bug. Once the bug is sorted out, continue the I2S template. Finish the INA 219 STEMI QT update. Start the IS-31FL 3741 guide.  PAM 8302, the proximity Trinky, was told to order up a couple new parts, but they are not in stock. So I got to find out what to do about that. And then a lot of miscellaneous that I have on my list as well. I have a big list.  Anyway, that's what I've got going on. You help keep all sorts of things moving. So thank you, Catney. You're welcome. Alright, next up is maker Melissa. Hello. So last week I finished up the code.circuitpython.org interface and updates for now and made that live. I finished up a guide for the new 1.69 inch TFT and I forgot to give a hub report for Catney for helping me with that. And that should hopefully be published soon. And I started looking into the Raspberry Pi TFT braincraft issues. There seems to be quite a few of them lately. This week I'm working on fixing the Raspberry Pi issues. Currently I'm working on some issues that appear to be related to the backlight not turning on. Which means I need to dive into the black magic, meaning poorly documented, device tree overlay stuff. And then after that I can get back to eating guide updates. And that's it so far. Awesome. Thank you, Melissa. If you find good resources for device trees, let me know. Okay. I've been looking at those a little bit thinking about circuitpython on Raspberry Pi. But I think I realize why I don't like them so much is that the files that you see have no descriptive labels or anything in them. They're just like all symbol-based identifiers. Right. There's no address equals this thing. Right. It's very obscure and not documented well. Yeah. It's not self-documenting. That's true as well. I bet there's documents somewhere, at least I hope there is.  I mean, you can kind of figure it around if you experiment a little bit. It takes some time. Cool. Well, thanks, Melissa. Yeah. Last up, we have notes from Naradok who says, last week, finished the new release of the keyboard layouts repo. A few new languages and a generator to automate making new ones. A little circuit PR to link to the board download page if there's a circuitpython update. And this week, PR the keyboard layout module to Adafruit HID. Dig in the Mac layouts and further tests, maybe PyTest and better documentation. Finish and publish a macro library, trying its syntax to easily mix keys, consumer controls, MIDI, and other audio maybe in a macro file. That's it from Naradok. And that is it for status updates. Thank you everybody who participated. Last up, we have a section called in the weeds. In the weeds is a chance for us to do any longer form discussion that we need to talk about. And today we only have one topic. So I will kick it over to Katni for the only the last topic for in the weeds. So I in testing for the I2S template, which was to include MP3 playback, wave audio playback, and tone playback. I ran into issues with both tone and wave which use the same concept and MP3 playback uses something totally different. MP3 playback worked fine for me, wave and tone did not. Went through a lot of testing. Dan, we made an issue. Dan already looked into it. This is going to give you some background. So where we're at now is basically me replying to the last couple of things Dan posted. First of all, I was using the UDA 1334A. And I wasn't using it connected to a speaker. It's got a headphone jack on it. I was using it with headphones. Okay. I asked about hooking it up to a speaker because I didn't have little speakers with a headphone jack. And was told that no, it's not meant to hook up to a speaker. So I didn't go that route. So hooked up to headphones, I was getting silence and I used the same board on multiple other microcontrollers with the same wiring as possible anyway. It can't be the exact same wiring as Pico obviously. And got the results that meant that there's something going on which is that it worked on CMD 51. But the same code did not work on Pico and I want to say feather RP2040. I don't remember exactly what I said in the first report. Yeah. So that's a red herring and I'm sorry that I, I mean, it was, I had hooked it up. I tried UDA and I didn't read the data sheet and it was like, oh, this is just line output and it didn't drive a speaker. Yeah. So, and then it did. In some cases, it was kind of confusing to me. But I did find a problem and I have a fix for part of the problem. Right. But there's no PR yet. However, when I play certain things, it's like very easy and crackly. Sometimes it's very erratic. Lovely. When it happens. And I reproduced that same problem in 630. Okay. So I, what I have is a fix that kind of gets it back to the same not great state that it was in before. I think MP3s are working because I mean, I thought it was a mono stereo thing, but I talked to Scott about it before the meeting. And we think that the stereo stuff should work properly because of a totally weird feature about how arm chips work and their memory architectures. But I'll retest that some more, but it's not, if that isn't working, I'm not sure we can fix this for 7-0-0. But I can at least get it back to maybe the 630 state with the fix that I have. So I'll probably go ahead and submit that PR after some more, a little more testing like I'll test it with MP3s. Okay. I tried your sine wave thing, a simple version of that, or a slightly variant on that and it's now working and it wasn't working before. Okay. Yeah. So I think as long as we can get something working, it's probably fine. Yeah. We did RC at least with the discussion that I was part of with Scott knowing that we may have to do another, like even if we go stable, we may have to do another release quite quickly. Like we knew that would be a possibility. Plus like folks use stable releases more than they do unstable releases.  Like that's just a fact of life. So I think it's totally fine. It's just, I mean obviously I ran into it because trying to do this template. And the other thing is I'm also not entirely unconvinced that there's something going on with my Pico. Like this was one of the first ones released. I don't know that they, have they done a Rev or anything since then? I don't think so. Okay. I didn't think so either, but I was not sure. I brought another Pico with me so I can wire up a different one. Yeah. Just to make sure there's not something wonky with that one. Because Carter did not get the same results I did, but he wasn't using the UDA. He was using the MAX. So it wasn't an identical test. So we, you know, obviously there were too many variables. Long story short. So I do have both of those now. I got the MAX, whatever it is today. So I can test with that and a speaker as well. Yeah. Instead of just the UDA. It's a little bit weird because it's a mono amplifier. So the default is that it sums left and the right channels. So I will try. I have a UDA also and I'll test it with stereo headphones or connected to a stereo amp or something. Okay. Yeah. We can sort it out after. So what I would say is submit the fix. Then I will talk to you and find out exactly what I need to do to test it. In other words, you can tell me like wire up exactly this, this and this and try that or whatever. Once you have the fix submitted, we can sort that out and then I can do the testing for you. Okay. And I've been testing just on a feather just because it's a little easier. It's much easier. Yeah. It's very much easier. But the reason Pico happened is that that's what the template is going to be used with first. So I'll continue to test it on Pico as well as feather. Yeah. We get a different results on Pico versus for sure. Very strange, but it would be interesting. Yeah. Yeah. That's exactly what I'm getting at. Yeah. Okay. Sounds good. We'll sort out the next steps once you get the fix of it then. Yeah. Okay. That sounds good. So I'll test. I think what I'll do is I'll test it with your mp3. Your mp3 sample program is not in the issue. We just paste that in there or something. It is almost certainly not because I was only posting what didn't work. Not what did. Okay. Yeah. I will dig that up because it's on a bar or something. And the file you're using if it's not copyright or something? No. I don't think it is. Okay. I have a file that I use for testing because I can't stand listening to tones all the time, but it's actually at the trunk of our copyright file. Gotcha. I don't remember what I was using. I'll have to look. I'm mostly interested in whether or not it's a stereo mp3 file. Yeah. And I have no idea. Yeah. Okay. You can send it to me privately. Okay. Sounds good. Okay. All right. I think we're good. All right. Thanks for taking that on. Okay. Let's wrap up. Now that there's a truck idling outside my window. I don't know what they're doing, but they're making noise today. Okay. So this has been the Circuit Python Weekly for September 7th, 2021. Thanks to everybody who's 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 this meeting will be released on YouTube at youtube.com slash Adafruit. The podcast will be available everywhere that we know of. It will also be featured in the Python for microcontrollers newsletter next week on Tuesday. Remember, we have 9,000 plus subscribers. So if you want to participate, please do visit adafruitdaily.com to subscribe if you haven't subscribed yet. And the next meeting will be held Monday is usual at 2pm. Wait, let me double check. I think that's true, but I should triple check. Yep. Next week is on Monday. So next week is usual at 2pm Eastern 11am Pacific here on the Adafruit Discord server. This meeting, you can join by going to the URL, adafru.it slash discord. To be notified about the meeting and any changes to the time or day, you can ask to be added to the Circuit Python NISAs role on Discord. That, we hope to see you all next week. Thank you, everyone. Have a great week. Thanks, everyone. Thanks, everyone.