Hello everyone. If you're watching this after the live stream check the comments below for time codes. Should I sneeze before I started that then realize it's the light. Sorry. Sorry if I just move everything out. I have this light on pretty bright because I have a dark shirt and it's pretty light out behind me. And I'm a sun-sneezer. Ah yeah so if you we'll get started in a few minutes here. I'll say hi to folks. If you are watching this after the fact note that there is time codes in the bottom. Thanks to David for doing those. These streams are pretty long so those are a great resource for skipping around. Hello JP Constantinale. Hello Minnesota Mentat. Hello David. Hello Andy Roberts. Hello Unexpected Maker. Thank you all. Hello DeShipu. Hello Beata. And Pierre I said hi to you as well on the YouTubes too. Ah yeah sun-sneezing. Looked at this bright light. I like this shirt. I got it. I think I got it for Christmas. It's a 25th anniversary Tractor Tavern. Tractor Tavern is a local music venue here in Seattle and Ballard in particular. I feel like my camera has shifted a little bit. What is that? Am I just not sitting? If I position myself centered in the middle of it. Maybe I knocked it. Gonna be too much. There we go. Haha Duke has a cat. There's kitty cam. Hello 2231 Puppy. Hello retired wizard. Hello Jane. Welcome back Jane. Hello Paul. Hello Duke and Aditya. Hey Paul. On Discord and Hello Hams Labs. I'm gonna wait just a little while longer. Cat's moving to the sun. Just hanging out. Oh it's a kitty. This rough cat life that he leads. So yeah it was a short week this week.  And a little sad too I think. Alright I got a little bit of a jump start here so let's uh let's let's kick it off. Let's get going. So I did really move that camera didn't I? Hello everyone my name is Scott and I go by Tannute Online. I work for Adafruit based well Adafruit is an open-source software and hardware company based in New York City but I work remotely for them so I'm here in Seattle and I've been doing that for six years come August so a while now which is pretty wild. They pay me to work on CircuitPython so software side. CircuitPython is a version of Python designed for microcontrollers it's based on MicroPython and it's meant to be really really easy to program computers to do what you want. So for example this is a ESP32 C3 board and under this little metal thing there's a little tiny computer that is the microcontroller. So we work on that we make it really easy to use. The C3 is a different bit of a different beast than most of our boards but most of our boards will show up as a CircuitPy drive that allows you to really easily easily edit code. If you want to support me you can support me by supporting Adafruit by going to the URL getting ahead of myself by purchasing hardware by adafruit.com lots of cool stuff lots of cutie pies coming which are great. I thought I had my cutie pie on my desk but I don't see one. They're great little boards for all sorts of projects that's just one example of what you can find at adafruit.com.  This camera is great it's well been well worth the money it's a Sony ZV-1 in case you're gonna ask. Okay so yeah if you want to chat with me and a bunch of others outside of this stream the stream chats kind of go away what you can do is you can join the adafruit discord server by going to the URL adafru.it slash discord hop in there we are in the live broadcast chat and that's what you can see in the middle right here is the live broadcast chat on discord so this is a deep dive that happen every week at least for the next six weeks or so normally Friday is at 2 p.m. pacific but occasionally shifted to Thursdays at 2 I don't really think we'll end up doing that I should remove this from my notes that typically goes for two hours or more we tend to just shoot for the two hours and questions are welcome we've got tons of time so if you have questions I'm happy to try and answer them even if I can't answer them there's usually folks in the chat that know last up all notes are available on github with links into the videos so thank you to David and Patrick for putting all of the notes David takes the notes and Patrick's been doing an awesome job getting those all in a central place with links into these videos they tend to be really long so the video links are really helpful to like find a particular spot in a particular video so thank you to Patrick and David for doing that and yeah if you want to check that out that's a deep dive notes and I'll just paste that in the chats right now so there's a few more people I should say hello to hello see grover hello tiger bite hello rich sad hello dexter starboard starboard welcome um and bruce i missed bruce uh in the youtube chat as well so hello everybody um okay so let me double check that i've paused to these videos which i don't think i don't looks like i did and i will scooch it down what i was thinking we would do today is we could well if you have questions to answer ask them i'm happy to answer them but then i was going to cover circuit python 2022 i realized like right after my stream last week that i talked all about my version of it but i hadn't covered like the other posts that folks have done hello mark so i think i'm going to shoot for like say like we've got one more week and then and then we'll be done with it so if anybody has ideas about what circuit python should be kind of longer term goals and things that you think that it would be cool that circuit python did that's kind of what this planning is all about is saying like hey like this long term thing could be really neat and we'll talk over a lot of those ideas today but and also if you have questions feel free to ask them so one thing i do is when i i post all these blogs with this tag and so you can see all the ones this year but i also maintain a list at the bottom of all the posts i do so the first one that i wanted to just briefly talk about is i got ken emailed this into the so there's a there's an email circuit python 2022 at adafruit.com that goes to me and phil and then i blog it out so that everybody can follow along ham's lab says it's nice that you now have a big variety of potentiometers i have a friend who's getting started with analog audio circuits and this is going to make things easier for her neat i've not done a lot of that i briefly touched on synth stuff but but i haven't done a whole lot um okay so ken sent this in for circuit python 2022 it's um not super circuit python related but wanted to point out this circuito.io which could be cool for folks so it's a like prototyping like put things on a on a virtual kind of project space and figure out how to wire everything together um and they were asking ken was suggesting that we have eight different boards in there so not super circuit python because it doesn't actually have to do with the have to do with the circuit python but it's a neat idea anyway so i've logged it up um so that's the most recent circuit python 2022 thing we've done and now let's i think let's just go through and kind of from newest to oldest um what folks have been talking about so kevin here um he's done a lot of display ios stuff uh and also um oh i see a question uh what was the discord i'll give it to you a the fru.it slash discord uh seagrover asks uh when debugging with print statements is there a way to include the statement line number in the print string in c there is i think but not with python that i know of there might be but i don't know it share screen ah thank you i um yendor asks does circuit python have the ability yet to play simultaneous audio via two way files or foreground background maybe through a mixer i we do have a we do have a mixer class that can mix audio from different sources i'm not sure we've tried it with two wave files at the same time um moving the amount of data that wave files is through the memory system when it hasn't been super optimized yet is uh is kind of a uh it's tough it's really tough audio i did a lot of the audio work a few years ago and it's it's really not easy not easy to work work with so it might work is my question or my answer all right thomas has a question about a particular issue so let me actually switch to the desktop thank you dexter starboard for pointing that out that i wasn't showing my desktop oh so thomas is asking why this issue is marked long term um it is returning the address for an existing connection so um i don't think that i i think this is a tricky thing to do um and i don't okay so let's talk about billy so billy is where you're connecting to you're connecting one device to another this the device that initiated the connections known as the central the device that it connected to is called the peripheral peripherals will advertise that they can do something and then that that is what the central uses to initiate the connection um what thomas is asking for is the ability to be connected to uh as a peripheral be connected to multiple peripherals and be able to know which one you're setting hid codes to um this is not something we handle well um if we look at the billy hid library so the gist is we can only work on stuff stuff so much so long term is about like yeah it's a good idea but none of us are going to work on it right now um meaning when and when i say that is a different prioritization not like if somebody fixed it for me i would love that um but kind of jeff dan and i are already working on stuff um try to remember if hid is here so it's not what does hid use it's not as simple as just getting the the billy address of the central that you care about because um i don't think oh yeah so there's there's no current way so this is how the report gets sent just by setting the value um it is it's kind of antithetical to the way that the billy gat stuff is designed the gat is it's this idea that you are a server of values and those values are the same to everyone and so this idea that like you want to be able to do different values to different people that are reading your values like different central are connected to you is like not a simple change um yeah so it's there's that aspect to it which is like it's it's not a simple thing to do and therefore it has to get prioritized with other stuff that we're working on um and the other stuff that we're working on is more important uh for us and then the other thing is that i and i posted this um oh you want to disconnect the undesired centrals well i think yeah i guess if you disconnect this the undesired central and then don't advertise then they can't connect back to you um i think that it might be it might be pretty simple we could even look like just getting the MAC address for a particular connection might be pretty straightforward so if we just go in ports nrf common howl billy i o connection a connection object gets whether it's paired gets whether it's connected you can disconnect it you can initiate pairing you can get the connection interval max packet length set the connection interval run discovery on it discover remote services yeah so i don't think that it would be thomas i so there are a number of issues for those of you watching there are a number of issues about this um one approach is to determine the MAC address of the thing that you're connected to and it would involve modifying this file and exposing another attribute on a connection the other thing that i've pointed out on the billy issue about this is that once you're connected there's usually a device info service that um is available to you so one of the confusing things about billy is that there's the the notion of central and peripheral but those are really roles that only they only matter for who initiates a connection after they're connected like both sides can provide services to the other side and one of the one of the services or servers that one of the services that the central can provide to the peripheral is called device info service which says is a way for you to get like oh i'm connected this connection that i'm talking to is an iphone um so i think that you should look into device info service because that is going to give you a human readable version of what you're connected to it's not just going to give you a MAC address and i tried to point that out i think on the billy issue about this so if we look at that file transfer i don't remember where it was i saw i see it in my email and i respond there but i would i would recommend in in addition to talking about this MAC address stuff look into device info service i think that's what you actually want um and you should be able to do that i don't know of any examples so this is this is off the beaten path but you should be able to do that without any changes to the core circuit pipeline basically once you're once you have a for every connection get the device info service from the thing that you're connected to and see what device it is it's only really going to break down if there's no like serial number that you can get that way and you're connected to two of the same thing but i think that's probably not what you're talking about um okay let's let's keep going i know you're i can tell you're frustrated but we have a lot of people wanting to do a lot of different things and we have to be able to prioritize between them all um going back to the two wave files thing mark said it tried it phomy guy said i did manage to get it working for small stuff on the Arduino side it's not in the hid it's on the connection object right on the beli connection object huh handslab has a way to get a line number jp says mac address is what i do to manage profiles and blue micro beli yeah i'm open to adding it but hello andrew all right elie's got a question says hey i was working with the analog in features on a cutie pie 2040 and when i tied the pin i was reading from to ground on the board it was giving me a value other than zero around 160 is this normal um yes i don't know i think um i don't know no i don't actually know i would have to look into it there are weird things where pins are not the same like ground references are not the same i don't know um feel free to file an issue elie about that and we could have other people look at it into it too thomas it sounds like you're frustrated that's that's why i was thinking that hello adam okay unexpected maker says hey scott just grabbed and built the latest circuit pie for s3 doesn't boot on any of my s3 boards no issue copied over seems okay restarts never mounts no error on your zero output uh it was broken yesterday for a little while i think and then i fixed it and maybe it's broken again a lot's changing but when you mean latest i like triple check that it's like not a couple days old um okay let's go through this circuit by them 22 stuff so k-match uh posted this stuff about both 22 and 21 21 highlights birth of the bitmap tools and core starting with roto zoom and growing yay added graphical widgets for displays and touch response widgets button switch progress bar dial gauge cartesian graph and flip input icon and then display io layout to simplify widget layout kevin says i see growing use of examples for vector io an awesome set of tools for graphical shapes a learn guide on optimizing circuit python memory use and tangential the circuit by then demo the tiny logic friend a logic analyzer running on cortex m4 that connects to sig rock for analyzing i squared c and things i think that um yeah k-match is totally right k-match was one of the core people on the um display io side of things it's been really awesome um and then for 22 introductory examples of graphical widgets and input response handling more cool widgets and expansion of vector io examples um yeah k-match has been an awesome part of display io widget stuff foamy guys done a lot as well um and it's been really nice because i've kind of moved past it i'm working on other stuff and so it's really cool to see it being really mature with with all the work that these folks are doing um all right and then reasonably priced capacitive multi-touch capable little display display the super fun display interface and board i know that the asbestos folks release the hmi board i'm not sure whether that counted or not i feel like i looked this up when k-match posted this too so yeah that's cool i think all the graphic stuff is going really cool places and it's not something i'm working on okay next up we have actually these are these are first the first people that posted i said i was going newest to oldest but it's actually oldest to do this um this is from jeff epler who works for aid of fruit on circuit python um some of the goals i proposed for 21 have been accomplished like support at least one new microcontroller family and like we talked about last week we knew that rp2040 is coming uh partially addressed the problem of time required to build circuit python core we talked about that before circuit and bundle fly greatly eased problem of gathering items in learn we've got more systematic about how programs and their assets are organized and the bluetooth workflows in the wild and people are using it such as the pi leaf app for apple phones at a personal level i accomplished one of the goals i listed including 3d stuff um some stuff we started but want to keep doing is uh continue to help people grow grow into roles a reviewer and contributor which is totally important and we should do that um and then there's there's more room for how to video content with circuit python some big pieces of progress we made that i didn't even anticipate but wish i had were getting up to date with micro python and then continuing to merge in new releases releasing async ios support for circuit python and adding type stubs to the core and types to many libraries in the bundle in 22 uh jeff looks forward to implementing new drivers for hardware i hadn't dreamed of working on like old dos floppy drives adapting algorithms into circuit python let's do more image processing or maybe start doing audio processing and finding small efficiency improvements and firmware size savings when they're needed uh i want i want to both learn more about and improve async io personal project goal would be to have an interactive display that continues to update and respond to input even while doing wi-fi requests um which is a great goal and it looks forward to hearing from everybody else be honest as heart async io yeah i'm excited about that too i'm not the right person to do it but i'm excited that folks are working on it right next up we got something from rs bone who says for circuit python 22 um for the broadcom ports i would really like to have an onboard editor something simple that would allow for standalone coding but beyond what you can do on the repl i would also like to explore the possibilities and limitations of midi on circuit python and g meter commented as well about midi on circuit python yes and also i would love usb host capability to add to circuit python so common inexpensive midi controllers that only have a usb cable could be used yeah this is something that i uh i mentioned before in my circuit python 22 is like i would love to see us start to support usb host i think usb has been so beneficial for us doing well in circuit python that host would be as well would be really beneficial yeah i expect to make or we can get into the usb stuff after i go through here i just wanted to cover it different topics okay so k sprayberry says a big long thing that was uh basically talking about how our our networking stuff doesn't isn't cross compatible that well um and then furthermore it would be nice to have the library support multiple ss id's like secrets dot pi now i think only supports kind of one set of credentials um whereas multiple different ss id's would allow you to move it uh different places so that's on the forum and it's a great tidbit as well i think and let's see this is oh this is the comment here uh matt said for 22 i'd like to see more information and tutorials on the weo and the esp 32 s3 box um first working with them locally and then utilizing wi-fi and bluetooth so one of these is really easy and one of them is really hard the weo terminal has a separate coprocessor for it that's going to be really hard but the s3 box does not and so i would kind of expect it on the s3 box but not on the weo um all right him's lab is going to look at bluetooth midi on the esp 32 soon yeah i'm for an editor for circuit python like pi basic yeah but i think you need usb host i think it's it's more interesting once you have usb host so pierce got this really long uh overview of both blue micro and then circuit python so i'm not gonna show it all um if you want to look this stuff and follow along you can check out the blog um this is a really detailed post about um some all all things bluetooth i think um but let's here's the circuit python 22 section um lots of focus on keyboards um it'd be nice to support keypad extensions or gpio expanders i think natively is i think what pierce talking about key matrices that don't have anti ghosting diodes make your own seesaw very useful to be able to create your own seesaw device using circuit python yeah so that would mean implementing i squared c peripheral which we have in some places but not all not everywhere and then split keyboards which i have one of and i i was thinking again today i need to finish getting it going but the rp2040 has the problem that the uart is only on certain pins but i actually did add pio uart support um so i did let i did let pier know that and then very deep sleep yeah that sounds really tricky more filtering on circuit python.org i agree that would be good i think this is interesting um risk five is not quite the same as these cores are right risk five is really the api and then the implementation is a particular core so like i forget what the name is but like in the esp32c3 which has a risk five core it's got like a name for the core itself um it's not just risk five risk five is the api like the interface the standard api that that the cpu implements um whereas like these arm cortex ones implement like arm v seven arm v seven m for example but yeah an awesome circuit python improvements uh both the website and awesome circuit python are open for pull requests so i'd love to see um love to see people edit that um yeah phoming guy points out that folks in the discord chat are talking about um small editors and then phoming guy points out that k match already made a basic one tiger right says it would be funny to use a canned feather wing to network a split keyboard yeah i was looking at that a little bit see how people do it i square c and spy peripheral every now and then i'm not sure exactly what spy peripheral means you know one of the tricky things with native circuit python apis is figuring out how to make how to insulate the circuit circuit python code from like real-time constraints and i think it's pretty tricky with spy okay so that's pierce post um blake has a few short ones overclocking added to circuit python i think that could be really interesting how we do it exactly is tricky the clocks that go to cores tend to have other things clocked by them and so that could make it really tricky to do um tricky to do dynamically which people usually want but it's probably more worthwhile putting time into into making sleep states lower power than them worrying about overclocking but it could be wrong um blake br also says add a feature where circuit python gives test results telling whether circuit python in use is loaded to the proper platform um that can be pretty tricky because it's hard to know what board you're on from the like microcontroller's perspective that's why we have different builds um because the microcontrollers don't actually know what board they're on that could be tricky i mean if it's spy peripheral is somewhat like pio then like we could potentially add that to other stuff um list of platforms of interest for circuit python 22 oh let people log into the site and only see builds for those certain things um that's a lot more complicated than the site is right now right like circuit python dot org is all static um so yeah it's a neat idea to be able to do that and i've heard some things about like a my ate a fruit page maybe we could integrate it there instead okay let's keep going so retired wizard says yeah this is interesting intuitive flash file system commands adding it to the ripple maybe we have like an fs module but we don't want to get away from like what is proper python unfortunately um ways of dealing with sensitive data yeah that can be tricky i think there's those like i squared c things that store secrets so yeah i think i think that's going to be a really interesting world where um when we get to the point of having us be host and having circuit python kind of like standalone all right and lewis says um i would like limited multicore access to the second core on circuit python for the rp20 40 it's okay if it's just c and c plus plus but it would be cool to have a way to like communicate back and forth and i asked a follow-up about how you would do memory and stuff and didn't hear back i think it's really tricky i think multicore is really tricky ryan says if any of your viewers could please please take up i squared c peripheral support for the rp20 40 i would be grateful yeah the nice thing is is that we've already established an api for it so it wouldn't be quite as hard to implement ham's lab says i wonder if some company will design architectures for risk five and license those a hundred percent i think that's going to happen iceracy is really the one that most would ask for as it doesn't need many wires yeah so what i would do if i were to do iceracy peripheral i would find the port that is already implemented in duplicate that code into the port i wanted to support it in so that's going to be all your common howl functions and then delete it all delete all the implementations and then re put it in not directly circuit python related but you ever see those lego sites so you can catalog all of your legos and then they tell you you can build with what you have that would be kind of neat for a different learning system that would be pretty neat in fact tiger bright you shouldn't link to the lego thing because i'd be curious i'd be curious to see that i don't have any legos here but i imagine a future where i have legos so that sounds really handy and yeah i think like adafruit already keeps track of what you bought so we could do things like that of like here's all the learn guides that you could build with the things you bought i think that may be me i i think the proper way to suggest that is to actually email support with the idea support adafruit.com and give them that idea i think it's a good one especially if we're doing this like my adafruit sort of idea that could be a great place for it like here's a new guide and you already have all the new all of the stuff okay so what john says is it would be a good idea to generalize the event system used by keypad so in other core modules would be able to deliver events in a common queue and dan says take a look at this guide i agree that we can generalize it i don't know i think the async stuff is is early days still we'll see and then this is um build an amiga in circuit python better camera video input support yeah camera's gotten a long ways this year but there's a long ways to go still s and s and mp yeah this is phil's wanting to do like video mixing stuff is what he said for circuit python 22 which is pretty tricky okay okay so ask patrick w's uh did kind of a a recap of goals uh or wait has new circuit python 22 requirements and design of a system to use circuit python as a basis for a camper van or rv or boat monitoring tracking and alert alerting system and then second a 3d mouse uh design a 3d cat mouse that will work with region 360 this might also be called a jog wheel and then for 21 circuit python secrets uh not clear how we could get an os dot get environment environment stuff going package management circuit made big leaps this year and is working well enough i do think long term the download the zip file approach becomes too fragile and too hard to centrally manage but it works great for now and then circuit python cameras the notes i put together focused on higher end camera capabilities a different did create camera libraries which will work in the lower resolution cameras but nothing high resolution that i'm aware of with circuit python on the raspberry pi i wonder if it can find a path forwards the high quality camera with a 12.3 megapixel sony imx 477 camera or a sensor yeah there's a lot of work that could go there still if it showed all the learn guides for what i bought it would be a long list for some of us yeah i think a future collaboration between a different lego would be pretty awesome and lego is very specific in the correct term is lego bricks not lego's well i am not an official lego person am i uh i think it's tricky to i think it's tricky to collaborate with lego because they want uh nda some long timelines from what i've heard um hamster says python threading is pretty weak it really should be able to handle multiple cores and do real-time multitasking i've always wondered why this hasn't happened i think i have a lot to do oh this is an issue with mainline python that's part of the reason it hasn't done in circuit python is like mainline python still all all those multitasking stuff is pretty young in in regular python so there's not like a de facto de facto implementation that we just crib um and it's all been network driven as well um in c python and then in circuit python it's always come down to like do we spend our time doing multi core multi processing that very very few people are going to use or do we add a new chipset support which then a different can sell or do we add support for new peripherals which then we can also sell um like it's it's just not used by that many people i don't think we covered mine last week so let's skip over that we're almost done and then i want to talk about esp stuff hopefully unexpected makers still around i did a random smattering of things this week that we can talk about um so an who does the newsletter for us says things i'd like to support in 22 a handheld circuit python device the keyboard feathering by our toro 128182 is fantastic and this kind of gets into the like onboard experience how do you do it kind of all together and also wrote ps2 keyboard support um which actually we do have a ps2 i o that people contributed and then third and said usb host support uh which is also neat okay unexpected maker we're about there um and also says uh new home with nodes for sensors likely networked over ethernet wiznet has some nice pico base boards look to ensure networking maybe a dozen net remote nodes of the central ethernet circuit python device running circuit python would be excellent i love the retro tech interfacing i do work on ibm pc and xc computers perhaps at love to use circuit python to make floppy controllers usb to serial adapters wi-fi adapters and much more um beefy micro controller or raspberry pi zero devices but prefer micro controllers to avoid linux overhead such an untapped field there's so much retro tech that could use some love in circuit python as a family fabulous tool yeah i think some of the retro tech stuff would be really neat too let's see rich says i support your thinking on the multicore stuff scott i would use it but if i had to i could use c++ or micro python uh hands lab also points out once things move forward more with multicore arm chips there will be more demand for this and dylan agrees too i should always say if anybody wants to add multicore stuff to circuit python i'm open to it um i'm not going to say no to it i'm just saying i'm not doing it myself bye rich enjoy your typhoon cams says most developers mess up multi-threaded code too much of it is non-intuitive and really easy to get wrong creating some really difficult and obscure issues to debug 100 percent i agree with you i think it would be cool i think one of the first cool uses for multicore could be like this audio playback stuff that we're talking about could really potentially benefit from being on a second core and then um micro lab u lab is like super helpful and it's all about number crunching and that's if you're doing number crunching like i could imagine a world where or micro lab itself uses both cores just to like crunch numbers faster i think would be really cool but that doesn't mean that like python has access to it it's just like something that internally will just use to to speed things up um i'd love to see it but it could be a support nightmare yeah i'm already cracking open a support nightmare with these chips that don't have native usb i am understanding that i'm doing that c python their attempts to do better multi-threaded but among issues i read that the c python core team said they would reject any multi-threading solution that caused any reduction in single-threaded performance yeah dexter just points out if you want multi-cores just use multiple feathers that's true too and i think it the other thing i was going to say is that it's important to think about um concurrency is more than just multi-core um because i think in general circuit by then does a pretty good job of trying to utilize other peripherals to do work concurrently um so there's that it's it's important to note that it you know pio is an obvious example because it's running like its own assembly code but like doing dma to an audio output like that's concurrency it's just not cpu concurrency handsome says oh man i'm all about digital audio maybe this just moves up a bit on my list i'm working on an audio in out feathering so this makes a lot of sense for me to look into yeah i'm our inspiration for the audio stuff has always been paul paul stopper grins tinsy audio stuff we're not there yet we don't we can't compute like it paul did a great job um um but we we were it's it's got too many arduino isms to just use straight up and javascript other core stuff is sort of in a separate vm and passes messages with main yeah i was thinking about if we did multi-core stuff in circuit by then we could treat it more like multi-processing than um then like threading where it's like two copies of circuit by then they're independent and only have this like fifo between them for example tamie makes things says i'll try to do a circuit by them 22 posts this weekend but after a pandemic related layoff in a serious health crisis last year i'm trying to get back to circuit by then i'm making in 22 one thing i plan is to start doing in the next month or so is make circuit by them streaming on twitch i'll keep the community posted yeah please do we'd love to see more circuit by phone streams they there was also just an announcement of a new circuit by phone podcast from paul uh paul cutler who's in discord and i'm going to be on going to be out in a few months i think so not immediately but will be it sounds like it's going to be really cool keith says that microlab extension to do number crunching would be neat but yeah implementing it would be a sport nightmare ham's lab says paul's audio library is great 100 percent hello bryson re breakable dot com thank you tiger bite retired wizard says i played with the micro python multicore a few months ago and it wasn't stable and the communication between threads was really weak there was no way to easily talk between threads yeah linux 203 says adafruit requests and adafruit mini mqtt would be nice to be threaded so i don't threaded in the threaded sense i don't think we're going to do but i think that for async iowork we're going to do in in 22 i think that mqtt and http are definitely things that we want to think about doing all network stuff is like very benefits a lot from from async iow so i think like there's a a i o http is like the standard kind of like one of the main standard libraries it's the equivalent of requests but for the async iow world on python so i wouldn't be surprised if one thing we tried to do is like make a library like this for a circuit python that allows you to use async iow for networking i don't know what the mini or the mqtt version of that is but i think that's probably the most likely async iow stuff that we're going to be doing yeah the extra server it says yeah awaitable networking would be great yeah yeah i think that's pretty likely in in 22 if i had to guess especially as we're going further into the esp ecosystem this year all right mark mark says on said on twitter and also goes by gambler on discord for a circuit python 22 um so one good thing for me comes from the last two years it's how i fell into this community what started as a tool for my random projects morphed into me opening the hood to see what made circuit python tick and my first true open source contributions i didn't contribute as much as i wanted in 21 during doing reviews when i had the time and energy my highlight would be incorporating support for the is 31 fl 37 41 led driver into the core of circuit python allowing our dino like speeds from python so what's next for 22 i had no set plans but i've always wanted to experiment with multi-core support which is what we're talking about for the rp20 40 and how micro python allows native npy files to be imported and how that could work for power users of circuit python um but really i just want to keep providing meaningful meaningful contributions assisting others where i can and watching this amazing community grow thank you mark and also uh almost forgot i designed my first board with a micro controller that esp 32 s2 in 21 it was amazingly quick to get circuit python running on it the board is very much a work of progress but seeing my own board run circuit python was pretty wild i can relate to that uh does whiffer snapper use mqtt uh i'm not sure brett brett would know circuit python show tweet um eight carestring points out that http x is another one there's a couple async http libraries and mark says when i never have to type the is 31 fl 37 41 again i'll be happy i can relate to you i can relate to that um all right so last up we have uh just a quick thing for mark s uh who just emailed in and said uh i'll summarize was basically wanting to encourage us to be more sciency in our projects um they talk about earth science projects and botany mycology habitat monitoring crop science pollution detection and quantification climate change research just to name a few um i think one of the challenges with this stuff is just like doing hardcore sciency projects requires hardcore sciency people and i don't know necessarily know that there's a lot of folks at ater fruit or who work with ater fruit to do that stuff so i'd say that if you're in this category of like very uh hard sciences oriented folks and you have projects they reach out to us show show them on show and tell and then maybe we could get projects built off that all right i think that's it for circuit python 22 so i know there's a number of you watching and if you haven't posted anything i'd love to hear your thoughts about what you'd like to see in 22 uh for circuit python uh as we talked about last week for me personally it's going to be a weird year because i'm going to be taking 18 weeks off uh because we're expecting our first child which is exciting so uh it's not not work i'm going to be doing necessarily um but i think the cool thing is we have a community of people working on stuff and by talking about these longer term things like there's a number of folks in the discord chat and the youtube chat who want to see like multi-core like you can imagine those folks getting together and working on multi-core together um and last year the folks that were working on all the graphic stuff is a great example of that as well so i think that's a cool way to do it and i think that's why like these annual planning things are important baby tongue yep looks like whipper snapper does use mqtt i'm bad about writing of projects too hello oats and honey and michael i don't think i said how do you either hopefully i said it right okay we're an hour in we've got an hour left so let's switch gears into esp land does that sound good i'll take a talking break and drink some water if folks have questions i'm still very much open to questions obviously c grover says for stem use would be nice to have a standard data storage and automation protocol supported in circuit python what do you mean by automation protocol data storage there was um there was some interesting stuff in micro python done for a sequel light which i think it would be really neat i'm a huge fan of sequel light it gives you all the power of sequel without having to run a separate service which i like all right let's do esp so it was a short week for me in the us here we had monday off so i didn't get a lot done my main overarching project is i'm working on adding ble support to the esp to the espresso port so the espresso port was originally done for the esp 32 s2 which is the first esp chip that had native esp and then micro dev did a lot of work to generalize it so now it's c3 and s3 as well and we actually want to add esp 32 support um in the future too seamy makes asks how many cores are on the esp 32 s3 there's two main cores and then there's i think there's also a low power core so three technically um so the way that we have it set up right now with circuit python is that the the wi-fi and the bluetooth stocks should run on the pro core which is short for protocol core which is core zero and then circuit python should run on the second core core one um along with tiny usb should run there as well um so that's yeah two two is the answer that people will mostly think of we don't use the third one scientific instrument control like i triple e 488 yeah i just i think the sciency stuff is just like i've never gotten into the the weeds with that stuff i think it's probably better served by people who know it better so creating circuit python issues is a great way to find other people to work on stuff like that with i've been known to make my own standards i'm guilty of that um okay so branches wise uh if you want to follow along with the b lee work that i've been doing the best way is to go into my tanute circuit python and then look at active branches and you can actually see i have a lot of active branches right now i've been doing a lot of random stuff but there's this esp b lee esp b le and i they made it harder to compare the branch against the other stuff um but the the gist of where i'm at with esp b lee support is i did what i was suggested for the i squared c peripheral stuff earlier which is you take an existing implementation so i took the underscore b lee i o implementation for n or f and i duplicated it into the expressive port and then i deleted as much as i possibly could um all the stuff that was like specific to n or f and then i worked to get it compiling on the esp and the reason that i was and taking that approach i didn't get as far as i wanted to but the reason i'm taking that approach is that i'd like to get it compiling even if it doesn't work so that as i add things that i think should work i can test them right the other way that i could do it is i could like take all this n or f code replace it with what i think is the right code and then just work to get it all working all at once and that's a good recipe for not being able to complete anything um so it was it was interesting even because i there was a few things that i just like switched a little bit um hams i was suggesting get beyond compare it does nice things with get i actually have um i play i pay for a sublime merge so if we want to look here we could do that so like here's esp b lee these are the this is the last commit i made for it here you can see that this is like i duplicated the files i deleted more stuff i made compilation fixes so i had to do things like you know add more headers and then what i was working on yesterday was i actually had to tweak like the cmake lists file and the make file to actually get the libraries linked in um i really like the sublime stuff so i use sublime text and sublime merge was a pretty obvious thing to do as well pierce is how much power does the esp 32 s3 use with b lee no wi-fi uh assuming wi-fi will take a whole lot more i have no idea maybe unexpected banker knows but uh i haven't gotten there yet it doesn't work yet so i can't tell you i have no idea probably not as good as nrf because nrf is quite good but having b lee in wi-fi on the same chip is going to be pretty nice like i have i did this when i did b lee a while ago i did broadcast net which was this idea of like you can take nrf boards and scatter room around your house and they'll advertise sensor readings out and then you have it in in the broadcast net guide it's it's raspberry pies that are listening to the b lee traffic and then using wi-fi to write it to wherever you care about so i'm really excited to be able to switch that from raspberry pi to just uh esp 32 s3's or even c3's um very inexpensive things that could bridge but then again like if they're so inexpensive you could just use wi-fi directly as well um what i i usually use thinking more about hands lives talking about merge here what i like sublime merge for is actually it's a great if i'm i do printf debugging and so this sublime merge is a great way for me to find all the printfs and just revert them so you can do things like drag this and say revert these lines unexpected maker doesn't know power consumption numbers either it's all early days so yeah don't know carouselings says in my experience wi-fi is pretty power hungry my esp 82 66 strange triple a double a batteries as if they were yeager shots on spring break yeah and the standard lady to answer is if you care about power you should measure it yourself the the ppk2 i have one uh that is the tool i use i don't know where it is it's not under my desk like i thought it would love the factory asks are there any examples of in circuit python doing double buffering aka glitch free bucket logging maybe via m2m i don't know what that means i don't know what you mean by that unfortunately uh dcd says speaking of power consumption how well does the nordic power tool work with measuring other processors power usage so the ppk2 is is designed to measure power flowing through it not it's not it not the power itself it's it's got where is it i know i have one and i thought it was under here oh here it is time for this and i'll switch views yeah so these run like a hundred dollars um and they are actually just an nrf 52 840 you can see it here um but they got a nice diagram here where they show you there's just four header pins here for power in and power out and then it measures how much power is going through that um and then there's actually like you can do pin capture on a logic port as well um and you can see usb data and power and then also usb power only um and then this is like this window gets lit up by like rgb leds um but yeah there it's been really great i was using it when we did the esp 32 s2 low power stuff this is the tool that i was using for that i have a more expensive um joulescope that i got but it's like 700 dollars so the ppk2 is just a great deal um it's a great deal and it was totally it totally enough for what i was working on so yeah if you need if you need power stuff then it's then it's really really helpful people are like what can i expect for this power consumption and it's like there are so many variables that you just need to you need to measure it um thomas asks do you have any information if there are nrf 52 840 successors on the horizon with more ram memory um i would not expect more stuff in the nrf 52 840 family because they actually do have the next generation of Nordic chips already out um the nrf 53 40 i think is what it is i think this is their the the newer Nordic stuff um let's see what it's got so it's a dual core bluetooth 5 3 sock supporting bluetooth li bluetooth mesh nfc it and it is uh 512 k ram it's two processors one is 512 k ram and the other is 64 k ram so yeah we we know what the next generation nrf stuff is and we haven't really gone we haven't added support for it partly because um nrf has nor oh desktop sorry thank you we need to figure out how to have the chat control screen alone right um yeah so this is the as far as i know this series is the newer generation of Nordic chips the nrf 53 40 i'm not sure you can get them i think they are more expensive but one of the reasons we don't support this is they stopped doing the Nordic soft device support and they they're moving towards zephyr is my understanding and we don't have zephyr support in circuit python um so yeah there's a newer Nordic chip already out with more memory but we don't currently we don't currently support it and then this 91 60 is uh cellular oh but the 53 40 does le audio but yeah you can see it's the 53 series versus the 52 series pierre says the 53 40 haven't seen any modules or anything using them did that say dual n 33s yes dual m 33s my understanding is that the cortex m 33 is like a successor kind of of the m4 you could also use one of the in a breakout boards i think that i my understanding is the the reason that the ppk2 is nice is that it's the software on it's written to be able to do very high dynamic currents um and i don't if you just use a breakout board i'm not sure that they do that well um right the 53 40 is dual core one for the radio one for your stuff and ham's lab linked to in under a space video on esp 32 low power the ppk has an nr 52 not not 53 40 i think it's a 52 840 and why didn't they expose bluetooth connectivity that would include having to make a nap for it probably and you can't get as much data over bluetooth as you can over usb and i expect the maker says i get asked every week on my discord how big a battery will i need on the tiny pico to last eight hours that's it no other info drives me back crazy ryan says the second core is basically just a built-in hci adapter so if you can get the ipc to work on bare metal you don't need zephyr oh you know what um that reminds me ryan one of the reasons i'm excited to be working on beli for the esp chips is that they have two host controller uh host implementations they use bluedroid for the esp 32 because it does classic bluetooth but then they use nimble and nimble is this kind of grew up at the same time as zephyr and really hasn't quite taken off but it's a lot more separated than the rest of the system um so nimble is another open source uh stack and i was looking and they do actually have nrf 53 40 uh support so if we look in apache my new nimble like they added uh support for the nrf 53 40 um so i'm hoping what would be really ideal is we get esp beli working it's actually using it's using nimble it's not so not very esp specific and then potentially hopefully we can then maybe swap out soft device for the 53 or the 52 840 and the 833 and just use nimble kind of for both nordic and esp and then nimble has support for the 53 40 um which would mean that we can then um we would be able to support that new chip as well which would be cool pierce says i get the same questions for wireless keyboards how big a battery drives me nuts too yeah yep it's a tough problem and batteries changed too the ppk2 is great though because prior to that the best out of the box solutions were like 600 to 800 dollars and the ppk2 is only um 100 i don't know if we have any in stock no we don't so you could subscribe to this but yeah they're a very handy tool if you carry if you care about power consumption um okay so we've talked about esp beli we've gotten sidetracked by nordic chips um so if you want to follow along uh this esp beli branch is where i'm doing the work um i've gotten that all the inner nordic stuff stripped out and i got it uh compiling which is great um and yeah pierce says and then they want rgb for every key and they use a lot of power yep yeah um dylan asks how about how much does it cost to 3d print slash machine slash injection bold something there is no more info than that provided not even a rough object size oh yeah yeah i don't know it's a good teaching moment it's a good teaching moment and it takes patience i'm very thankful for all the people on our discord who have more patience than i do to answer questions like this so thank you all for helping helping people learn okay so for this esp beli stuff it compiles i had to figure out how to get the linking right because i did actually change a few things to actually start calling in the nimble so that was really good and then the next steps for that is there was like advertising and scanning or the next things i'm going to do oh tiger bite says digikey has a bunch of ppk2s in stock is it me not falling closely or has it been a long time since a new product was leaked in the stream and turned and then turned sold out in less than an hour yeah i don't think i talked about new products recently on the stream we did have lady lady aida on last week but ppk2s are a digikey and a mouser so if you're doing power stuff that's that's your answer and that's really true for pretty much everything if you're doing debugging of like i squared c or spy you should really have a logic analyzer as well thank you cams unexpected maker says i used to be quite patient and explain all of the variables and why can't give them an answer now i almost reply how long is a piece of string yeah that's why it's great to have a community that can help you when you're not patient i do find myself doing like forum support and if i go through the forum and i'm just like i can't help this person i just don't right like i'm not obligated to reply people and there's other people on the forums that are really helpful too so i think it's important to remember that of like you don't have to other people could um okay so getting your compilings are a good thing i want to do scanning and advertising next and then once you can do scanning and advertising then you can do connections once you do connections then you can either go into how do i store my bonding information which is a whole tangent or doing the service and characteristic and descriptor discovery stuff which is going to be tricky so i'm going to start with scanning and advertising and we'll go from there and i had to remember to tell myself that um if i need to reference the code that i was deleting i could just like an nrf port there was like a couple like i've done some ports before where i just comment everything out because i want it as a reference but the problem with that is that it makes the diffs when you do a pull request really complicated um so it's much better to just show added code rather than have a bunch of deleted codes deleted code as well he says there's an art to balancing mental health and time when it comes to helping others online wireless keyboards still scare me with the lack of encryption on most of them not that i think that anyone would stiff my keyboard packets i guess just pointing people at the ppk2 and say go at it works for me okay so i wanted to make more progress on this esp buley stuff than i actually did but lady aida was working on both the s3 and the c3 this week and so what came up was kind of like some more like core issues that we just had to fix so i thought i would just look through talk those over and um just highlight them by like what pull requests i did this week pierce says answering the same question over and over that's why the zmk folks created their power estimator and they only point to it now interesting i didn't think zephyr did low power very well is that not true i know that they i know it's on the radar but i i didn't think they'd actually done that yet okay let's take a look at pull requests that i've authored did a lot this week okay so only make circuit python read only with usb i just did this today and it's still building it's a really simple change where in main we will set the internal red the internal files system is writable by usb kind of as we're booting up but uh i made it i made a change so that if circuit pi usb is disabled meaning zero then it won't actually make it writable by usb because that makes it not writable from circuit python and this came up jerry was asking about this for the esp 32 c3 um which doesn't have usb support and you weren't able to just like open a file and write to it but with this change we will automatically for all builds that don't have usb will just allow you to write to it directly um and jerry tested it and said that it works with amp so that's a good advanced way of doing circuit python on boards that don't have usb the default second core firmware uses hci yeah i mean we have i've talked with lady eight about supporting the nr and 53 and it's just not been you know it's a mix of price and availability it's just not been not worth it if people want to add support for it i'm open to it but i think we we're foreseeing more esp chips coming and being available like the s3 and the c3 so that's where my focus is right now and then jeff's doing floppy disk stuff and dan's doing uh more usb work for uh multiple for showing multiple mass storage drives through um through usb that's what dan's working on so i had to ban somebody untouched i watched this hackaday presentation of this guy in dalis that reverse engineered the smart power meat engines there oh nice i've been me i i've youtube's been recommending that to me i was curious i would love to get the readings from my meter here just to know what my power use is the mk is a keyboard built on top of zephyr they're focusing on the nr of 52 840 but are expanding is that if you need to troubleshoot your hardware you have nothing to work with unlike circuit python or or do we know interesting i didn't think they did low power that well in zephyr yet but maybe that's wrong filming guy says multiple drives like being able to directly see and change files on the sd car plugged into a pie portal would be amazing yes that's one of the reasons we're doing that the other is floppy drives can you see a theme okay um so that's one thing i was doing that's not merged in yet we got this report of a pink feather rp 2040 feather not working and we discovered that there was a different flash chip on it um it seems to have worked without this pr but i wanted to make sure that we had both possible flash chips listed there yeah web vs cases the remote ocon hash outsmarts a smart meter yeah i think that's um i think that's the one live minute to minute power reading is the holy grail of collecting your own data yeah i've got some power plugs that that check it out but um i haven't done a lot with that data that's the that's the cracks um okay so yeah i did a lot let's see switch circuit python decor one on s3 that's pretty straightforward and i talked about that earlier today um and that did cause a couple problems um i did that and then i also did a fix to fix some builds the s2 builds were working but i i changed if if there's no external ps ram we had like a hard coded value for how much heap we would request and now in circuit python we'll have different values for that for the s3 and the c3 so on the s2 we only request 48 k but now on the s3 because it has 100 and something odd more ram um we request 176 k so the idea being that we like are kind of like resource constrained about like how many connections we have um but we use the rest of that space for the for the circuit python heap so this only applies to boards that don't have external ps ram um but it could be kind of interesting and then for the c3 it's going to be 88 k so that's your circuit python heap size on these different boards so now it'll vary um and then next i have the esp 32 c3 board which is the board i was showing earlier this board here i added a board definition for um that's in this pull request and then lemora reported that uh with her wi-fi demos or wi-fi tests they were crashing a lot um and what i found out is i did a debug build and i loaded it up and uh discovered that um there was an assertion error when i was doing a debug build and the assertion was that i was releasing a lock that was taken on a different core which is very weird and so i think this is the first circuit python multi-core bug that i've ever fixed um so the wi-fi stack is running wi-fi stack and beli will be running on the first core circuit and that's what starts up first and then it starts up circuit python on the second core but it turns out there's the timer task that the that the esp uses for timing both like stuff you want to time and stuff that like wi-fi and beli wants to time and that runs on the first core as well and so we use that for supervisor ticks and so what was happening is that supervisor ticks was calling circuit python code from the first core while the second core was still running um and that was a problem that's that's how we were getting uh the first core grabbing a lock that we were trying to manipulate on the second core um the shelly plugs yeah the holy grail of whole house collection so um basically what i had to do to fix this is the esp idf has a way to run ipc calls so like inter processor uh calling so basically there's a task on each there's a free art test task on each core i think that um from the other core you can say like hey run this and this other free art test task um so that's what this change does is um in a multi core environment we use this esp ipc call um to run so the main task in this case is circuit python so we say call tick on circuit python core with the task affinity that matches the main task which is circuit python and then we have a separate function here and if we're in a unicorn like the s2 we just call it directly we don't go through that uh little jump um and there's two different ways of doing these calls one is blocking so you wait till it finishes but we don't actually care about that we just care that it runs on the same core so this uh call that runs on the first core only waits until the function starts on the second one and then it can give it back which should be better hopefully um so that was the thing i fixed let's see i found that neopixels were weird i was being blinded by the neopixel on the s3 dev board i have and one thing was that uh circuit python would float uh pins that it wasn't using it would float them meaning that they uh don't have a pull up or pull down they just are kind of at the whim of the environment and therefore that causes like the values to just like bounce and that when the neopixels read listening to that floating bounce it can get all sorts of random values out of it um and so i changed the way that we reset pins on the esp's uh we now will call um the gpio reset pin which is the idf version and it ends up pulling up all the pins and that prevents the floating uh but when i did that i did have to do some tweaks to neopixels um um one thing i did is i measured the timing and the timing wasn't spectacular so i tweaked the timing values uh that are used for it and then i also discovered that um in the new blinking status patterns that we do in circuit python um neopixels in some cases you send them their colors and then you have to wait for a while um for it to take effect and uh in particular the new ws-28-12s have a 300 um microsecond microsecond period that they need to be left alone and um that gets invalidated if we de-init our pins and pull them high really quickly so uh these this is me tweaking the values um and also adding a buffer of like don't send them so fast that we don't have that and then uh then i added a guard in the status led stuff so that the status led both wouldn't i guess i don't have the it doesn't worry about sending a subsequent one but it does make sure that um before we reset the pin we've waited the reset period what i was seeing is that it would like blink on red and then it would deactivate so fast that the red wouldn't go away uh because the the the data send for zeros would not be followed by like the the low period that it needed ham's lab says uh the phrase pull up is going to have a different meaning in the next year i know what you're referring to i think i don't think our kid's gonna get to pull ups in the first year though i think it's gonna be all diapers all the time although pull up i guess could also mean them starting to stand which they will do in the next year bc hydro allows users to buy a third party device that can get real-time data for your smart meter connect resonance all right so this neopixel stuff also did the reset pin changes that's what this is you can see we're we had this copy of pin reset that floated instead of pulled up which i got rid of because i insisted on it and i shouldn't have i i i hadn't realized that the lower power state for pins is not floating it's actually you it's actually lower power to pull um which is somewhat counterintuitive to me but um the reason is that the pulls are really weak and the uh what can happen is there's an input buffer this is like a transistor and that transistor will like alternate and fluctuate with the floating values and actually take more power than than the pull up resistor would um which is interesting and i found a i found a pdf about that at some point uh so you could find it but basically yeah it's better to actually pull your your your pins when you're not using them so that's good that's a big change and it has knock-on consequences for example i broke all of the i broke a number of builds which is weird um like the cutie pie didn't work but the feather did work and the metro did work but the cutie pie didn't work and what i think i figured out is that um i was resetting the flash pins which you shouldn't do because they're in use and uh so what i did is i refactored like the pins that we just never reset um so we have this notion of never reset which you can call but then in the implementation for pin resetting you can actually just say like if it's this number we just never do it so i actually made board definition simpler like any board that has usb will now we'll just never reset it i did have to add the notion of what double tap pin every board has because double tap is checks whether the value of the pin is high um and so if you hit the reset button and we had pulled it up you would end up in the u of two bootloader you wouldn't you wouldn't go back around the circuit python so now circuit python has to pull that particular pin down to get the right thing all right david would like the low power pdf i'll try to find more did i oh power with a look at my history oh you know it might be this i think this is it avoid floating unused pins i think this is what my brain's thinking of i will post a link i tried to look for something esp specific but wasn't able to find it okay so i i simplified a lot of this and there were some boards that were already never resetting the flash and ramp pins which i deleted them here because further down on in the port i just made it blanket do that so there's now this internal reset pin if you're on s2 or s3 then this range of pins never get reset if you're doing octals by ram which some of the s3 modules do then these five additional pins are in that category if you have usb then 19 and 20 are considered if you're on a c3 then there's different flash pins there and then besides that then we'll reset it and if it's a double tap pin we change the pull up values so so yeah i tweaked that and then i changed the the compiler optimization for debug builds because it didn't fit when i was debugging it so yeah that brings us to now so unexpected maker said earlier that the s3 wasn't working so maybe i will just try it on what i've got here let's just test it i just restarted my computer so i'm gonna have to do the environment stuff this is the c3 writeable build so it's fine to just do okay pretty good on timing i have it working if i build from idf 4 4 rc1 you had to change the idf version that we're on is the rc1 newer we're currently building off a a different branch of the idf seems uncertain by the boots the serial device is no longer available the serial you mean the uart serial i think that should be only enabled if you're doing a debug build i think it's how we do it i was frustrated with the not the c3 not the c3 but the qt pi s2 doesn't have the default uart broken out which is kind of annoying when i was debugging it um okay let me do uart i just built against my idf install circuit by then he's using 4 4 dev usb serial device no it should work usb serial should work on s3 we'll see we'll test it it's gonna update oh are you on s2 and it's not working let me tell you these s3 dev boards are quite nice i wish there was an s2 in this version having the two usb plugs on has been spoiling me i actually have a feather s2 right on my desk though that i can test with as well i thought you were meaning it wasn't working on s3 as far as i know it should be working but there is stuff there is an s2 version with two usb boards really how do i get this dev kits dev kit c oh i want dev kit m don't i need to s3 series i thought it was dev kits oh the gravatec cucumber boards ah here we go it has all the s3 pins exposed but yeah that looks like what i want yeah these solos are the ones that are older all right did did did you key have this i don't know does adafruit carry them shall order these you can actually get them exact match can ship immediately look who's gonna make a digit key order today like i'm sold on that i'll tell you that much it doesn't have should i get two new pixels in the cart i'm pretty sure i got these those are for my keyboard oh there's a oh rf evaluation boards and kits in stock i don't care about part status and let's just do expressive s2 salas not what i want c3 this is what i have 32 dev kit i just got here wise scott getting the old and busted s2 board i want the dual yeah i have i only have the cello i think i've got an e it enough esp 32 this is the s3 kit ethernet i am not gonna miss the cello this only's got this is the solo what is this one sorry if you can hear my fan i don't know why it's spinning up they don't have a flash or they don't have a ram but that's okay mm-hmm it's kind of weird this expressive didn't put a second usb connector on the cello i think they learned their lesson oh with one i don't want the u one if i can get away with it ash kit pico zero c3 all right well i think that's the one i want that'll be nice i like their naming i like their newer naming scheme the like and and then the r and for flash are for ram that board should have two megabytes ps3 all right well let's you know what i like to do on digikey i know usually i'm not aware of this category but what i like to do is i like to do in stock usually new products and then sort by price but um because this category is not on my radar i like to just do impulse buy now sir's got that kit i don't care what the price is if i buy 10 000 look at that surprise surprise it's all the esp's but yeah i have no love loss for this cello form factor but i think that all of these solos are don't have ram in them just these again oh is this still with expressive only oh yeah like 82 66 433 cypress bluetooth board micromod update tool hey a feather usb programmer more cypress billy is that the like they cypress bought the wi-fi division from broadcom we were just talking we were talking about the s2 and just being able to easily test it i was saying how much i like these s3 boards and somebody pointed out that there is an s2 board with two usb's on it as well so i was like oh does digikey have it and they do so now i'm going to be like what else should i buy from digikey since i'm gonna make an order i don't think there's any expressive dev kits that i need i think it's fun that there's like i have this i think it's funny that there's eight of fruit stuff in here cypress nordic nrf 52 40 dongle already have that network transmit stuff i don't care about my like impulse buy is like 20 bucks or less which can get me into trouble let's be real smart speaker dev kit oh from m5 stack interesting j tag across usb s3 i think i picked up the amoeba one this is a module actually daughter card the artemous serial to ethernet did you expect me to just browse digikey on the stream yeah i wish i should go through my dev boards and decide which ones i don't want still but they they can be really handy if you need to debug stuff blue gecko from silicon labs i always wanted to like use a silab thing but i never ever found one that was worth it psox psox require that like separate ide better you browsing than me i'd be unpulsing buying all the things i have a lot of these things already browsing digikey on the live stream is proved popular by the more yeah we'll definitely check out the microcontroller dev kit category as well well thanks paul have a good night i know we're gonna we've run out of time here i see anything usually what i'll do is i won't look through everything like i'm looking through now i'll only look at new stuff which i'm about to do i'm always looking to see what the new microcontrollers are uh esp 32 power over ethernet interesting i don't usually look at this category that's what so i'm here ndk with case that's kind of neat z wave z wave could be cool for home automation stuff all right let's get out of here out of this i do want to look at the dev kits too maybe i won't do that on the stream i should finish my thought with this so let's just hit reset and actually switch the usb over to native usb and we should see it pop up unless it is broken which it looks like it might be a little bummer maybe i didn't fix the issue it doesn't even start up for me yeah so it's rtc software cpu reset was it broken again so it's not just you an expected maker sometimes it mounts sometimes it doesn't this is interesting let's see if a debug build all right we should call it because i know people kind of plan around the two hour mark um all right well let me wrap up uh if you want to follow along i'll probably keep working on this i just won't be streaming so join the discord server we're chatting there we'll probably chat and circuit by them dev you can join by going to the url adafru.it slash discord i'm going to take a look at this expressive bug and also make an order from digikey thank you all for hanging out let me i'll switch to here uh as always my name is scott i work on circuit by them for adafruit you want to support me you can do that by supporting adafruit they pay me to do these streams and they pay me to work on circuit python you can do that by going to adafruit.com purchasing hardware there uh we were on digikey just a little bit before remember that if it's out of stock on adafruit.com it might be in stock on digikey so don't forget to check that out as well if you do want to join the discord the url is adafru.it slash discord uh go ahead and check that out um again i think next week i haven't checked my calendar but we should be on friday we do have a limited time period for deep dives because again we're having a hit and so that's not going to happen um we'll get some catpets in here don't worry uh last up i want to say thank you to patrick and and david for doing notes and collating them and linking them up so i thank you both thanks david for taking notes patrick thanks for getting them in the repo uh we really appreciate it and uh please if you haven't done a circuit python 2022 i'd love to hear what you have in mind for that um consider it like uh we have one last week and then we'll kind of like close it down and i'll stop bugging people so with that uh thank you all i'll take the mic off pet the cat and uh keep on working after that so we'll go to cat cam usually gets on my lap app all right have a great weekend everyone


