 All right, good afternoon. Happy Friday Let's see. Maybe kick the rest of that volume up. Try to speak up as well. Let me point this Myself just a little bit better All right, good afternoon How's it going? Jeff over in the discord As well as DJ Devon. How's it going? Good afternoon to you Looks like that's who we've got so far Afternoon or evening. Yep, depending on where you're at. Yeah, good point. Definitely afternoon for me But got folks tuning in from all over the world sometimes so Beata, how's it going? Quick mash over on YouTube as well. I don't know if you're still around I'm not sure exactly when this message came up on YouTube. I think it's been there a minute, but Good day to you if you're still here. Thanks for thanks for hanging out if so So, let's do a bit of an introduction before anything else. So Hello, whoops. Hello, everyone My name is Tim. I go by foam a guy on github and discord This is the deep dive live stream, which is a weekly live stream program Typically, it is Scott the lead developer of circuit python who does this stream That's who was here last week if you happen to tune into the stream you would have seen Scott I'm here this week. He's out. He'll be out today, and I believe next week as well So I am with you tonight, and I think I'll be back next week also And then I don't know for sure, but potentially he'll take back over the week after that If you are brand new though, and you don't know the the deal with what this stream is about it is typically about circuit python When Scott does it, he's the lead developer inside the core So the deep dive name really came from him diving deep into the C code that is the circuit python core And really working on cutting edge brand new features and things like that I don't tend to work quite as low level as Scott. I'm not sure that really anybody necessarily does So sometimes when I am on this stream, we'll work on libraries or projects We do occasionally venture into the core. Although the kind of stuff that I do in the core is You know pretty shallow depth so to speak if we're gonna continue with the the diving analogy the kind of stuff that I get into in the core is is not nearly as In the weeds so to speak as what Scott does. So we tend to stick a little bit higher level In particular this week, we'll be working on updating some learn guide project codes For the newest of the display IO APIs, but that's getting ahead of myself a little bit Let me wrap up on the intro If you are new and you want to learn more circuit python org This is the main website for the circuit python project If you don't know anything You know about circuit python if you have no prior experience then I'll let you know circuit python is a version of python That runs on tiny computers called microcontrollers There's a bunch of pictures of these microcontroller devices over here on the downloads page Basically, all these devices can run circuit python when you plug them into your computer typically via a USB cable They'll show up like a thumb drive and you can edit the code on that thumb drive And then there's python code inside of there and that python code can interact with other hardware Peripherals that are connected to that microcontroller. So lots of them have these little you know pads along the sides here these little pin holes Those are typically called IO pins input output pins Your python code can interact with those pins and whatever other a little electronic doodad happens to be connected to them That's kind of the 50,000 foot view of what we're doing And then in particular what I'll be working with today is the display IO APIs Which is one of the APIs in the core that allows you to draw on to Displays typically connected via the spy bus or like a parallel connection There's a few other ways they can be connected, but display. Oh allows you to drive these different displays and to put different You know images and text and things on to that display to see so we'll be working with the display. Oh API today Circuit python is an open-source project. Anybody's allowed to use it. Anybody's allowed to put it on their own hardware You can even if you are a hardware manufacturer You can even port circuit python to your hardware. That's free of charge. You don't have to do that You can get it listed right on circuit python org on the downloads page right here. You don't have to pay anyone to do that So it is like fully open source and free project The the developers who work on the project though are paid by Adafruit to do so. This is their Website Adafruit comm so they're the ones keeping the lights on so to speak for the circuit python project They're paying the team who works on the project full-time There's a couple folks on the team like me who work on the project part-time and are paid by Adafruit to do so That encompasses things like this live stream as well as the work we do in the code, you know PRs reviews Updating projects making learn guides all kinds of different stuff different folks do different parts of it But thank you of course to Adafruit for making it possible. And if you want to help support the project One of the ways you can do that is just head over to circuit python Excuse me head over to Adafruit comm and purchase hardware from them. They sell Microcontrollers like all those devices that we saw in the downloads page. Many of them are Adafruit hardware But not all But they also sell the the different peripherals the things you can plug into your microcontroller You know hook up to to do other stuff with Let me catch up on the chat here, which will require a little bit of window juggling. There we go Let me see here. Let me catch up. How's it going retired wizard? and David Will go with no e-voting though. I think you probably Are trying to bring attention to that so how's it going no e-voting? Of course Friday's deep dive one hour earlier for you Oh, did you have a did you have a clock change? Did we have a clock change? I am I am terrible with the clocks I don't I don't I don't think we had a clock change yet where I'm at But I also don't know and it might be coming up on the weekend We tend to do them I think on the weekends usually but I'm the worst person to know Still go deep to compared to how deep I can go with code and example scripts for me you're still deep dive And yeah, that's true. We're still we're still getting we're still getting pretty far down there especially compared to some of the Some of the other higher level projects and things this stream This is the stream I need how to update your code for 9x specifically. No, excuse me, especially display Oh, some things have changed. It's not clear why I'm interested in a device with a compiled in display But also those where you can define yourself an external display November 5th is the time change. Thank you. So that is coming up this weekend. Yeah Sunday for us someday, and I think we do usually do them in the morning or something We had clock change earlier than you as usual. I gotcha Yeah, we shifted a couple years back. We shifted like it by a few weeks or something and I've been lost honestly since then so even before then honestly. Yeah, that was That was definitely what was on my mind You figure out how to change my name and discord is known with that nick name somewhere else. I gotcha I found the the discord name change one day, but I do not remember exactly how it's somewhere in the discord settings Yeah, I do remember seeing that one day Okay, so display. I owe the change the main change in well the The first change I guess the the first change. There's probably two main changes at this point, but the first one was changing basically getting rid of the show function and instead having a property called root group and you would set root group equals to Whatever group you want to show let me pull up an example of that real quick Dash display that should get us there dash display GitHub Although those are kind of cool too those I guess for car dashes also maybe eat a fruit And circuit python even nope. There we go. Okay, that was enough Uh, so let's see. There's also let me say huge hug report to um Retired wizard first of all I saw retired wizard up in the chat earlier Huge hug report for retired wizard and paul cutler who both have done a lot of these updates across libraries in the last few days Uh, very very very much appreciated to both of you Um This right here is what we're doing I'll be in the learn guide code, but I'll be basically making the same The same sorts of changes so this was the first one of the major changes for display I oh you would use to call display dot show and then you would pass it a group Or in this case, it's actually passing it none, but a group is down here You can do none to blank the display out, but you know ordinarily you would pass it whatever group you want to show In the new version it's Dot root group equals it's a property so you're no longer calling a function now you are setting The group onto the property of root group So pretty straightforward just got to swap swap over to root group Equals get rid of the show get rid of the parentheses Uh, and pretty much everything else stays the same. So that's the first one of the major changes Uh, and then the other one the second one which is newer And more recently that would be the splitting up of display ios. So scott did some work. I think either Maybe even this week or last week really really recently was the splitting up code Splitting up display ios so that things like four wire are no longer in display io. They're in their own module e-paper display same thing That's in its own module What is I think there's another one to maybe display bus I2c display there's a few of them. I could be misremembering. I could have them wrong That one that change I am less familiar with this one here the show to the root group I'm super familiar with this one because I actually made the change in the core Uh, the the splitting of display. I've seen a little bit about it. I'm aware of what's going on But I'm not quite as familiar. So, um, that's where we're at. Uh, I am going to be in the learn guide code I'm going to be focused mostly on the Uh, the show in the root group thing If we happen to see the four wire or the e-paper display or the, um, I2c display as we're going through this stuff Uh, I may swap that over as well But my primary intention I think is more so to do that Kind of in a secondary sweep after this stuff is done because There's going to be way fewer projects that use I think those other things those four wire those e-ink displays those I2c displays There's going to be fewer projects using those than there are just calling show because this, you know show This is like every display.io project eventually had to do this, which means every one of them needs to change While we're changing it we'll also be looking in the learn system to find pages that need to be updated Because some of the code lives in learn as well if it's not pulled from github So we're noting those down to know that we need to uh to check them out as well Um, let me catch up on the chat one more time and then we will Get the show on the road user settings profile Display name nice. Yeah, thanks for that. Uh, Jeff appreciate it. Uh, paul cutler doing lots of prs Again, hug for prs. Yeah, for sure. Yeah a huge thanks to Both retired wizard and paul cutler for all the work on that stuff Possible qualia rgb666 displays get their own. Yeah library. I think they will for sure Yeah, it'll just be uh, depend on when somebody's got time to do it. I think Uh, maybe melissa mentioned working on it. I don't remember for sure. I know we discussed it during the meeting I don't want to put words anybody's mouth, but um, I think I remember that if not I can tell you like, uh, if it doesn't get made eventually I'll probably work on it too because I'm definitely a sucker for displays and display. I do not have those displays yet though I don't have any of the qualias. They do look super nice. So I got my eye on them. I'll probably be picking one up I assume that splitting them will make it more efficient for each display type Uh, it depends on how you mean efficient. It will make it, uh, it will make the overall build smaller. So if you Well, it will make it so there's more things that can be turned off So in the smallest builds your option used to be Enable display i o or disable display i o But now your new option will be, you know, enable eink displays enable i2c displays enable spy displays You know or disable each of those So it's compartmentalized it better so that there are more things that can be enabled and disabled Which ultimately gives you more control, especially on those smallest of builds You're then able to kind of turn off more things Um, but you could potentially still use like, you know, maybe you're going to use an i2c display But nothing else, you know, you could include that one and then you could include the base Display i o in order to have groups and bitmaps and stuff like that You'd be able to save a little bit of space so as far as I understand It's not more efficient in terms of like ram and you know speed or anything like that But the amount of space in the build and the uh, the added flexibility of those additional Kind of knobs and levers to be able to enable and disable stuff at build time That's my understanding of it by the way, which I could certainly be wrong Scott would be the one who's got the for sure answered on that I had had a plan to do ssd 1306 because I contributed the 64 by 32 oled But then I saw paul was doing them all Lucky because I burned burned my display. It was one so small that it fit, you know So excuse me what it was I just bungled that hardcore. Okay. It was the one so small that it fit in a lego brick. Wow, that is super tiny How's it going quick math? Hi quick. Oh not math mash. How's it going quick mash? I think I probably called you quick math earlier as well. So apologies for that Melissa said should take it on rgb 666 from the weed sprouted up. Uh, yep Doesn't e-ing take a long time to update. Uh, it depends on the device Some of them certainly do Yeah, some of them take a while to to refresh the the screen I think it's separate the physical display the graphics and the logical display of those builds Where 2k makes a huge difference. Yeah, that's the thing is the smallest of the builds We're at the point where yeah any like Any little bit you can carve out really does really does help on some of those so Splitting up display gives us that flexibility. So I've got the list at least as of uh, a couple of weeks back Maybe probably two or three weeks ago when I first sat down and started this I Grept up this list of all the usages of show Um, we left off Here milk checker. That was the last one we did Which is right there That one should be done. I'm I'm still in the same branch So we're gonna pick up on rock paper scissors And I'm gonna open the last one also so that I can just copy this Oops. Uh, yeah, I guess we don't want the dot I'm trying to get the exact right part here to make this as painless as possible in terms of the copy pasting that I do We'll also say fine dot show I'd have some more of those. Yep. There's one right there. In fact um We could maybe even get away with the Replace here with the dot We'll have to be careful because there are Potentially there's like uh pixels dot show like neopixel has a show function as well We don't want to be replacing those so we're gonna have to make sure that we don't find any that are the wrong kind, but Far that looks good. That is Interesting. They're Yeah, see I'll try to avoid I'll try to avoid my instinct to make any other changes while I'm going through these Um, I will say though you can set this to no I not no but none instead of an empty group in order to get a blank screen and I think that's better because Then you're not creating a group. This group is getting created And taking up memory, but if you just use none here, I think it has the same effect um But yeah, like I said, I don't want to get into changing too much other stuff Because I also don't intend to run every single one of these um So I don't want to be changing a whole lot of code and then accidentally breaking stuff without realizing it Scissors simple. So there's a rock paper scissors simple in and advanced And we need to check learn Stay on target. Stay on target. Yeah Uh on my 32 64 matrix display it has matrix portal m4 Uh display. Oh won't work on it even though It has on the device and it's in the folder Uh display should work fine on the matrix portal m4 um To the best of my knowledge that should work fine. So if you Are getting like a specific error or anything like that I'd say maybe the help with channel if you put any kind of uh error that you're receiving or The code that you're trying if it's not giving you an error, but it's just not showing anything on the display Put the code you're trying over in the help with channel Um And somebody will be able to help you over there eventually but to the best of my knowledge Uh matrix portal m4 it should definitely support display. Oh now you need to You need to initialize the matrix display in kind of a special way The easiest way is using the matrix portal library in which case. It's actually really really easy Um, so you it doesn't just work with like board dot display You do need to use the library or else initialize the display yourself, but Uh once you have done that It should Work with display. Oh, where are the pictures? Okay, that was interesting Rock paper scissors clue. Are we using bluetooth in this? Does use bluetooth or ps display simple code blue rock paper scissors Actually, there's a lot of code in here. I mean a lot of uh folders. I should say Just really Oh bluetooth The energy, uh-huh The old radio sure is interesting. What is it? Oh, okay, so it's like maybe two clues play against each other Hey, that's really cool. I don't think I've ever seen this project Okay, so the main thing we're looking for here is is there any code that is um In the page on learn but not Embedded from github If it is embedded from github then we don't need to touch it because our pr is going to change the code in github Therefore if it's you know, if it's embedded then it will just come in automatically If it is just directly in the Learn guide page though Then we'll need to update it Since it's not coming through github Usually the place where you will find this is on the page that's like Code walkthrough type page if there's a page that explains All the different parts of the code. That's usually the page where you will find The usages that are not embedded like see this code right here. This is not embedded from github. There's no github link down here This code doesn't have any dot show in it. So it doesn't matter for us, but It's an example of the kind of code that If it did have dot show in it, we would need to change it here in the learn guide Rather than the github. So see here this one. I'm thinking is embedded, right? Yeah, because this is huge Let me check the top so we have yeah, so download Uh download project bundle here and then also the github link at the bottom right Right there view on github. That means this code is Embedded from github if we update it inside github it is going to automatically get updated on this page without us doing anything else And that is the only instance of show on this page. So that one is embedded, which means we do not need to change it Let me try show without this Cool. Yeah, no, definitely nothing else. Okay advanced game So so far this one is a negatory on needing changes And yep, no show in here at all Just a couple just english words show, but those are not code Yeah, none of this is display. Oh And this is embedded anyway So this code down here this part's not embedded from github. See no link here But it doesn't have any show method in it. So Doesn't need to be changed cool And I believe that was the last page with Was it? Yeah, see this page do not publish. This one's like an internal one. That one's not a real page Um Sometimes they just attach media or other stuff to it. So Arc paper scissors done Uh servo barometer display.show. Do we still have that copied? Yep, sure do Could have done my mind no more. Okay save that I'll catch up over here as well, by the way. You type really fast. Uh I feel like I type super fast Let me catch up on the chats here as well. samd21 was being overcrowded for a while Yeah, the samd21s are very cramped, especially the smallest ones Uh and super duper, especially the ones that are not the quote-unquote express like m0 express That express means it has extra storage If you have an m0 that does not have express This is like adafruit naming terminology as well. If your device has an adafruit, this may not apply, but If you don't have that express then those are the tightest of the tight builds like the trinket m0 or the gemma m0 Wyd I'm not sure what that means over on youtube. Sorry. I'm not up with all of the uh the acronyms Uh, I feel you wanting to fix everything you come across Yeah, I now want to use an alpha build with the matrix portal. Yeah, that's a good point. Definitely do try out the the current stable build 827 or whatever it is. I would do that If you haven't already are using pycharm as your editor. Yeah, I definitely am I use pycharm as my primary editor for Both circuit python and all kinds of other development Asking about in keyboard Yep kinesis Kinesis advanced is it kinesis advantage? What's the name of the keyboard? Yeah, the I will say the official keyboard of the men in black by the way This is my keyboard basically I don't know apparently they made it so you can't just get the big picture. Where's that? I said, there's no view picture in here either. That's weird. Anyway, that's my keyboard That's mcky it is um browns. I think cherry browns It's an alien for how fast he can type on the air go skill navigating you guys in words per minute man, you want to see like Telling you I I will say I'm like I've gotten quicker over time But if you want to see somebody who I think is like genuinely super fast with both of those things uh on on Twitch, there's a streamer called the primogen I'll say fair warning. It's like kind of adult based content with uh with language and stuff like that But if you're interested in kind of a person being funny but doing programming at the same time And typing really really really fast and going through stuff really fast the primogen on on uh on twitch I can't believe how fast he goes through stuff sometimes Have intelligent ultimate. Yep. Tim here. I've got the intelligent that lets me do a bunch of them But pie charm is the one I use Um by far the most Oh, wyd. That's probably what you're doing. What are you doing? Um If that's what you mean and if you're still around we're working on updating some learn guides some circuit python project codes. These are like, um All these projects that are in the Adafruit learn guide system. We're working on updating the code for a new Uh circuit python api that changed with or that will change with version 9.0 Which is not really an official version yet, but it's the next version That will become one Okay server barometer. We changed this server. Oh servo barometer. So some of these are a little tricky It's hard to search sometime like servo barometer. That's awfully generic. Are we gonna Are we gonna find the right thing? so It is in the clue projects So the way that I can uh the uh, excuse me. I get the hiccups now the way that I tell usually is we want to find that Um, we want to find that github link We want to find basically the code wait This might not be using circuit python I leap This using circuit python Well circuit python on clue. Yeah, it must be Where's the project code? Here we go Okay, we want this github. So here you can click this and then that will Bring you to the url right here. Yeah, clue servo barometer. So that is the right project. Sometimes though you got a double check because Sometimes especially the more generic names like that it could be you know, who knows which project it could be Sometimes there's multiple projects that have sort of similar Things like I you know, there's certainly other projects with servos Um, potentially And barometers separately. Who knows if there's one that's together. There is display here Let's check show right there. So that is in our embedded code. I feel right. Yep. That's that we do have two though So there's one more. Yep down here. This is not embedded. Therefore. We do need to change it Therefore, we are going to list it inside of here. So right now what I'm doing Is just listing the ones that need To be changed and learn Also, I don't trust myself to spell barometer correctly I don't really trust myself to spell much of anything correctly Probably any keyboard that has microcontroller in it with usb. Sorry See, what did I miss here? Which keyboard is programmable in circuit python? Yeah, um, jeff Uh, jeff epler one of the other core devs. He's on vacation right now though. He has a keyboard that runs circuit python I don't know the name of it. Um, there's a project called uh Is it qmk? No qmk. That's like the big keyboard k mk. I think it's k mk There's a project called k mk. I think That is uh circuit python keyboards. I will say last time I looked into it. It was a little bit out of date So I don't know if it works with like modern, um, modern apis and stuff But if you are looking for a circuit python keyboard, this is one way to do it There's a commit from two weeks ago. So maybe they're getting new stuff in there these days Yeah, keyboard if you're looking to make a keyboard the the adafruit keyboard Uh, he is the uh, at not at tiny but the adafruit pro tiny I don't know if that's the right name. No, not adafruit arduino pro tiny pro micro. That's the name Get there one of these days, right? Oh, well, there you go. There's a there's a handful of keyboards right there. I didn't even know that I don't know a keyboard doesn't come up. I don't know. Uh, what's the other there must be another name for that one I don't know the other name for it off top of my head Um, but that one is like the pro micro form factor Which there are loads and loads and loads of diy keyboards that are based off the pro micro form factor. So Um, if you get that device then theoretically you can use like any number of diy keyboards that are out there of Oh, that wooden one's looking pretty sweet just for reference Model 100 That's pretty nice the tad tedious You do a find in files Um, yeah, I mean I did a grep originally which is how I got this list Uh, it is a little tedious. We could probably like we could probably Automate it a little bit more than I have Um, but the truth is I don't necessarily trust it not to break anything And I will say I'm stopping to talk and look at the chat and stuff So I'm definitely going a lot slower than I could be but I also appreciate the facts that we got lots of folks There you go kb kb 2040. Thank you paul. Um, that's the right name But I was saying though, I I like uh to stop and talk with the chat as well I think that's kind of one of the funnest things about The uh, the deep dive is hanging out with folks answering questions going back and forth Uh c p b a m s gizmo. I don't know what a m s stands for Is there any can we get a a hint as to like what this project is about so we know what we're searching for I mean, I could try a m s but Apple okay, it's apple media probably right? It's notifications something like that a m s gizmo ble Apple media service. Yep You got show right there, but that is embedded And that is the only one So there should be nothing in this one that needs to be Changed we'll check this fridge too. Yep. Good to go Next up is a n c s See, let's see. Let's see a n c s. I don't know what that stands for is that at leo s Oh, is this the two factor things maybe? This demo shows the latest icons From an apple device. Okay, it's a different apple thing a and c s c s c s or sc c s Infinity mirror. Oh, okay. So here's one where it's oh, there we go. I think that's probably it right. It's gotta be it This is one where we're double-check on It by finding the github right here github Yeah cpb a and c s. Yep, perfect Okay, uh show That's weird. Why is there no show? I guess this one must um But I mean I found the code right here My numbers here this code's different These lines just aren't there Oh, this says print code But that file doesn't exist I'm inside of code Print code is in here weird That is super Duper bizarre that the embedding works this part's working it pulled the code from github But the link is wrong How did that work? The internet is so crazy sometimes Yeah, it's in the it's in the folder. This is the actual code. We were just looking at on the page But somehow like Usually those two things are tied together too like the code it embeds is at the link it links to so for those two things to be different is Not normal We did not see any other shows though. I think so we're got nothing in here I believe maybe let's check code with circuit python That's our embed, right? Yep right there And that one is code pi and that one does not 404, right? Yeah, no problems there I'll show we have only one match and that's it. Okay. Yep. Nothing else there Your python ble thermal printer See here's one of the false positives So if we try to write like a script to do this for us it could get You know, either it's got to have some really exact regex or some some stuff like that going on Or um, it could get some false positives like this. Of course, we could make it manual still too where it's like, yes no for each one, but Uh, author want to show a simplified version of the code. Yep. I think that's the case So it was this one was doing just printing only The page we were on before was like Kind of a proof of concept of the project, which is how I do Do projects a lot as well the first iteration will be like just print out the value of Whatever it is, right? And then from there I'll go and put it on the screen and do other stuff So there's a print one. It just was Something about the way it's linked in the url and github is Beyond my understanding. I don't want to break it though. So I'm not I mean I don't want to break it more than the 404 I don't want to break the embed. So I'm not going to mess with a ble thermal printer. So that one's just show And that looks like actually the only Oops now I messed up my This thing like saves in memory so Yeah, that one's tricky because it's calling show, but show is just Printing so this one doesn't use display. I owe it. Uh, it's only printing Which by default when you are on a device with a built-in display It will Initialize the display by default and it will show you the serial console So anything that you print will get put on the display But it's not Using display. I owe in the same way that we need to worry about for Our api updates We're good there dvi hello world. This one does Why does uh show have print? 24 Uh My best guess is because they want to push off whatever was showing before they wanted to like scroll far enough down that You can't see the old message That's my best guess realistically though, that's weird. Um Probably should have just used a label like a display text library label and do a show like Actually set up the group in the display or yourself rather than relying on the serial console Then inside your label you can put whatever text you want and just change the text out without Having to do the print a bunch like that Yeah, that's interesting. I didn't even really I didn't even really register with me the first time I saw it. It's kind of a kind of an odd one I and I can't say for sure that's the the intention, but that's my best guess is to make it scroll so far On the long time a fourth Pascal cc plus plus java kotlin hacker showing my age, but python i'm new to so Um, I am with you on Uh, I'm with you on java java is my oldest longest language I've actually just recently gotten into kotlin within the last month or two I've started trying to pick up kotlin. So i'm kind of late to the kotlin game, but Um, I've been in the java world for a very very very long time Um I think I was thinking about it the other day actually I think I have been I think my first java program was more than 20 years ago, which is wild And then python, I would not consider myself new to python anymore, but certainly newer than java python. I would say I have closer to closer to probably like 10 or not quite 10 years experience with whereas java it's that 20 years of experience at this point Long long time in java It's a bad form to just have the magic number The 24. Yeah, I would agree like with the label it would allow you to avoid that altogether Yeah, it could be from the well, uh, it could be from the printer But it doesn't look like it's actually printing that either like it's using the python function print to put it on the screen But I don't think it's using the the receipt printer the thermal printer Um in that code at least it didn't look like it But I don't actually know how that thermal printer works. So I may not recognize the code anyway Okay, dvi. Hello world Uh, we got our one change. Let's hit the learn guide Uh, we probably will have something to change in this one, right because it's kind of a base device dvi Would that be in here? dvi demo fingers crossed come on come on come on come on come on. Wow. This is long. There we go Nice dvi. Hello world I'm usually not good at those not good at guessing these on the first try like that. Usually I have to go through a couple of learn guides Uh, okay, so show we have for show we have show that's embedded. There's only one on this page. So that's it Anchor point is ankle anchor position on and and this is the display This is effectively the display io page as far as this guide is concerned because digital io analog neopixels cap touch i2c storage i2s async cpu none of that stuff is involving the display So, yeah, I think we're actually probably good on this one You know some tabs. I'm really bad about closing my tabs Okay, so yeah, we so far we have found very few that need to be changed in the learn guide, which is nice Um display text this guide. I know because I actually wrote this guide catch up again over here wrote java in 1997 It became quite uh quite the ai data processing language python. Yeah A lot of us here I like to have various languages python microth and circuit python are wildly fun being able to interact with real world Yeah, that's definitely the hook for me long time programmer But circuit python like arduino originally, but arduino feels too much like work for me Um, which is ironic since I eventually got a job a part-time job at least working on circuit python um But circuit python really the ability to iterate quickly and interact with the real world using programming Um was the hook that really sunk me into the world of circuit python Just got one of those not sure what What we were talking about When you said that sorry christmas tree controller burned up a few years ago redesigned it once it was too loud What would be the best wi-fi compatible design? using ssr solid state relays Um, so I don't know anything about the electronics side of the house. So I can't really give you any um any kind of opinions or anything on relays or anything like that as far as wi-fi microcontrollers um The I mean the pico w is the cheapest one So if you can get away with that if whatever you're doing is basic enough requires few enough pins few enough CPU power few enough ram then the pico w is going to be hard to beat in terms of price for wi-fi capable microcontroller If that one's not not you know beefy enough not powerful enough so to speak then um your next kind of choice up is probably an Espressive esp 32 s2 or s3 Um, they've both got more ram and uh higher cpu. I believe in that raspberry pi pico But they don't have the pio's and all the other stuff that the pico has Um, so there's kind of the trade-off there But yeah, I can point you a little bit on the microcontroller side But I don't really know about the relays and the electronics connection and all of that stuff W led is popular for stuff like that see This one will just go through each page because I think it's actually fairly likely there will be something in here, right? Bashed my mouse all the way off the Ad here, maybe not actually This one is a sub guide. So that's gonna take me into this guide. I mean we can double check that one I mean, I guess it is my guide and I do try on my guides I try to embed all the code that I can Instead of doing the code directly in the guide Just because I know that it requires this extra step when we're doing the updates That's embedded There we go. There's one to change. This one is not embedded Has no github link. It's an example of what not to do so ironically I guess having it broken is not the end end of the world, but We will want to fix it that is the circuit python display text W led has mesh capability so you can sync together multiple W led controllers together for light shows Aaron st. Blayna's phenomenal guide using jellyfish Try it Oh, we have fried not burned magic smoke Christmas tree controller burn. Hopefully hopefully not near the tree. Yeah Do the expressive boards still run javascript? Uh I you might be thinking of esprue. We know Esprue we know These are microcontrollers that Run javascript kind of in the same way that our microcontrollers run Um circuit python, although I I'm not entirely sure if it's actually doing the interpretation in the microcontroller I don't know how this one works, but you write Javascript code and it it certainly seems to run on the microcontroller I'm not sure the specifics of how it gets there if it's compiled before it goes there or what Um, this one is microcontroller with javascript. I to the best of my knowledge I don't know of any expressive ones that do or did but I also don't know that much about expressive So I can't say for sure on that You run javascript with make code. Perhaps that was what you're thinking The puck would be cool to connect to my straight. Oh, that's a good point about make code too. I forgot about that lots of Lots and lots and lots of the devices that support circuit python also support make code And make code has two ways to edit your code You can either do blockly kind of like drag and drop colorful blocks But you can also switch over to code, which is a javascript syntax as well. I believe type script. I think more specific, but That so that is a way you can do it on on lots and lots of microcontrollers. Actually a good point DJ Devon, thanks for mentioning that totally forgot about make code I mean the other tie-in to javascript could be like if you have a circuit python device with wi-fi You can run an HTTP server on that circuit python device And then you can connect to that server from other computers on the network And the page that is rendered by that server Into those client browsers that page can have javascript on it as well But I suspect that's probably not what you were talking about Nodemcu uses the esp8266 if root python xbarino puck Yeah, I had a couple of the aspirino picos way way way back in the day many many many years ago I bought a couple of those. I think they were even from Kickstarter when I got them And I did not end up doing too much with them they were fun to play with But I did eventually the the circuit python the python tie-in ended up being a better hook for me personally Um javascript. I've kind of learned some as well because I kind of have been forced to over the years But um, I'd say python I find more natural than javascript. Definitely There's a lot in this one. I think a lot of these though The actual code is not embedded in the guide a lot of the stuff in the guide is just the pictures of how it looks like all these all the code that made all these different screenshots is actually All these different code files that we're changing here, but they're not embedded in the guide It just shows what they look like. It doesn't actually have the embed Someone guy was doing some neat templating. Yep, uh with hpserver. That's like really promising Yeah I still need to Have been busy on Wednesday nights. I need to try to pop in to show and tell One of these weeks Yeah, hug report there to michael pocusa also community member has done a lot of work on the htp server library and the templating engine library to make that possible Super super super neat stuff. If you're familiar with like flask or jango in c python There's now circuit python libraries that are similar in nature obviously scaled down, right? It's not going to give you all the all of the features obviously of those things but Similar idea of allowing you to define endpoints and then the functions that go along with them for post and get and all that stuff put up your server Wish the puck had a solid pinout. I'd order No, excuse me. I wish the puck had a solid pinout. I sold I sold solder to a board Sold solder to a board. Yes, p32 s3 htp server. Yeah Yeah, I think the htp server stuff has a lot of promise as far as like Being able to make projects that you can interact with across the network. I think there's a lot of opportunity there for Some really cool stuff Web workflow works the same way as well. Web workflow hosts a server inside the device Okay, so that was a lot of them in the display text. We did get them all I'm gonna close a bunch of these we did put it in here because we need to do it There's only one page Um, that's fine. Okay, let's hit this one display show The others nope. Okay, that is kaluga onion skin gif Bring images one of these a picture of an onion. That's ov 2640. That's probably not it Kaluga, what was it esp 32 camera? Let's try that Hmm, maybe it was that this webcam So it is jeff take a 10 frame stop motion gif image Sometimes you'll get lucky. There'll be a link to the learn guide in here as well Look like it. So we know we're looking for a stop motion though Probably of an onion, I guess But it's an esp 32 camera stop motion. We have webcam. We have thermal cam We're capturing images with circuit python circuit python esp 32 camera Okay, there we go. That's the right that's the right repo at least This one is ilcd view Wait, why did we do Why was clue and cpb and all these things above circuit python ci? I guess it's the capitals probably that's weird Okay, so there's onion skin gif. There's adafruit. I owe there's adafruit. There's lcd view. There's qri o repel This one right here is i lcd view is this one This is skipping display i o Uh and by that, I mean it's not using like group or bitmap or tile grid or anything It is directly writing raw data to the bus To try to be faster basically It's actually just a click it's doing bitmap, but it's only it's like it's kind of like skirting around display Ordinarily display i o in the core would be the thing that is sending data on the display bus Uh, but in this code, it's actually just sending it from here directly to the bus instead of display i o Because it's not doing that with display. Oh, it's not calling show and it doesn't need to be updated for the new stuff I don't know though. Are we gonna find our kaluga one because there is One in the thing that needs to be changed Stop motion onion. Sometimes there's also Like extra code that doesn't necessarily make it into the learn guide. So that could be the case as well So i'll catch up on the chat here in a minute as well. I got it covered up for a second kaluga So some of this stuff ours said, but it's not the exact same This one is kaluga ili 94 whatever 93 something something So this one is this stop motion stop motion anybody know kaluga st 7789 kaluga ili 9341 For kaluga onion skin gif You know In skin gif you go It's gonna be all pico That one's already updated in fact too. That's interesting. This might be newer stuff About motion. No kluge ili 94 u lab Whoa ASCII camera that's pretty cool simple test I don't know if we actually use this onion thing Let's play an image on the lcd I was already updated for root group sd kaluga 1 3 webcam This one doesn't appear to use the display Oops, it's a kaluga 1 3 I don't know a lot of these have similar letters in the comments, but No, yeah, we're under resources. So that's the whole camera guide. I'm thinking it just did not end up happening Did not end up being used Um, let's do one more check on stop motion So let me catch up on the chat Flask and circuit pythons similar to flask. It's not using flask, but it's a similar idea to flask Posted a esp32 camera on the blog Going stock flask and circuit pythons sounds promising. Yeah, it's real. I mean, it's a lot of fun circuit python HTTP server. That's the library to search for it's on github ESP cameras what I need to finish one of my sites Search onion or kaluga. We could try that Capital sort before lowercase You want us to be 32 cam Been doing electronics since I was seven. Wow. It's crazy Not quite that young for me I love my little dabble into lua This took the node mcu as lua I've well, yeah, I would say I've dabbled in is is all I've done as well is dabbling lightly in lua Use lua a little bit for Programming inside games like um factorial has A way to write lua code for it I feel like there's one other game that I learned lua to write Code for two, but I can't think of what it was Maybe wow way back in the day. I think that might have been it Okay, yeah, I don't see any other stop motions. Let's try onion The thing is I doubt onion is the name of the guide So there's onion pie for tour totally different thing there octo print Yeah Unfortunately, I if this thing is in a guide my guess is the name of the guide is not about onion I'm thinking it would be in the camera one Honestly, it feels like just a thing that didn't end up getting used It's kind of where I'm Where my head's out on that one So did train simulator? Never did play train simulator, but I like uh I like resource management games So I'm sure there are some train simulators that I would find fun Okay, so I will consider that one a no no need to change Lots of the stuff had already been In fact, you know what? I think it's very unlikely. I think it's very unlikely that this one is used anywhere and the reason why I think it's unlikely is because it um All the other ones were already updated all the ones that were actually used in the guide Were already updated so my guess is that Somebody already went through and did all the ones that were in use And then this one got left back because it's not actually used in the guide. That's my theory Hypothesis if you will What did I do wrong? Okay, well first of all, let's do You spell circuit python. Oh, it doesn't you can't just put the slash like that. You need tree main apparently Didn't we find this out a few weeks ago? Didn't I figure out if you search this? Maybe this works, right? We got no hits. Oops. We got no hits on that one I think that does I feel like we found out A couple of weeks back when I first started this That did work. So like this one, let's say oh and actually came up empty also. So that doesn't work. All right I'm not sure what I searched, but I thought I figured out a way to search that last time when we did this I'll have to watch I'll have to go back and consult the VOD That's one of the nice things about doing a bunch of work on live streams is I can go back And look at stuff if I forget it SK how's it going polish k After the clock here clock change here at a winter time. I'm miscalculated by an hour late. No worries. No worries Bear programming still continuing. Yep Okay, so we'll leave I updated it, but yeah, I don't think it's used So I don't think there will be a I don't think there will be a learn guide change flying toasters What is that about flying toasters, huh? My my copy is gone flying toasters Continuously scrolling randomly generated after dark style toasters. I have no idea what they're talking about toasters Does anybody know what that means? Okay, I apparently I had a better idea than I thought I just couldn't quite visualize it. I was not Expecting literal toasters flying. I mean, they're not literal they're on a display, but you get the idea Cool fan with that. That's cool project Um that is here display show root group group code show But this is a bunch of code that's not embedded Actually, this is not a python Yeah, that probably took longer than it should have, huh? But is this project not have python wait animated? Oh animated flying toaster oled They're a new one. This is our do we know code? There's a python animated sprite. This has got to be the one continuously scrolling Mario After dark style toasters There's show, but this is embedded right there double check Yeah, and so it does not have any Doesn't have any code that will need to change like um in the guide rather than the repo. So we're good there Game and watch octopus that one's mine I still did not actually copy this that I should Do another different game and watch game one of these days I had a lot of fun working on the octopus, but I was ready to step away from the games for a minute afterwards But I'd say I'm probably ready to circle back around I could search through the rest of those game and watch games They made a bunch of them And find the next one that it's that catches my eye to implement They have wings. How can they be flying? Oh, they have wings. That's how they can be. Yeah 1980s screensaver as I were that comes from okay. I was not familiar with the uh with the original but My first the the screenshavers I remember were like the The like windows 95 era There's like the curly lines There's like the maze the the 3d maze pipes I'm sure there's more that I would recognize if I saw them again, but those are the ones that Actually come to mind from memory But that era of like windows 95 Screensavers those are the ones that are kind of like I grew up on uh game and watch I there That's 50 50 actually. I don't know if there will be You'd think I would know right there probably is honestly because I usually do like code walk through and then this page I don't know doesn't look like it Oh, you know what though? I think because I created helper objects, right? We encompassed a lot of the Encompassed a lot of the nuts and bolts inside some helper classes, which means you don't actually end up calling show yourself That's right Yeah, you just have some updates and some uh we extended I think group Get superpower Wrapped text that show please wait What is that wrapped text one might not be a display text display Yeah, I don't know this class is right here Max lines equals height divided by line spacing interesting text But then it has scroll Kind of cool. I've never seen this helper class before Get superpower get superpower coding Show That's uh, that's not the kind of show we're interested in this is like a custom defined show I know this is actually for our stuff. In fact root group right here is already updated to the new one a player fcmp3 player project Five results Good thing. I did a search This is another one where you could use none right here. And I think technically it's better, but There's another one of our false flag ones, right? Not false flag, but like a false positive is the term I was trying to come up with pixels dot show So this is a dot show method that's on pixels rather than Display and the pixels one did not change that would be like a neopixel object or dot star same thing, but Same api. I should say they're obviously different things. They have the same api Playback display. What is that? Managed display during playback Okay, this is just like a helper kind of like we had the octopus game class and the other one Just kind of encompasses a bunch of stuff for you so you don't have to micromanage it as much Pretty cool je player. Do we have anything that needs to be This was embedded And already updated actually could walk through That's one of the other shows. That's like the custom show Okay. Yeah, so none of that stuff needs to change. Okay je player je player My toaster started them all Need to do something generic for game and watch so that there's less time sensitive Yeah, after dark software je player This is gonna be new player That didn't big piece Personal mp3 tape player. That's not it. It's on a it's on a um pie gamer. I think this project Let's try mp3. Yeah, that's it right there Yeah, this is about loading circuit python This does have show, but this is embedded those pixels show display show. So all those are gonna change When the code and github changes Missed one still and now we're down to just the two pixels show. Okay keypad calculator This one's also got a custom defined show. We don't need to worry about Keypad calculator. So we did have one change keypad calculator That toasters why other toasters how else are you gonna get your toasted bread? Other changes they're doing are they're compatible with 8.x too So they could have been done before the alpha 9.x was that change forgotten. Um They could have been done any time that root anytime I mean, it depends on what you mean by could have I guess like they could have been done anytime It's kind of a matter of preference in terms of the support And like when we tell people to update Um technically speaking in my mind that could have been done anytime after dot root group property was added in the core And definitely anytime after that had been put into a stable release Um, they weren't forgotten about I I started them and Mentioned it a while back and was told to wait until 9.0 and now 9.0 is coming around. So now is when they're getting done So I don't think they were forgotten about they just didn't want to do them until uh 9.0 Was coming around which 9.0. So root group root group was added a long time ago But then with 9.0. That's when show was finally removed. So the the plan was always to remove show And the the new version the root group one that was added a while back And there was like some overlap where you could use either But then 9.0 is where show finally gets removed Line 72 is display dot show Was that in my id or in the uh, okay. Yeah, I think I got it changed already. This one was though Yeah, totally was thank you Why is this also code code? This is keypad calculator Oh, I see because there's code and design files Is there an api that allows connection to remote smart devices? Uh I'm not sure what you mean There's adafruit i o which Allows anything that's on the internet to communicate with adafruit i o Uh and then like you can have other stuff also communicate to adafruit i o and you can use mqtt to like Send signals down to your microcontroller. So Um, you know, you could set it up where like maybe you have a motion sensor And whenever it senses motion it like sends a message to adafruit i o and then adafruit i o turns around and Sends a uh an mqtt message to you know, whatever controllers are listening for those Um, if if that's the kind of thing you're talking about then yes, that's possible adafruit i o is one of the servers That allows you to do that kind of stuff. There aren't many many others Um, you know up to and including you can obviously make custom server that does that same kind of thing Um, this is not a calculator. Is it this is diy keyboard? A mechanical keyboard. This is not a calculator though Keypad here we go. This must be it right numpad 4000 So here we'll check the github Nope, that says numpad 4000. So that has a sort of proper noun for its name. It's not just keypad calculator Hmm I wonder if there could have been like an older one or something. I don't think I have anything Installed that lets me see stl files right now Why actually I have ultimaker cura. I don't know if it will launch Okay, that's definitely not the project we were looking at That's definitely not this This is a calculator, but this one I guess is more looks bigger and more fancy and stuff Now where is our keypad calculator keyboard button circuit python Pad scanning matrix Okay, maybe we search calculator calculei tour Self uh, let me catch up on the chat here. Oh boy. That seems like trouble Not sure which part seems like trouble. That sounds right, but I don't want to pay Adafruit IO can't there's free tier on Adafruit IO. You wish it could be self-hosted. It totally can be self-hosted You can make your own Make your own sort of stuff. Wow Tim. You have a lot of stamina I don't know Do a lot of coding I guess There's free entry with limited number of things. Yep. Adafruit IO. It's got a free tier And I mean if you're into it if you are if you have the capabilities of writing like python code for back end Like you could totally make your own make your own server back in Self-hosted uh on a server you maintain on the internet is just a secure way Yeah, yeah, that's a good point as well Yeah, if you want to self-host it on your own local network That's that's probably free as long as you have a computer and in a network already If you want to host it on the internet where it's like visible to the internet You want to keep it secure and all that stuff You're probably end up paying to a you know at the very least like a cloud provider to rent a vm or whatever You know digital ocean something like that Python for enders Quick mash or you could host a private one. I believe azure. Yeah, aws school You can use mqtt and host the server at home caffeine is my shepherd. I shall stay awake Yeah, same here working on the uh, you'll iced coffee this evening So here's another oh, that's it right that's the thing we just saw the top of it Okay, I was expecting the whole thing, but that's actually it the top half right there See that the little uh, this part gives it away Nice, okay probably next page was circuit python code So there is show but this looks like embedded right it is one of four Yeah, that's totally embedded He pad calculator. Yeah Okay, and then custom show and that's the other three are just custom shows. Okay, so we don't mention show anywhere else Good to go there I can't believe we only found one with um Or no, we found two didn't we? We like I can't believe we only found two The day that needed a learn guide changes knob sketcher. What does that even mean knob sketcher? Is that about shoes or? About drawing Potentiometer poppers Nobs sketcher see a prusa guy, uh, just because of the ultimaker thing here I don't actually have any prusa printers I would say if anything as far as a printer person I am a low spot person But low spot I think I don't know to what extent they're still around But I got a low spot many that I used for many many years. Well, it's about many the small one not many Um that I used for many many years. I have a low spot many two, which I haven't used as much Uh, and then I actually also have a taz as well taz. I think it's uh six one of the bigger ones I don't do a whole lot of 3d printing though. I kind of go off on and off with 3d printing I'll get in a phase where I'm like really into the designing 3d stuff and printing it out And then I'll kind of have a lull for a while where I don't really touch it too much Um Nobs sketcher Oh, okay. I see it's like a kind of an etch a sketch type thing going on I made an etch a sketch once Speaking of things that I 3d printed and designed I've 3d printed and designed the case photos built around a pipe portal Already I see one right here. So this page has No, hold on because that's The wrong kind of show. So this is rgb display. This is an older kind of Well, I don't even it's not even rgb actually, but This is not display io. That's the important part this show is not display io not show This is a different kind of show This one does though feather sketcher. So is there a feather sketcher? big bigger not a feather So ssd 1306 And it's still not display io See display io doesn't have fill like this. So I know this isn't display. Oh This one almost seems like older. Well, it's I mean, it's still circuit python, but it's older than display io Maybe it's this one Yeah, there we go feather m4 nice Okay, so we got one, but that's embedded that'll update itself And that's our only match on this page. Okay Well, none of these Other rest of the pages look like code stuff. Okay. I have a prismini, but i'm not using it much I don't feel the need for it often yeah it's also just like um I'm almost I'm almost like 280d for 3d printing even like um microcontrollers Are nice because I can grab a microcontroller and like tweak the code that's on it and run it And like the whole thing could take 45 seconds and I can see the output of my work right away um Whereas 3d printing Like especially if your printer is at all finicky you got to spend time setting it up and calibrating and getting the bed straight And like, you know, you go to print and then it like messes up on the first layer So you got to start over and do it again and like It's a really novel really really fun stuff you can do But I do find sometimes it I don't tend to do it for that reason like uh Programming and microcontrollers are just more sort of fast food ish They're they're just quicker and easier for me to do something and see the output right away And i'm definitely a bit of a sucker for that But 3d printing is really fun as well I will say the the ability to like dream up a 3d thing Design it in CAD and then print it out and hold it, you know all in the course of an afternoon or whatever that is like Also a very magical experience to eco cat. This is another one that was mine under 3d 2 I'm terrible at CAD question. Would you be faster to search? Would it be faster to search for display? You're correct. You can be a bit tedious. Yeah Yeah, the low spots were my favorite just because it it had the least amount of that kind of stuff As far as like my experience went but it was still More than can keep my attention sometimes Only print things if uh that are utilitarian never printed a figurine or anything Find things to print that's helpful or I do not print things just to print. Yeah I think being productive while you're sleeping is kind of amazing I've I've not done the run it while you're sleeping very much Like I did maybe one or two prints while I was sleeping. That's about it over the over the years Right now. It's probably too close to my bedroom. Honestly, I I haven't actually tried it, but I bet we could hear it if we were trying to sleep and I bet it would bother me Okay, Nico cat. I This one maybe will uh to the question also earlier. Would it be Uh, would it be faster to search display? Oh, I think somebody asked um It might be I mean what I have done here this list that I'm working from is uh A git grep on dot show so that's gonna find me All the ones that I need to change plus a few You know false positives like the pixel show and the custom show functions and stuff, but Mostly it will be all the ones we need. Um, and you know, I was I was saying before a little bit like there's probably some Way that this could be at least partially automated to where it would end up, you know Maybe not taking as much manual hands on the keyboard time But I don't necessarily trust it that much and I will say I'm also sometimes guilty of like Rushing to write an automation script and then spending more time Than I would have just brute forcing it. I don't know if that would be the case this time But I don't want to the other thing is I don't want to do the automated way of changing the code and have it Like accidentally change neopixel code or something that's that wasn't supposed to be changed and then have it get broken as well so Trying to kind of keep an eye as I go and make sure we're only touching display Oh and stuff we probably you know with enough with enough regex Um with enough regex voodoo we could probably still make it work automatically, but I don't know kind of enjoying going through them and doing them like this truthfully. It's not a You know, I wouldn't want to do this all day every day forever and ever but Knowing that we'll get to the end of the list and then we'll be done and then I'll do something else like I'm fine. Just going through them like this If I design 3d stuff, I could see it being more useful to have a 3d printer. I design code. I guess more I redesigned it over and over. Yeah, to be honest with you Um open scad is a 3d modeling program that's based kind of on programming like Instead of whizzy wig. It's a code editor that You're you're coding 3d shapes. That was actually the thing that got me into 3d designing was because that that open scad tool Is very natural if you are already a programmer if you're already used to using code to create stuff Um, that kind of lets you bridge the gap into 3d, which is really cool Then you have regex and you have a new problem. Yeah, at least one. Let's be real You probably got a few problems once you start bringing regex into the especially me like you're bringing my regex into the mix You're probably gonna be having At least a few problems. Let's say generously. What is OLED OLED is an ssd. Is this does I don't know if this is Is this display? I oh Yeah, it must be because it's watch group, right? And that's a group. Yeah, okay. So this must be a Regex is I'm very not regex is one of the things I am not good at at all In fact, I wouldn't even say I really know any regex anytime. I need to use regex for anything I'm always searching online for uh, there's some really cool regex websites that let you live type in your pattern and also type in some uh, some sample text and it will like highlight What's matching and everything and it will explain what all I can't do regex without that basically I need that I need those turning wheels. Um, okay save this OLED watch OLED watch That is embedded Uh, we do have five matches though. So here we go. Yeah, so we'll definitely have some show We'll definitely have some code to change here and that is uh circuit python OLED watch Would you be matrix fruit? Would you be matrix life? I think that's conways game of life Rp 2040 scroller simple scroller Uh, oh one more tiled Tile like the game Tile grids basically okay So this was all rgb matrix Test driven development regular expressions. Yeah, there you go. That's basically what those websites are solvers. Yeah, I I really like those those helper sites. I would be completely lost. I thought I'm Uh, it's not it's not very frequently that I need to do anything with regex, but when I do Got nothing without those This is not the right one So this is like rgb matrix life. So we want the it's got conways game of life. It's got the fruits This is our do we know That's matrix portal rgb matrix Connecting that's raspberry pi led matrix Map art and animation slick Would you be matrices? This is it. I think about 2040. This is the pico page Or folder, I mean Yep, or rp 2040. That was the name of the folder. This is embedded. So this one does actually need to change And that's one of one Um There's a lot of examples. I guess let's just next through them Is there a next button at the top? No, it doesn't look like it. I guess if you're following along you can do it here I don't want to have to know where we're at in that though This is all wiring a bunch of these are just wiring, right? All of these are just wiring Dinner bill. Thanks for the stream. Yep. Thanks for hanging out retire wizard. Uh, thanks again for all your help on the libraries as well Turkpatan has exceptionally fast iteration cycle versus compiler 3d printing proto It's a similar in fashion where you print something you figure out, uh Figure there's a little off here or there in the redesign and reprint Kind of never get a 3d print design perfectly on your first try. Yeah, that's definitely my experience I I usually already know Like I've usually already made a new revision by the time the print of the original one is finished Like I usually see something in the first half of the print and I'm like, oh, I should change that Before the before the plastic is even cooled I'm already changing the file Binding circuit python electronics and 3d printed projects You're rocking back and forth between fusion cura pie charm to dancia Kind of the perfect storm. They kind of all come together. You're not using them directly together, but they all come together to make Something magical repels your friend when it comes to fatted a fast iteration play around find out real quickly. Yeah, you know what? Um What's cool that was mentioned the other day during the meeting is repel.py I want to play with one of these days. I also did not know that that got implemented and I am actually pretty excited to play with that Like for me guys, that's a sketch. You don't get to You don't get the electronics project. You're friendly usable state without just the right enclosure. Yeah 14 to 16 hour prints here, but I usually turn The uh, usually turn insane find mode on oh dang. Yeah, so you're going like 0.1 or less on the uh The layer height. I'm usually the opposite I'm usually like trying to push my layer height as tall as I can to to minimize hell Long it takes to print. I'm usually wanting it to print as fast as it can without regard to The thick lines or anything But I would say I'm also more so on the side Of what dj devon said earlier like most of the things that I print are utilitarian in nature Like it's a widget with a shape that I want to use for something um Not necessarily like a display thing or an artwork thing or anything where it's Need still look super nice Okay, so that one has one but it's embedded so we don't need to worry about that we're just gonna kind of Roll through the whole list here that one's got one, but it's embedded I'm imagining this is what we find on all these pages probably It's probably the same thing. Yep. Here's conways Yep multiple panels Whoa, did that say circuit python 620? It's probably it's probably it's probably about time we could uh It's probably about time we could lose that warning that in the circuit python dev channel. See if anyone has ideas or opinions on that one Keeping that or not What is rippled out pie rippled out pie allows you to so I haven't actually used it yet But it allows you to put code into a file that will get executed in the context of your repel So you could for instance here. Let's play with it. We got a few minutes left and I am While I did say earlier I was fine doing all this manually I'm definitely ready to do something a little different So this will be nice to play with for a few minutes. So I'm gonna plug in a device I don't have the camera set up today. So you won't be able to see what I'm doing Like visually my device, but I'll show you the repel and everything But basically it allows some code to run and then stick around In the context of your repel so you can like create a variable for instance inside of a file Python code file, but then in your repel instance that can still exist that variable That's my understanding of it and I could be wrong by the way because I haven't actually used it So we'll see we will learn together right here, but that's what I think it does So recently switched to a 0.8 nozzle with Combing and ironing off you can do faster photo Faster prototypes, which is really what I wanted three printer for using a 0.4 nozzle I think that's what mine was 0.4 on the wool spot with a 0.1 layer heights really for fine detail work Since I mostly do enclosures. I rarely need detail. Yeah, I've done lots of boxes and stuff as well What is repel dot pi cut the printing time in half with a 0.8 nozzle So your python 9.0.0 alpha 2 to file the automatically up secutes Yeah, only available 9.0 the newest one even I think you need like the brand newest one I'm not positive which version though. I could be wrong Now for something completely different. Yeah, I will there's the add popping out a little bit Let me let me save This did we make it to the end? Let me also did we make it to the end of that learn guide? I don't want to stop like right in the middle Let me let me stroll through the rest of these pages. I don't think we'll find anything But let me just Stroll through the rest of these real fast to make sure and then I'll do this and then we'll probably wrap it up after that And for those that don't know I'll be back tomorrow morning saturday morning 10 a.m. Central time I'll be back streaming again. It'll be over on my own channel not here on adafruit, but I will pop in the Um the discord the same discord that we're all hanging out in right now I'll drop links in there when I'm getting ready. So if you want to watch some more circuit python stuff tomorrow morning I will be back here Okay, yeah, we did make it through all this and we're good to go there. Let me update my notes So I know where I stopped The last one I did was rgb matrix Right there and there are no changes needed for that because everything was embedded I'm gonna save that I'm gonna commit 29 files we did Okay, I have a feather tft plugged in did I download the circuit python for that? Yeah, there it is. Okay, so I'm gonna go to bootloader Where is repl.py? So you create it? Uh, and you save it on your circuit pie drive Kind of like boot pie essentially so and code pie also I guess I loaded up my nine boards with it too. Uh, so at least I can do import repl Oh import repl. Oh, you could do that before it's supported. Yeah, I've done stuff like that as well I always did like L. I always made it one letter. So it was only one thing Repled up is if you create it and put it at the root. Yeah, okay, so we installed that So like this would be good if you were doing a project with an external display Let's say you were doing a project where you had a display connected via a spy bus or something like that And it was an external display not a built-in one You could and and let's say, you know, you're still kind of in the beginning stages of your project You're not ready to like commit to a code.py file yet potentially What you could do is put your display setup inside repl.py and then When you're in the repl you could be using your display and you could be quickly iterating without having to like repaste in all of the uh display setup What is that? I guess that's a fan. I don't know. You're in a weird sound Okay, so we will create let me connect to you We will create repl.py Does it it's probably doesn't matter if it's uppercase or not does it? So Let me do let's try this. Let's try import board import board. Let's try display equals board Not display And let's try also um val Goals just like 83 Save that Not look like i'm on the device, right? Maybe it's on a different acm. Yeah, it's on acm one for some reason Whoops, okay. I don't know. Does it take effect out of oops? Does it take effect automatically? Oh Oh, does anybody recognize this m105? Anybody got a guess? This is like super common support problem with circuit python. Actually And I just walked right into it Cura This program is actually trying to connect via usb to whatever's plugged in and it's actually sending gcode Uh, but obviously our device is a circuit python microcontroller not like a You know not a cad Running system. So it doesn't actually do anything Repel pi does not run in safe mode. No safe mode loop by accident. Oh, that's good to know Can kind of wreck yourself if you uh feel a little too crazy with it So does this just exist? Yeah, so there we go. So I put inside repel dot pi I put val equals 83, which means val just exists here. I don't have to define it I can just use it same thing with display Um, so I could do something like display dot show And then I could make well, let's do none. Let's take my own advice from earlier Except for obviously I can't do show because the whole point of all the changes that we just got done making was that show's gone Apparently I'm having trouble adjusting to that a little bit. Here we go. Yeah, so now I can use Val and I can use display without actually writing anything about them in the repel Which this is super cool because you can kind of iterate by adding like, you know one or two lines at a time to this and then Give it another control d control c and then like display dot whatever do your stuff and then kind of like keep Keep adding to your thing without like without needing to kind of copy paste a bunch of this setup code and stuff I'd never have figured that out cura. Yeah, I've I had a head start I've I've helped people who have had that problem before And I've actually we've run into that problem personally before back at the old office. I had that one Yeah, that's a good that's a good tip though. Yeah, if you're ever having weird You're having weird stuff with your usb device If you have any 3d printing software running make sure to close that because it really likes to find those printers automatically and start Sending stuff the the m105 Is also a bit of a giveaway if you are at all familiar with gcode. You'll recognize some of these common Commands, I guess or whatever they called them. I don't I don't know what they called them But it's like letter and the number for a lot of them I think a lot of them are m as well There's a way to fix that which I haven't done so far happens to me But I haven't run into it. I guess I could google it, but how does safe mode work? uh safe mode it it just well I Preface this with I have no idea how it interacts with rebel dot pi somebody just mentioned in the chat before that it doesn't necessarily So you got to be extra careful with that, but so setting aside rebel dot pi I can't speak to that with safe mode at all, but safe mode more generally what it means is that Uh, your device when it powers on when it's in safe mode It will not execute your code dot pi the idea being if you ever put any code in your code dot pi that causes Uh, you know a hard fault Then what will happen is when that device hard faults it will reboot into safe mode when it's in safe mode It will not execute code pi Which means that it won't just get itself in you know stuck in a loop of booting up running code pi hardfaulting You know restarting booting up running code pi hardfaulting like that would be an infinite loop Safe mode allows you to break out of that infinite loop because it makes it so that code pi does not run So when it boots up, you're basically just set right at the rebel It's waiting for you to to go in and connect via serial and do some different stuff Um, I just turned off the plug-in on my main workstation. Uh use octa printer sd card I'm often working in both places at once. Yeah octa prints pretty pretty nice If you do do a lot of printing being able to have that uh dedicated Little pi or whatever server to run that thing for you super nice I see that there's an output notification so you can print stuff In rebel pi and it should show that's a good question. I don't know about I would assume yes That's a good question actually. Let's do val plus whatever Does that print I yeah, I would assume yes, but Yep, there it is So much more yeah importing that's another really cool thing just being able to import any libraries You know if you wanted to use display text or something being able to import that here and not having to write it Or like, you know, there's a lot of times where I want to do something with os so like being able to import that there and just Once you get to here just being able to be like os dot whatever You know make dirt or remove file or whatever Yeah, rebel goes Uh rebel pi executes automatic and and then if you're asking about safe mode safe mode is also automatic if it If it hard faults, you go into safe mode. You can also manually get to safe mode if you Uh press reset with the right cadence. Um, but I'm not very good at it and I don't know what the right cadence is Yeah wi-fi that's another really good point if you're doing wi-fi stuff The rebel dot pi, it's just really good if you're trying to oops. I accidentally just wrecked the uh Just wrecked the discord there, didn't I if you're trying to iterate quickly using the rebel And you have stuff that you need to set up that you don't want to copy paste over and over again Um, yeah, you can do import code You can do and it's but the difference the difference though, david is that with import code You don't get to just keep your variables and stuff So if your code like sets up a display or whatever, then you can't go on and use that display In the rebel afterwards. I don't think whereas rebel you can you can do all your setup and then you get Like basically your rebel spawns right here your rebel spawns In this context with all this stuff still existing Whereas codepi it doesn't codepi you import it it executes and then I don't think you get all that stuff. Maybe i'm wrong though. That doesn't sound right It seems like you would get that stuff, right? Maybe I might be wrong with all of that Maybe you do get to keep all those variables I'm not sure I'm definitely second-guessing myself though, so Yeah, take down one with the grain of salt Uh, this is nine x only rebel dot pi is nine x only. It's brand new. Yeah I don't know which version it was introduced in so I don't know exactly which one is the first one, but it's pretty new You could do from rebel import star Oh, there you go. That's the way you could do it. Yeah. Yeah, that would get you all the variables from star. Yeah Okay, um, I think we're gonna wrap it up here. Thank you for hanging out everybody Had a lot of fun. I hope you all did Uh, like we mentioned at the top, I will be back next week. That's the plan So I'll be here for next week on deep dive same same time same place. That's um Well, it's 4 p.m. Central time on friday. It's 5 p.m. Eastern time. It's 2 p.m. Pacific time It's roughly two hours ago. That's when we started. So I'll be back at that time next week If anybody's gonna be around tomorrow and is finding yourself wanting some more circuit python action I'll be back tomorrow morning 10 a.m. Central time over on my own channel I think we'll be working on some circuit stuff tomorrow So I'll set down this display o stuff and I think we'll work on some circuit things If you're interested in that come and hang out tomorrow morning with me Uh, otherwise, I will say have a good night everybody. Uh, I hope you all um, you know Have a nice evening. Have a good weekend and all that stuff. I'll catch you all later Uh, thanks for hanging out and that's all for now. See you