 All right, it's time for Python on hardware news. Yeah, I'm wearing my shirt to celebrate. That's right And there's a lot to celebrate because yeah, we are now up to 7 so this is some highlights. Yeah, this is the highlights. It's the highlights from our newsletter about 9,000 people who subscribe and this is over 9,000 We make it difficult to subscribe I think because we don't spam and we don't harvest emails It's a separate website. So you get a different daily good a different daily calm Yeah, and then you um you you can you don't even need to subscribe if you're on you can look at the Topics, but all you do is go to a different daily and then you know click Python for microcontrollers But what we do is we also have all of them online. I like this. I actually to be honest I don't read it within my mail tonight. I read it in the browser. Yeah, I Read it in GitHub That's true So sir Python 7 is available We went over some of the things that it has in it But I would say the biggest feature that maybe folks should check out Lot of stuff. Okay, the s2 stuff ESP 32 s2 support more better support. Yeah, we do have the Bluetooth workflow stuff Which is there, but we haven't really published about it. Of course keypad is a big thing As the logo implies we've caught up to Micro-Python yeah, this is like a great merge which was a big deal that took like a month So we merged all the way up and now we're keeping up. So I think that they were just released 117 So we'll update to that RP 2040 support, of course, you know, we did a few small breaking changes to PWM But like a lot of work actually went into it lots and lots and lots of work went into seven and I'm really excited by all of it and I'm also excited to you know, we're basically we're gonna do 7.1 You know, we always do a little bit point one maybe point two But we will be basically going next up to eight eight is probably going to be it's gonna be an eight There's no way this has not been made public. Yeah, I make I decide people like what is in their versions? I actually kind of decide do you? Yeah, I do Who is in charge of this project? I mean it's got the lead, but I We always we always kind of I think I think we come together and we're just like What would what are the things that could be the best for the community? And where the where is the community going and where can we go together? Oh, yeah, I don't look I'm never going to like pick something that doesn't make sense but you know, I feel like circuit Python is mature enough that I actually want to go back and add You know Asynchronous slash threading slash interrupt, you know some combination of the time No, no, it's gonna be all three, but some combo of that so that yeah, maybe have it some sort of interrupt support Which actually, you know, it's funny Jepler added a PR to add timestamps to keypad Events and a keypad a vector keypad is basically a list of interrupts So you you actually could you do have interrupt support in a sense of you can have Asynchronous logging of of of pin triggers if you wanted to and of course we have sleep support that we added in six For our sleepy time release, but I think it's you know, we're gonna we do have a sync IO actually in Circuit Python we haven't really played with it and we also want to make it a little more see Python compatible So definitely the first thing we're gonna do is get I was also kind of waiting because I know you know in the left The few years that we've been doing circuit Python see Python You know mainline Python has also been kind of noodling with you know threading and asynchronous and interrupted I wanted to kind of see if they ended up making any decisions Because of course we'd like to be see Python compatible as possible, but they really have settled on a sync IO Is it the best possible way to do it? It doesn't matter Chicken or fish. This is what you got. You can't have steak. Okay. We have chicken or fish and so Given that you know, I think having a sync IO and seeing how to integrate that with the You know Wi-Fi and Bluetooth stuff because we do we do have asynchronous things happening in circuit Python You know a lot of times the people the things that people want to do I'm like well, we kind of have that actually. It's the wave playback the display IO stuff the USB stuff You know I 2s is all done a secrecy. We have actually a lot of DMA stuff going on behind the scenes But giving more access to that and doing it in a way that does what people expect because I think People like oh, you don't have interrupts a micropython interrupts But if you've actually used interrupts in micropython, they don't work the way you think they do they work differently and I think We've chatted in the team, but how can we implement? Interrupted management in a way that does what people want because Python is different than Arduino and bare metal programming. It's if you're not you can't just use the interrupt vector, right? We're doing something different because the interrupt vector is used by The runtime and you're in a runtime. It's it's it's having context Where is the interrupt coming from is not it's really non-trivial, which is why we're waiting till 8? But I think we're gonna look at it in depth that we're gonna see what we can do. Okay and then We had a special video Jeff put together. Yeah, you want to talk about this before I play. Oh, yeah, we're also doing, you know a couple little things like You know ESP 32 s2 can do parallel display support I was like, oh, you know let's let's do that I kind of want to do a pie portal with the ESP 32 s2. So yeah, let's show this video jepler finally got this working Yeah, all right Jepler here showing circuit Python using the parallel bus to drive an external display Circuit Python 7 supports the parallel display bus on several microcontrollers including the ESP 32 s2 from Espressive In a pull request. I'm working on will make the ESP 32 s2 even faster and more flexible Here I'm showing just how fast my work in progress code is at refreshing the text console Depending on the display you may be able to connect to it using I to see SPI or a parallel bus Because a parallel bus transmits multiple bits at a time it can be faster than the other two But it uses a lot more microcontroller pins If you have a pie portal and I've ever wondered why the display refreshes so much more quickly than on some other boards with circuit Python This is why and that's our Python on hardware news this week Special previews to yeah, that's exciting Yeah, if y'all have any ideas suggestions for the interrupt staff projects Do you want to do with interrupts or concurrency or a sync IO? There's a thread on the circuit Python issues that you can you can post in With ideas we're trying to collect what people want to do because again, it's it's Interrupts and concurrency in a scripting language do not work the same as a compiled language. It's different Okay, it's not gonna be the same thing And we have a lot of it very skilled computer scientists all thinking about this