Tight on time but ready to advance your career in medicine? No problem! Invest in your future with our 8-week self-paced patient care technician program. With unlimited access and no assignment deadlines, you'll learn through interactive activities, patient simulations, and more. Need assistance with your coursework? No problem! Simply reach out to your instructor for personalized support. Invest in yourself, help patients in need, and find meaning through medicine. Sign up for your PCT certification course today!


Hello, I am welcome to the session. I am Deepika and I am going to help you to solve the following question. The question says, find the sum of first 25 terms of NAP whose nth term is 1 minus 4n. Now we know that the sum of the first n terms of NAP is given by Sn is equal to n over 2 into a plus n where a is the first term of NAP and is the last term of NAP. So this is the key idea behind our question. We will take the help of this key idea to solve the above question. So let's start the solution. Now according to the given question, the nth term of NAP is 1 minus 4n. So we have An is equal to 1 minus 4n. So the first term of NAP is given by that is a is equal to 1 minus 4 into 1 which is equal to 1 minus 4 which is further equal to minus 3. Now we have to find the sum of first 25 terms of NAP. So 25th term is the last term of the given NAP. So a 25 is equal to that is the 25th term of NAP is equal to 1 minus 4 into 25. This is equal to 1 minus 100 which is further equal to minus 99. Now according to our key idea, we have the sum of the first n terms of NAP is given by n is equal to n over 2 into a plus n. Now here we have a is equal to minus 3 a 25 which is the last term of the given NAP is equal to minus 99 and n is equal to 25. So on substituting these values we have s 25 is equal to 25 over 2 into a which is minus 3 plus l which is minus 99 and this is equal to 25 over 2 into minus 102 and this is further equal to minus 1275. Hence the answer for the above question is minus 1275. So this completes our session. I hope the solution is clear to you. Bye and have a nice day.


Tom Cotton explains why warmongers love the Wuhan lab leak theory. At a recent appearance on Sunday night in America with Trey Gowdy, Arkansas Senator Tom Cotton took a break from masturbating to drone bombing footage to explain what it is he and his fellow psychopathic warmongers love so much about the hypothesis that COVID-19 originated in a Chinese laboratory. I think the American people deserve to know what caused the worst pandemic in history, Cotton told the show's space alien host. Look, China should be made to pay for their negligence and their deceitfulness at the outset of this pandemic, covering up its origins, not being open about what is happening in the lab in Wuhan. There's lots of things we could do to impose accountability on China, Cotton gushed. We could, for instance, work their allies to ensure they're no longer getting sweetheart deals from international financial institutions like the World Bank. We could repeal the permanent most favored nation status we foolishly gave China 20 years ago. We could cut off visas to Chinese Communist Party officials and their princeling kids who like to come to America to go to school. But if it turns out that the Chinese Communist Party and their labs were responsible for a lab leak that caused this pandemic, just imagine what the American people would demand in terms of accountability. What I said would just scratch the surface, the senator said, and the American people would be right to demand that kind of accountability. Cotton has been pushing for a full impartial investigation into COVID-19 origins, with a special focus on the Wuhan labs, and he knows full well that there is no mechanism in existence which could carry out such an impartial investigation. There is no reason to believe any investigation into the Wuhan lab would not be heavily biased toward a pro-US narrative and used to manufacture international agendas to smash China. And there is every reason to believe that it would be. Have you ever wondered why the people indicted and detained by the International Criminal Court are always from weaker nations, overwhelmingly African, while far more deadly war criminals like George W. Bush and Tony Blair walk free? It's because international law only exists to the extent that there is an international willingness and ability to enforce it, and the US uses its military and economic might to keep the international community mostly aligned with it. If US allies ever contemplate charging America's military with war crimes, they are threatened that they'll wind up on the wrong side of US military protection. If ICC officials ever dare to cast their gaze upon the US government's behavior, Washington just laughs and sanctions them. The US actively works to bribe, bully, and manipulate international governments into protecting and advancing its interests. When the US was seeking UN authorization for the Gulf War in 1991, Yemen dared to vote against it, after which a member of the US delegation told Yemen's ambassador, that was the most expensive vote you ever cast. Yemen lost not just 70 million dollars in US foreign aid, but also a valuable labor contract with Saudi Arabia, and a million Yemeni immigrants were sent home by America's Gulf state allies. Or take the organization for the prohibition of chemical weapons, which began in 1997 as an independent international body working toward the elimination of chemical weapons from the world with great success. That all changed in 2002 when the OPCW director general, Jose Bostani, became viewed by the Bush administration as an obstacle to the agenda to manufacture international support for the Iraq invasion. The US threatened to cut off funding for the organization. Then under Secretary of State, John Bolton threatened Bostani's kids, and Bostani was sent packing. Now the OPCW is a lackey of the US war machine, whose leaders actively manipulate chemical weapons investigations to produce results which align with US imperialist interests. Hell, look at the first international investigation into the origins of COVID-19, whose findings stayed far away from anything which would turn up the US scientific establishments involvement in the controversial gain of function experiments at that very Wuhan lab in question. There's just no reason to believe an inquiry focused on the Wuhan lab wouldn't be rigged to hurt China while leaving the US empire looking clean as a whistle, whether the virus did in fact originate there or not. None of the people pushing for an investigation of the Wuhan lab seemed to have any idea how such an investigation could take place in a fair and impartial way. They just say, we need to get to the bottom of this and we need to find the truth without ever saying who we is or how they would be finding the truth in a way that is not subject to the manipulations the US government always inserts into international disputes whose outcomes it has a vested interest in. It doesn't seem like anyone's even thought about this little wrinkle in their plan, or if they have they haven't thought very hard. When I point this out people act like it means I have some sort of aversion to the truth, so you just don't want to know where the virus started they ask incredulously. It's not that I don't want to know, it's that there's no possible mechanism which could produce results that I find trustworthy on an international stage which is continually manipulated by the US empire. You'd have to get the US empire to cease behaving in that way it always behaves. When I ask people how there could possibly be a fair and impartial investigation into the Wuhan lab they can never answer me. This is because we all know there is no possible scenario under which China or anyone else could trust that the US would not engage in the same kind of manipulations it always does. Beijing would be absolutely insane to open its doors to such an investigation because it would have no way of preventing the US and its lackeys from manipulating the results and producing a narrative which fully incriminates the Chinese government while leaving Washington innocent. I don't know where COVID-19 came from. There are many different theories, some of which cast doubt on the virus originating in China at all. I just know that viruses happen, that there's no valid reason for them to drive us apart instead of bringing us together, and that the US war machine is inherently untrustworthy. Tom Cotton is such a disgusting warmonger that a Washington post columnist once warned that he would be most likely to start World War 3 if he became president. He's been openly saying that he plans on making China pay for the damage caused by COVID-19 for over a year, and now he is seizing on the increasing acceptance of the theory that the virus may have escaped from a Wuhan laboratory to manufacture a demand for more Cold War escalations against Beijing. There is a special revulsion among American opponents of rampant US military expansionism for Beltway war hawks who avoided military enlistment in their youth, disdainfully branding them chicken hawks. But in my opinion a hawk like Cotton who has seen war first hand is far worse. Someone who seeks to expand the horrors of war without ever having experienced those horrors is less of a monster than a veteran who experienced those horrors and seeks to create more of them, because they know exactly what they are inflicting upon the world and are choosing to do it anyway. There's a quote from the movie Jack Reacher. There are four types of people who join the military, for some it's family trade, others are patriots eager to serve, next you have those who just need a job. Then there's the kinds who want the legal means of killing other people.  Not everyone who supports an investigation into the lab leak is a warmonger, but warmongers will definitely be happy if they get that investigation. One thing's for sure, we're not getting the truth regardless.


Thanks for staying with us. Remember that yesterday we talked about female genital mutilation. Yesterday was actually the day, 6th of February, set aside by the United Nations for, as the International Day of Zero Tolerance for Female Genital Mutilation. And I have joining me right now to discuss this, Victoria Augustine. She is an advocacy officer and is also a chapter leader, or change leader rather, with Unguvo Collective. Good morning and welcome to the program, Victoria. Good morning. Okay, let's start with the definition of female genital mutilation. Let's start with a description of what it is. Okay. So yes, about female genital mutilation, female genital mutilation is the procedure of procedures that involve injury or, like, altering the female genitalia. And this procedure is actually for non-medical reasons.  And in 2022, UDSS recorded Nigeria as the world's highest number of women, with the largest, third-world largest amount of women who have undergone FGM groupings, with 19.9 million survivors. Do you think that figure is accurate? Because if you think about what Nigeria and Nigerians believe, the belief system here puts female genital mutilation as a necessity, something that has to be done and all that, at least in the days before now. Do you think 19.0 million justifies what is, not justifies, is a good figure? Okay. I would say for statistics and looking at the survey they did, I would say at the time when it was done, it is actually, yes, might be accurate. Okay. Or close to that or just within imaginary. Okay. So why do you think that this is really important now to commemorate a day like this? Yesterday was 6th of February and it's set aside for marking that, that it should be zero tolerance to female genital mutilation. Why do you think it's very important? Okay. So like I explained earlier, female genital mutilation, it is actually disputed in cultural practices, right? And it has harmful effects on women, it has harmful effects on a sexual, productive health and infringes on our rights as women, as humans, right? And are general and well-being. So commemorating a day like yesterday being the 6th of February is really important to us as it's said that it sets aside to reflect on the journey towards eradication of female genital mutilation in Nigeria and around the globe. And it also is important because it helps us to know our mouths will not be achieved and we affirm our promise to combat this achievement. Okay. So far, since this thing was instituted, do you think it has had any impact on especially a society that, like Nigeria, do you think the female genital mutilation has gone down or it's still there? Okay. So according to studies, according to a news headline yesterday, I think from punchline, I went to it and they said there is actually a decline as it was 20 to 30 years back but it is still prevalent because people like domestic practices, right? Female genital mutilation is still widely practiced. So 20, 30 years back, it's like the change is there but we are not able to see it. So I want to say there's actually a really decline in female genital mutilation. Okay. And especially in Nigeria.  Is that what they call it? Ministry of Women Affairs. Yes, Ministry of Women Affairs and other relevant ministries to make sure that this thing is given the voice that it requires. Okay. Yes. So that is actually the reason I started this campaign. So it will get to the Renewable Ministry of Women Affairs, the National Human Rights Commission and other relevant bodies including the Ampere and Nigeria Police Force, right? So at Google Collective, we are doing our best to make sure that we carry this message and the Ministry of Women Affairs, they are almost completely dead once. The thing is there is actually no recorded case of a perpetrator of female genital mutilation that has been brought to them. So we are working towards that. So you're working towards making sure that any parent that does this is jailed for mutilating their daughter. Yes. Wow. How come nobody is talking about the men? Men go through mutilation as it were as well. So why is it all right for the men and not for the women? Okay. For the women, you set a decision. That is why it is called female genital mutilation, right? For the men, medically, it is proven that circumcision has no medical effect on the men. It actually helps them to against prostrate cancer at an older age and some other health positions, right? But for the women, there is no medical backing for female genital mutilation. And it can actually not be compared to what is being done to the men because there are actually different categories of this female genital mutilation. But some of these traditional people give their reasons as it helps against promiscuity, so many reasons that they give for doing this kind of things. Are you debunking all of these ones that it is not true? Yes.  It doesn't like there is no medical backing. And so far, there has been no physical backing to that. That after mutilating a female genitalia, it stops the female or the girl child from being promiscuous. Those are just, those are fallacies, those are myths and misconceptions that we are actually trying and working towards to demystify, to debunk those myths. May I be a little bit personal right now? Did you suffer the genital mutilation or do you know someone who did? Personally, I have not explicitly survived the genital mutilation, but I know someone, I have met a couple of persons who underwent female genital mutilation and I have experienced it during my service here and it was what she, it was what motivated me to start this campaign in Google Collective because I witnessed a child being mutilated. Oh, okay.  Have you seen any change or any difference rather in their behaviors, especially their sexual behaviors that will give credence to what the people who do this believe? Yeah, that's, I actually talk earlier on the types of female genital mutilation, right? And some persons who, in their central behavior, there might be differences depending on the kind of mutilation that was carried out of them. Okay, let's go back to what your campaign is all about. Your campaign with this Google Collective is you're calling on the Ministry of Women Affairs, the police force as well and other relevant authorities to implement the section of the VAPP Act. So let us know what this VAPP Act is or VAP Act, I don't know how you call it, but let's know what the provisions are that you want implemented. Okay, so the VAPP Act, it's called the VAPP Act, it's the Violent Against Persons Prohibition Act and it was enacted in 2015 by the National Assembly. And it was passed to become a law by the president who was not in the National Act, the president at the time in Nigeria. So the goal of that act is to eliminate violence in public, private life, prohibit all forms of violence against persons and provide maximum protection and effective remedies for victims and also punish offenders, right? So that VAPP Act was actually enacted as a result of many agenda-based violence and human rights abuses that was happening in Nigeria. So including rape, spousal maybe, post-collegiation, isolation and all of those things. So that was why. And the section of the VAPP Act that talks about criminal genital isolation, although it did not explicitly provide a clear definition of FGM, right? But sexual services of the VAPP Act talked about prohibiting FGM. It also criminalized, criminalized the act of engaging in female genital mutilation. And not just, we don't have just the VAPP Act, we have the Child Rights Act of 2003 and we have also the 1999 Constitution of Nigeria, federal public of Nigeria. And we all agree in Nigeria, the constitution is the supreme law of the land. And all these laws put together speak against any form of inhuman search, torture, degrazing treatment or punishment, right? So the thing is, I specifically talk, I'm talking about the National Human Rights Commission, the Ministry of Women Actors and also the police force. So far, like I said earlier, there has been no arrests of any perpetrator. It doesn't mean that we, people are not committed to crime of human genital mutilation. It is happening, it is happening, right? But most types, when some persons that have spoken to them, they tell you that when they go to these authorities to report this crime of female genital mutilation, they get stories like it's the cultural matter, it's the family matter, you're not supposed to interfere and all of those things. So my campaign is to call on this relevant police to make sure that perpetrators are being approached to people. Well, that will be a very difficult thing, I know, because the person who undergoes this, undergoes it when she is still very young. Maybe she grows up to 20 years before she knows that it was her right that was taken away when she was just below one year old and all that.  So we should be looking at how to get this evangelism as it is to the grassroots. How do you intend to do that? How can it get to the local level so that the people get to know? Because if these things will change, it has to be at that local level, at the village level, not in towns. So how do you intend to take this message down there? Okay, so we cannot downplay the role of constant education, right? Like community engagement and education. We have to educate these people in rural areas, especially about the dangers of female genital discrimination. And that is something we are looking at as a local collective to disseminate this message in their local languages, because most of these people do not even understand our English language, do not understand English language. So we are looking to disseminate this information to their local languages, bring it down to their level. Consistently educating them, not just helping you, not like educating and leaving them and all of that. Constant education, continuous education is something that would work for the rural communities. Also, training of health care providers in these rural communities. Because the first time ever I was a teenager growing up, I experienced a genitalia being mutilated was a pharmacist, right? And the child was an adult's ex-child, and the child was being mutilated. I think one of the genitalia was being taken off. I was just a teenager growing up. So if we can do that, also why I was calling on the Minister of Women Affairs, trainings for health care personnel in these rural areas on the dangers and complications in both female genital mutilation and also a reporting channel. Okay. So we have like one minute to go, so just very fast. What can the people just do to help? Because the Minister of Women Affairs is the Ministry of Women Affairs. But the people are on ground. What can people, especially the ones watching now, how can we contribute to making sure that that message is gone to the grassroots as we want it? Okay. So how do we actually help is by I have a petition on change.org, on any female genital mutilation. So they can support by signing the petition and donating if they can so that it can get to a product audience and to the target stakeholders that are targeting for my campaign and also support, they can also support by reporting perpetrators of female genital mutilation to relevant authorities. And I believe that with collective efforts will actually meet a goal of achieving gender equality and elimination of female genital mutilation by 26 parents. Thank you very much. I hope it doesn't get to a point where we'll have to arrest the whole village because we all are guilty. Thank you, Victoria, for coming on the show and enlightening us on all these issues. Thank you so much. Thank you. We've been talking to Victoria Augustine, a change leader with Nguvo Collective. We'll take a short break now and return with our second hot topic. Stay with us.