 Good afternoon. If you're watching this after the fact check the notes The description down below has time codes. We probably won't get going immediately here. So that'll let you know about what's going on We'll say some hello's as everything gets going and people get alerted and I stopped my windows and all that thanks to JP for streaming before me and Everybody enjoyed that I always like that the tunes coming from JP Seems like ages ago that I visited live on YouTube Thank you, Mr. Certainly. Hello to Dave Odessa. Good afternoon evening. Hello Patrick Rankin and hello Gadgetoid Hi Todd bot. Hi Hugo The cat looks like she wants to go out should I let her out or make her make her stay in here? I'll kick her out She's gonna go beg in the kitchen Mr. Certainly says good afternoon Scott, how are you doing? I'm doing good Yeah, I Got most of what I wanted to get done this week. I'm taking tomorrow off to go ski Which doesn't look too bad in terms of weather and snow. So hopefully that'll be fun It'll be during the week, which is really nice So hopefully won't be too busy Hi, King or North. Hi Bruce Hi Jay for seeing Yeah, pretty good My my week's just about up, which is great I've got Preview of what we're doing today. I got my box that of IMX parts We're gonna take a look at that probably Um Good, I think I got everything set up. Let's see did I forget anything you can hear me I set the titles. I made the note stock And I have a type that's gone awesome Before we get started, let me just get everything Oh, that's like perfect awesome, okay I was just talking about the Game Boy cart. I want to do Oh, yeah unboxing. I did I say I was gonna do an unboxing? Um You know, I did all the flash chips already Um, but I can go I can go get the other things There was some other stuff in there that I don't actually remember what it was So let me go get that before I do housekeeping Hi beatograph. Hi David G. Hi Jim IMX box unboxing, but yes, you have a bag of stuff too. It's true Um, yeah, I think I've got all the cameras going as well. Um, so let's get this party started Um Hugo says there was a big box old box of goody did you key goodies you showed last night? Yes, I did And I can talk about that. So let's do housekeeping and like get the show on the road here Um, I'll take a timecode. I'm not sure David's around I because David works on Thursdays. I think David who takes notes So I'll do my best to keep up with that Um, so hello everyone. Uh, let me switch to the camera Uh, my name is scott and I work on circuit python for ate a fruit Circuit python is an easy to use version of python designed for microcontrollers. Uh, they're little tiny Inexpensive computers. Let's see. What do I have here? Oh, I've got a special thing courtesy of, um, paul stoffer again, I'll show Uh, this is one example of a microcontroller here. This is a teensy 4.1. I believe It's either a teensy 4 1 or 4 0 But on here is a really fast um It's a really fast microcontroller. Uh, it runs at 600 megahertz, which is kind of insane But we're starting to dust off some work. We've done on the imxrt, which is this chip family Uh for circuit python so we can talk about that today Um, but the goal is to get people programming with electronics really quickly Um, so that's what circuit python is. Uh, if you have questions, this is a great place to ask questions I'm always happy to answer them Um, I work for ate a fruit. So ate a fruit is an open source hardware and software company based out in new york I live and work in seattle. So this is my house Um, so I'm pacific time zone And that's the dealio if you want to chat with me and a bunch of others Discord is a great place to do it. Uh, we have an ate a fruit discord server, which is adafru.it slash discord Uh, so if you're not on there, we highly recommend it if you're in any of the other video chats It it like goes away at the end um, so This is uh, discord is great because it doesn't Um, so yeah, check that out. Uh, this is a deep dive. They normally are at fridays at 2 p.m. But i'm going skiing tomorrow for the last time this uh, this winter. So well, it's spring now, but Uh, for the last time. So, uh, today's thursday. This is kind of my backup day my backup time It's the same time just a day earlier Um, typically typically we go for four hour or four hours two hours for two hours um And uh questions are welcome. We've known to wander a bit and just try different things. Um So I see some of those are getting queued up, which is great We'll talk about those and I'll take time codes as I'll try to take time time codes as I answer any questions Um next week will be on friday as well I looked at my calendar friday should work and then um a heads up and if you have ideas, let me know It's actually the one year Streaming anniversary for deep dives in two weeks Um on the ninth, I think the first The when I started doing it regularly was april 10th of last year So I think we should call it a one-year anniversary in two weeks on the april 9th Um, I'm also speaking at the open hardware summit in the morning. Um Speaking on interface design and particular PID numbering Is going to be a topic of that so I'm excited. I'm happy that that I got accepted to speak at the open hardware summit Uh, which is exciting as well Um last piece of housekeeping before we start answering questions is we do have cat cam here Um This is spook. He loves to sleep in the sun Uh, he is epileptic. So just be aware of that. Uh, he may have a seizure and if I'm like On screen but not paying attention and just making sure he's okay. He's been doing really well So I don't expect that to happen As you some of you know who were watching last week. He went to the vet. He got a mostly clean bill of health Um, they had told me last time he went to the vet as well that they heard a slight slight heart murmur um But he's been doing so well. We're we're gonna gonna just monitor it and see how he does Um, but besides that he's doing well. They like his weight and everything so Good for him And uh, that's housekeeping. Um, so usually we start with questions um Hello, or I'll do some hello's as well here. So andrew reads this hi from cornwall Hi, andrew I think it said hi to jim And yeah, we can just do uh, david was like unboxing of just this box of all the imx chips I have I think that's a great idea. So I'll do that Um, he goes says there was a big old box of digi key goodies you showed last night. Yep Um, I have the box here, but I've actually like the vast the vast majority of those bags were actually, um Um They were flash chips Because I've been uh cataloging flash chips. So let me just show you Um Hi, keithie asks how's it going? It's going good Um cat news Congrats on one of your deep dives I can't I guess I could probably pet spook spook from here, but I'll do that at the end like I normally do. Uh, I might have to sneeze here too. We'll see So, um This is uh, oh you can't see I see thank you to whomever asked a question in the docka. I will get to it. Um But since we were talking about the unboxing, I just kind of want to cover that first So, oh, let's see Digi key order So I made a big order from digi key and uh, mostly what I had is actually flash chips Um, oh, yeah, if somebody's Uh, David says gadget toys in the facebook chat. I don't watch the facebook chat. So if that's working, um, I encourage you to go somewhere else And do that I I don't monitor the facebook chat. I can't promise you anything Discord's much better a da fru.it slash discord. Um, okay, so here's uh, What I have this system is I showed this on show and tell but I'll reiterate it in case folks have questions Um, but what I have is these I've got these, uh, I've got three boxes of these box all aid tech Boxes and I I just take stickers. I have I have a spark fun I had a spark fun sticker from the oshpark goodie bag. So I put that on there Um, I just use stickers as a way to know on the outside which boxes which Um, and then what I do is I in fact, let me use the overhead here because I know mr Certainly wanted to know how well they work Um, so let's go to the overhead And I'll zoom it out And move this my desk is Filling up here But let me just show So here's, um One of the boxes It's not I think it's too bright. That'll be bad So there's a there's a latch on the end and then when you open it It's all these little, um, compartments It's actually designed for SMD Components and what I the way that I have it set up is Oh, let me flip There we go Um, so here you can see that I've got kind of like battleship style Um a like letters this way and numbers this way and it actually matches up with spreadsheets Um, so I don't actually mark the individual components. What I do is I have this google doc That tells me what what compartment everything is in so let me just show you like This is g4 and you can Like hear that it's like got some pretty stiff action Which is good. Um And This is just one example of what I have in here. I have a flat flex connector things Um, oh that's a chunky click. I like it. Yeah, it is the one time that I I know you asked us yesterday I did find that if it's a little too full it can um It can not snap quite as well, but uh, I've been using these actually quite a while I just started filling up these other two But this one I've been using a lot because it's got Like all my resistors are up here and then all or all my capacitors are up here and all my resistors are here So it makes it really easy if I'm hand assembling something Um, so yeah, I really like this system And then let me switch to the desktop. I'll show you so most of what was in um How many open tea openings are guaranteed by the vendor? I have no idea It's just I I bought it off amazon and I think I've shared enough. Hopefully folks can share that again Um, they're like reasonably priced and and there are it's a lot of compartments for the price as well Um, like it's let's see 12. It's 12 tall times one two three four five six seven eight nine 10 11 12 So it's like 144 Different compartments and and you can buy a two pack of the the one here and then There's also one that has The bottom is the same The same size, but then the top is these like chunkier chunkier compartments and I'll just Like they're still hi muhaban Like they're still pretty pretty snappy here Um, which I'm pretty happy with and I just like There's so much packaging especially when you buy like something from digikey where it's just like three parts Like you can take like a bag and another bag and just reduce it down to one of these compartments pretty easily Um, so the way that I have it here is let me switch to the desktop. Um, if you look here, these are all flash chips Actually, there's the flash chips start here and like all of these I ordered in that last digikey order So it's like 32 rows of flash chips And although there's like a couple other things in here that aren't flash chips And uh, and I actually put the rp20 40s that I got from the more in there as well So I got like two dozen flash chips in here Um, I did just make an eta fruit order for another one of the sockets. I was gonna solder them all down Um, and then I decided I didn't really want to do that um because the uh Tens says I really need this organizer. Yeah, these are great. I'm very I'm very happy with these. Um, I I don't know. Maybe we'll stock them. I don't know. I think lomor's reaction was also that of like, oh, I want some of those as well Like we have the individual boxes that like snap together, but like these ones are great because they're like um David geese's rate array of flash chips um So actually it turns out I was looking at the imx and the imx can do two parallel flash chips uh to to be able to load a byte at a time rather than just a Half byte or four bits Which is cool Hugo says I'm much more interested in how many times they'll close without reopening on their own Yeah, I mean I've been using this one for a while and it hasn't I it hasn't happened to me yet I haven't find it open I know what you're talking about because for a spook we have like a pill organizer and like we have issues with that Uh, but that's also one thing where you like push down and it pops out um Okay and Oh, the last thing I should show is that I I have this uh printout that I do and I need to make this better. It's not working right now actually, but it's um It's a grid that matches up with the organizer so I can print this out and then look Like have a reference of what is all what all is in uh particulars like compartment in the organizer um, but it's it's actually broken now that I have multiple boxes the uh The thing here that I'm using doesn't work for multiple boxes. So I got to figure that out um, okay So that is mostly what I had in the digi-key order. Let me just wrap that up. Let me show you the other stuff um, so after I went through all the flashes, I think this is All the remainder that I got so I'll put it under overhead And I realize you can't see the overhead. Uh, Muhammad. I see your question. I'll get to it in just a sec Pivot table filter on the box number. I don't know how to do a pivot table filter I do have a column for the name of the box um That could match up Okay, so let me hit the focus lock button And then I'll show you what I got here. So this first thing here is uh, mcu link and I'll just open it up. I don't need this extra bag This because we're just starting to imx again. This is basically like the st link equivalent Um for the imx So mcu link and it's I haven't even tried to use it. I probably won't actually use it, but it's a It's a programmer board. Um And you can see the quick reference here. So it's it does swd stuff Um for the imx things Oh, and it's super tiny Ha Look at that I thought it was gonna be Of why why would you put it in a giant box if it's just that big? Let me see What do I have to compare it to? Here's that and here's a pico for comparison So it's like not much bigger than a pico just a little fatter So that's their like st link sort of thing Have I seen unexpected makers voice inventory system for reels? I think I did And this is just a cable. This was in the box as well Um, but generally I like I like to get rid of packaging like this. I don't like I don't have all that much space. So Any space I can recover by Getting rid of stuff. It's a benefit So that's one thing I got Pico is the new banana for scale. That's that was just like top of my I have like a bin full of stuff here Um Okay, I'm caught up on discord. So let's see. What what do I have here? Oh, oh, I have two seesaws. I got I actually order some stuff from Adafruit sometime or like Adafruit boards from digikey If I'm making a digikey order and I just pay for it Sometimes they reimburse me for orders, but sometimes I just buy them anyway I just write them off as a business expense it So I got two seesaws because I want to experiment with this idea of doing um A control surface where the different pieces of the control surface are like sandy 0 9s or sandy 10s And then they're actually multiple Each of those chips can control a shared i-squared c-bus And then there's one device on the i-squared c-bus that like They all write to to gather um all their information Um On said hi all I received my feather rp 2040s in the netherlands within the week Amazing awesome And it says designing a circuit board. Uh, I don't um I do occasionally I my job is not to Where am I with time codes? I should at least do it occasionally Oh, I did you cure. I guess we're doing that. Um But I'll do designing it so I actually um Did design a lot of pcbs before I started at ater fruit um I was starting to do my own like flight controller for drone business And so I kind of like a I started this spreadsheet when I was doing that and then Now I I pick up parts and and dev boards just to have them in case I need them So like I bought a bunch of flash chips and so having a way to catalog and keep those in a dense Dense storage is really good. So This is a dev board I picked up To prove my point. Um, it's for the xmc 1100 eval And it's an infineon microcontroller. It's a cortex m0 And this is an alternative to the sandio 9 basically Um, it's a very it's like less than a dollar Um, I don't think it has usb, but like I'm thinking about this like Using really inexpensive microcontrollers simply over i squared c Um, not over anything else. So I picked one of those up And that will go in maybe this imx box or I do have another box It's like a nice tiny board very similar to like the seesaw size um, it's always funny to see that like the uh the like usb to serial converter is likely this chip and then this is This chip is the tiny one that the dev board's actually for and it's I even got like a keychain on it It's just funny So yeah, I'm thinking about that, uh, especially because we're starting to do some keyboard stuff And I like this idea of doing um, like keyboards and sliders and rotary encoders and stuff like that And then some more Adafruit boards I bought from digikey. Um, these are the so I see 16 breakouts t-stop 16 breakouts um, and these are for I one of the flash chips I was able to buy is actually Uh, a 16 pin version instead of the 8 pin version. So I got some of those And the last thing I got from digikey is a bunch of the 8 pin version the 8 pin breakouts Um from Adafruit, which I thought I would solder them all down, but I don't think I'm going to do that I just ordered a new, uh I ordered a new, um Socket to put on one of these and then I'll just pop it in videograph says curious about the ice-cred sea stuff Yeah, it's just an idea. I have it's not not my aid if it works. So I don't know when I'll do it Um, but I like the idea of like if you have a control service with a bunch of micros that are like keeping track of rotary encoders and all that stuff Like you can either pull them all and see like a lot has not changed because if you have like 10 ice 10 Like things that are controls that you've like merged together to make one control surface Um, like your hands limit how many things can change at once um And so I was thinking instead what you could do is you can have them all All 10 of those things control a shared ice-cred sea bus and the uh, the samd's Ice-cred sea things can can know if uh, you get collided against so basically like you risk corrupt Getting your ice-cred sea transaction corrupted But it means that you only transmit over the ice-cred sea as you need it Which is really interesting to me. So I might do that So, let me go back to a couple of the questions here um So mohaben asks how to configure the your receive interrupt in circuit python. So circuit python doesn't expose interrupts And the my follow-up question would be What are you trying to do because the way that we have uh, you aren't set up in circuit python is that when you create a your Class a your object you tell it how much uh data it should buffer on your behalf And internally it will use an interrupt to make sure that it buffers that in the memory Um, and then from python you just read from that buffer of whatever length you made And read it as it comes in. So i'm curious. Uh, what you're trying to do, uh, where you need that Um, and if you follow up, I'll I can continue talking about that Um, how is everybody liking their feather arpy 2040s? Well, carlo says hi scott and all glad you're streaming on thursday as I just got my feather arpy 2040. So it's perfect timing David g says I have a seesaw since more than a year and I still don't know what the use of that is Yeah, I um Part of that I think was that like dean was doing a lot of it but dean left to ate a fruit so it was uh It may not have been continued after that Muhammad says I'm using a smart hmi screen which sends touch data over your You should be able to just read it as it comes in. I don't know why you need an interrupt to do that You just need to like pull you need to query if if things have come in Okay, there's one other question in here So let me hit that So the question is and I don't know who put this in the doc, but thank you for putting it in the doc Um usb host is supported on a ttc 4.1 plan to support it in circuit python um the In the long term, I would like us to expose a host api. That's for sure Um, I think most of the work is actually on the like what is the api from circuit python to show to show usb host because um, I think tiny usb has basic usb host support already So Dan is going to be doing Dan is going to be doing more More work on usb in terms of dynamic usb descriptors So that's still device side. Um, but maybe after that we would want to do usb host Um, but I'm not super sure Um So hugo asks, um, let me take a timecode Hopefully I haven't drifted too much. I'm like eight seconds fast Yeah, talk about says tiny usb's host mode driver is pretty basic at the moment Um, and also foamy guy points out that uh, winter bloom has a hostess feather wing so, uh What I was going to answer is uh, what is the intended purpose of seesaw? So the seesaw was Something that we did originally I believe with um cricket and the idea was kind of like A bit going back to the roots of what microcontrollers are traditionally used for which is um It's used for offloading real-time E things To other things and the reason that we did it for cricket was that we wanted to have crickets for both like a samd 51 But also wanted it for a raspberry pi. Um, and so by having a Uh smaller inexpensive microcontroller that can handle Um ins and outs and do analog as well. Um That was kind of uh Kind of that one thing that I would like like seesaw as it is now kind of has like one fixed firmware that does everything And I I think the route that I would like to explore is actually I squared c bootloader where it's more this what we've talked about with co processors and circuit python in general of like Circuit python is responsible for saying. Okay. Hello this thing run this code now And then it runs that so um That's kind of what I was interested in. It's probably pretty far down on my list to actually do but um Couldn't help myself and pick up a couple that Yeah, davidji says what the seesaw does not run circuit python. Correct. It does not Uh Johnny hello, johnny says, uh, I didn't miss any imx content. We talked about it just a little bit, but um Not a ton. So, uh, I think let's uh Like a port expander via firmware on a samd 21 coprocessor rather than a specialized chip exactly And in fact a lot of ios expanders that you see like they're actually more expensive than More expensive than just an inexpensive microcontroller because The advantage of inexpensive microcontrollers is that they can do a lot of different things because they change the software um Oh Great question Another one from hugo And this is probably something that we'll Talk more about next week as I get into bluetooth stuff But uh hugo asked, um What are such would be the major milestones to get a bluetooth only experience working on a circuit python device? So, uh, this is actually my my plan to do I'm gonna my plan is to start next week on it um This imx stuff is just a bit of a detour. Um It's a detour because jeff is primarily doing the imx work But because I was just doing all this flash stuff We wanted to change the flash settings for the imx thing to use the nvm tunnel stuff as well So that's that's why i'm taking a slight detour into imx is just to get the flash stuff going Which is why I have my collection of boards here to test the flash stuff on because I actually got it compiling We'll see if it works and I I gotta remember how to actually load code and things like that um but so what i'm thinking about and And we can talk more about this next week, but the big items i'm thinking about are like so For those of you who don't know what vely workflow is is um I want to be able to use circuit python from a phone Or a tablet, uh without usb, uh, particularly because like the micro bit v2 here, which i've had on my desk for months Um doesn't expose the usb link, uh At least so we couldn't do a circuit pie drive. And so uh one of the things I want to do is a vely workflow and trevor is on vacation this week, which is good, but uh Next next week is on friday um so trevor started working on an app that just allows you to push python files to the device um, and so we need to figure out, uh some stuff so I was talking about dan about this, but um Starting from the beginning we need a way to so I had Early on when we did nrf for circuit python. I had it where we actually did have a file system Uh like beli service or a server that we made available. So a client could push code to it um, but we were about to Before pycon got cancelled we were talking about doing, uh Uh a giveaway at pycon of beli devices and That kind of forced me to realize that like we weren't secure at all in terms of how you Connect your phone with your device and make sure no one else can um And in an environment like a classroom or or a conference like you want to be pretty like you want to have a plan for not perfect security but like Deliberate pairing between your device and your your phone and the device itself Because you could load and load in uh, like read and write code um, so the first thing to do or one thing on my mind is like We had this original stuff, but it's turned off and so it's probably bit rotted a bit where it's like If I turned it on it won't compile and it won't work. Um, and part of that is like, uh, We were preserving like Right now we shut down the bluetooth stack until you import beli.io. I think And so there is going to be some work of like, no, we want it running all the time uh because you want to Basically get the error output and still stay connected even if user code's not running So there's that work and then there's this whole process of coming up with like, how do I connect to my device? And I think there will be kind of two categories. There will be devices that do usb and beli And in that case they just start up and assume you're doing usb Um, and then there's also beli only circuit python devices and those if no one's ever paired with them or no one's ever bonded with them Which is the term for like Sharing identification like authentication stuff so that you can reconnect later without intervention um So if it's beli only you you you start up you say i've never been bonded so let me start advertising that i'm here and then um On your phone side you could say look is there anything I can connect to and then how do you confirm that like Like it's not somebody over there with a phone that's trying to connect faster than I am Um, so there's got to hopefully be a little bit of a process to like collaborate or coordinate between the two devices to say Like yeah, this is what we want So that's how you get bonded in the beli only case And then in the usb and beli only case or in the case that you want to rebond I think there is also going to be a startup period like we kind of do this already where Like if you if you double click really fast you get the bootloader if you double click slower You get the safe mode and then I think after that if you if you click even slower There will be a period where like the status led is blue And then like you hit it when it's blue and that means that like okay go into Go into pairing mode um So those those are kind of some big things in the like user experience side And there's things that you can do potentially that we can do with the advertising that happens at that point as well of like Not only do we advertise like an ate a fruit identifier But we actually advertise like a board identifier so that if we can like actually show you a list of boards We see we show pictures of the boards not just Names of the boards And then even potentially for some boards that have like lights and stuff We could coordinate like what pattern they're doing so that you can confirm that the thing that you're Connecting to is the one that you want potentially um So lots to explore there and then On the like once you're Once you're bonded then it's a matter of like um I want to do an iteration on the the the beli server that like allows you to read and write files And there are there's like at least one kind of example, but I don't think it's It's really complicated. There's a lot of details. So I want something simpler But one of the requirements for the the server for files that I want to do is um When you're sending files back and forth I want the receiver to be able to say hey, I've got this much space send me this much data um, because uh, we don't have a lot of ram on some of these devices and so I want to say like Just just give me 512 bytes and like it'll slow down the transfer But it means that we don't have to buffer a lot on the on the device side because like imagine you're a circuit playground Bluefruit and you're trying to write to your flash like When you're writing to flash you have to go through these erase phases and that can take a while So you don't want to you don't want to have to accumulate a lot of data while you're doing an erase So yeah Keith e says uh, so is that over an hci protocol? I'm not familiar with bluetooth just have been trying to pair Slash bond my we balance board to a raspberry pi. So this is somewhat familiar So hci is usually HCI in ble terms is host controller interface and so this is the idea that um, there's like Your raspberry pi actually uses a separate chip for bluetooth So the there's a bluetooth controller chip on the raspberry pi and then the host stack Happens on the main like in linux on the main thing. So there's the hci protocol is what is between that host code On the raspberry pi and the controller code on the device itself on something like an nrf 52 8 40 Like the host and the controller stuff Is all in one chip Actually, let me take a timecode because this is a good we're getting ahead of ourselves, but that's okay Now if you've been paying attention dan actually added Um, we now have airlift support for bluetooth And the way that that works is it actually does the host side in circuit python and controller side on an esp 32 So we actually have code in circuit python that can do the host side of bluetooth for central only right now over that so That could be really cool And that means that that's probably what we need to be able to do bluetooth on a raspberry pi as well From native circuit python Johnny says save some bluetooth talk for next week. Okay. I have one more question for bluetooth and then we'll get to the imx Hugo asked, uh, let me just take another timecode Keith the ee says that explanation clarifies so many things awesome There's an added tricky thing about hci and that there's actually different ways you can communicate hci So Hugo the last the last of bluetooth is So would repl be part of the initial bluetooth vealy workflow or a later enhancement? It's certainly something that i'll do in that Like as i'm doing it and I think it's pretty straightforward because i'll just there's a very standard Example service that nordic does called the nordic uart service Um, it's super standard. You could use nrf to connect to do it. So my plan is just to implement that Um for the repl stuff. So there's a little work in circuit python to potentially Make it easier to swap like serial streams into that core like circuit python serial stream But uh Yeah, I'll definitely do that as part of it. Probably if i'm good, it won't be one giant pr Um, so that may be one piece of it But yeah As patrick says scott, this is a great idea and will be huge to get circuit python more devices and for more people to learn to program Oh, yeah, and also Those of you who like the esp 32 The bluetooth workflow would allow us to do circuit python on that Um, since it doesn't have native usb. So, yeah, it's um I'm excited for it too. I'm excited to get to it. I was Kind of lobbying to have it related to an ad box upcoming. I don't know if that's going to be the case, but things that are Like in ad boxes always get a lot of work on them Um But we already did an ad box with a circuit playing our blue fruit. So we kind of already did that Um, but we have time of we have trevor's time for ios. So that's really exciting Okay, final final bluetooth question. Can we do bluetooth gateway chinese? wall with bluetooth On the airlift and bluetooth on the nrf 40. I'm not sure exactly what you mean I think um It maybe you mean bluetooth with other devices other hci chips besides um Yeah, I can't help you pair your mouse with your scale. Sorry. Okay um Johnny already bought a bluetooth board as well. Okay. We're this is exciting. This is exciting. Let's Let's hold off a little bit. Um Of course, this is how this is how this stream goes, right? It's like we get excited about stuff when we talk about it Um, yeah, bluetooth is interesting. I'm excited to do it. Um, I'm definitely Feeling the hesitancy like there's a huge cost for me to um There's a huge cost Mentally for me switching platforms Um, like I've been doing like when we started we were doing all esp 32 s2 stuff And then I did rp 2040 stuff and you didn't really see me switch to it because it was secret Uh, but like at this point, I'm switching off rp 2040 um and so i I What I've been doing is this flash stuff And actually we should check I guess let's not talk about code yet. Uh, we just wanted to do an imx unboxing. Didn't we? Um, okay, so Yeah, I get it to it says the mental cost of mode switching is tough Yeah, so I'm like briefly switching to the imx stuff and then I'm going to be switching back to nrf Um for all the bluetooth stuff um David says but when all the microprocessors will be supported What are you going to do they're there will always be always be more than what we support I guarantee you and there's always parts of different chips that we don't support Uh, I'm not worried about my job at all People are going to be keep creating new chips um Because they're upstream. Okay, let's go to the overhead and maybe I can Back out a little further. Let me just show the front again. So um, what I have here is I have a number of these boxes Um in the laundry room, which is the room next door, um, which is also my kind of like workshop And so this I have labeled imx. So, uh I don't have a great solution for imx Or for a dev board storage. So if somebody has good ideas, let me know Uh, but basically what I've done here is I have um I've just used spare bags and I have stickers on them that tell me what the what the main chip on the dev board is Uh, which is still nice. So this is the imx rt 1015 And I'll open these up Here you can see 1062 that's the chip that's on the teensy Um, here's a 1021 Um 10 1052 1011 And I should show the website here. There's the 1011. This is what we'll release a metro with Um, which is what we're working on and in fact Um, I do have a prototype here. So this is a prototype imx. Um, although I think it's on the site now Um, so this is the metro imx for the 1011 Um, johnny says I bought some rt 1010 dev boards when they're released. That's a good idea I noticed when they release them they release them for $10. They're selling it for 50 now. So you lucked out Um, okay, so here's a teensy 401 and then this is actually Something like paul sent me this. So thank you paul and it's actually that all the pins are connected through and there's leds on here Um, he sent it to me as a a way to help, uh, test that every pin was working So thank you paul and then I've got a teensy 40 and this bag and a teensy Looks like both a 40 and a 41 in this bag. So Um, let me just do an overview of the 10 imx 1011 line first before we go and I'll show the I'll take the dev boards out of the bag and show them off because This is a new platform. Let's take a look at it. Uh, but first let's go to the desktop. I just want to highlight, um This page here Um, this is just a really really good resource um For understanding all of the different imx 10 10 line um Or imx 11 line And it's just let me close this there we go So this is I always refer to this page So there's these two oddball ones the 500 and the 600 These are like cortex m 33s and they actually feel very different to me from the other ones So those I don't really keep consider Um Dylan says a or a wall meant wall mounted pegboard if you're short on space and want to be able to see all the dev boards at once Um Old five and a quarter disc get holders sorter for storage. Maybe I mean that's these are pretty similarly sized I imagine Um Yeah, this it's tough because there's like no set order and things Okay, so so we don't really care about these two bottom ones and then What we can see here is the imx 10 10 It's the smallest version. So package here tells you like Not how big the chip is but like how many pins there are and um Generally if they're it's the same style package. So like lqfp Um, it's going to be bigger than the the larger the number of pins. So here we can see it's 500 megahertz 80 pins 128 k of s ram Uh, two i2s one usb Um, and then the 1015 is very similar except it has more pins and one more i2s The 1020 it comes in two sizes 100 and 144 as double the ram, which is pretty exciting Um, it also has ethernet and can So that's really cool too. So uh, and then there's this 1024 and there was initially some excitement about the 1024 because it has this 4 megabyte flash in it, but it turns out this just is like Sticking the die of a wind bomb chip inside the package Um, so I don't think we're actually going to do that like it's it's essentially a 1020 It's just that like inside the package is the flash as well Um, which we'd be excited about if it was a smaller chip, but it's a giant chip still Um, so the 1024 is not that interesting and you'll notice I didn't I don't have that uh a dev board for that because It just came out and it's not any different from the 1020 as far as I could tell so, um I have Bruce says Bruce points a giant box of stuff I have a box of similar size and I have my stm boards and my sandy boards in that alone This box is smaller because I have fewer of these um Okay, so that's this is the the 1020s are the are the highest that we have in lqfp Um, and then we switched to bga and bga for folks I don't know is ball grid array and that means that the pins are on the bottom side of like the the plastic patch patches um All let me finish this and I'll ask your answer your question, david So the 1050 is pretty interesting. Uh, it's got 512 k of s ram which is again double what the 1020 has It also has the beginnings of graphic, uh, acceleration. So p by p I think it's like two-dimensional dma basically Um, and then it's got a parallel display interface and parallel camera interface Same amount of audio two usb's Oh, and the thing I forgot to say this usb with fi is high speed Uh, which means it's 480 megabits per second rather than 12 megabits per second Like all of the other boards that we support. So one of the really cool thing about this line is the high speed usb Um, you know, we can imagine you can just shuffle a lot more data across and the the fi for the high speed usb is built in So it's not an extra It's not an extra cost. So and again, we have ethernet. We have can So the 1060 here, which is this is the chip that's on I don't know why it's 1060 here, but 1062 On the teensy or on the board you actually get Um, but this is what's on the teensy It's 600 megahertz uh a megabyte of s ram And then it's got the same graphic stuff and Two two ethernet and a can fd as well, which I think is a faster Uh faster version of can and then uh, there's this 1064 and I think this is essentially the same thing It's a 1060 with a flash in the in the package And then lastly there's this imx rt 1170. It's two cores. It's an m7 and an m4 And the m7 runs at 1 gigahertz Which is obscene and this is like they they advertise this whole line is crossover So what they what they mean by that is like there's cortex m's which are like real time just like coprocessors usually Although they're getting stronger stronger and then there's cortex a which is like this the level of cpu that's like running linux and on your phone And crossover is this idea of like blurring those two lines So like stm has a crossover product, but it's a cortex a but it's cheaper Like it's coming this way for the crossover whereas this imx is going that way Um for crossover and you can see that it's like a bigger bga package It's got again twice the the ram. So it's got two megabytes s ram. It's got a 2d gpu, which I don't remember which one it is But it can do mippy as well and it can do Deem mic, which I don't know what it is more audio Two x gigabit per second ethernet and three can fd So this 1170 is like a whole new ballgame in terms of this line as well um, and I think I've seen on the on the teensy forums that like Paul's already looking at the 1170 for like another teensy Uh, definitely he likes to live on that performance edge Uh, so this whole line is pretty exciting. I think, um, you know, the 1060 the 1050 20 and the 10 are kind of like The ones that are most interesting for us at eta fruit right now The 1170s I think are still actually quite hard to come by um, and of course like with all these chip supply issues right now like Who knows which ones will be able to actually get but I know we're we're starting with the 1011 which is this 1010 here All right, let me take let let me answer david's question here And then uh, do let me know if you want me to show the the boards off under the under the camera or we should actually start uh testing it I'm just copying the copying the question into the notes So the question from david is doesn't the teensy have a proprietary part? Um, like the bootloader and Is it supported? Uh, where other imx boards are raw? So what will the difference will what will be the difference for circuit python support? That's a great question. You were right. Um The uh teensy Which I have one here has um Oh, I don't know which chip it is Um, but there's there's some other chips here Dave says yes to like to see the boards. Okay, we can do that Uh, johnny said no, I think We can go through them quickly. I need to get them out anyway and take a look Um, so here's the teensy 41. I won't show this again, but there is a chip on here and it facilitates loading code um, so it doesn't it won't impact um It won't impact how circuit python runs after it's on there But the way that you load onto the teensy stuff, uh, will be different at least the first time I think our plan might be to like there's a teensy loader and I think our plan is to uh, you would use the teensy loader once Um to get tiny uf2 on there, which is our uf2 bootloader and then After that you'd be able to just use the tiny uf2 to load new versions of circuit python on it. So I think that's our plan there um So but after circuit python's running it doesn't change You like it prevents us from doing like reset like double tap to reset into the bootloader sorts of things um, but on these chips that's kind of tricky anyway because These that all of the imx's have built-in boot ROMs, which means that like there's code that runs always before you um That is like baked into the chip itself and does like flash initialization Which I think I did talk about last week and what we'll get to maybe eventually today um Okay, so let's just do a quick overhead tour of all these boards And I don't know a whole lot about them so it might actually not be that interesting So let's use um some comparisons here So let me aka zoom in And I'll hit the air Sorry if there's dirt on the desk Um, okay, so this is the oh, let me move this It's cute all the way So I actually have a feather rp2040 here we can use this size comparison I actually need to remove the rp2040 stuff from my desk like I'll move it on at least uh for a little while I can't unplug it. It's the cord for the cat cam All right, there we go. Sorry if it's dirty. I have cats um, okay, so Here's the metro Bruce says I guess I should retrieve my imx box from storage by that time scott will have moved on So I'm not I'm not the only one working on imx. Um Jeff is as well. He just found an issue with the spy being really slow and uh fix that so that's really exciting um Okay, let me get out teensies. Oh, let me switch this to tracking mode This camera that like overheads pretty good You leave it alone Okay, here's what we got. Um, here's a teensy 4.1 And a teensy 3.0 Oh, yeah, maybe we should have had jeff on again um So I think my understanding is that these are very similar I guess the teensy 4ro has 2 megabytes of flash, which is this tiny chip here But then there's a bigger flash chip on the teensy 4 one. I think it's like four eight. I don't remember um So that's those are all the teensies. So these are all these are basically all the boards that I know of Well, this is an rp2040 um But I don't know of a whole lot of people that have adopted the imx series and dev boards So all of the other dev boards I have here are actually from nxp who makes them So let me put the teensies away. Actually, maybe I'll set those aside um So one of the disadvantages of the teensies is that one they've got these tiny flash chips So if I'm debugging flash code like I'm not going to do it on these because they're just like I can't use my clip um David says are you going to solder pins on all those? No, I don't plan on it. Um, I tend to not Care if the pins work like getting the pins work is like the easiest part It's the flash chips that are they're a lot a lot more difficult So, okay, I'll put those away um And let's let's go through the line. So let's start at the bottom of the line So this is the 1010 And then maybe we'll compare the 1010 to the 1060. So the dev boards do get more expensive as well um, so There's the metro and the it can can't quite fit it. But um, there's it kind of overlaid and the imx 1010 here has uh, arduino pinout And um, I don't know what other stuff is on here I haven't done a lot with it Um, here's the flash chip though. So it's like a big a regular size flash chip. So like I'd be able to Use the clip on there to debug um, it's got Two usb's across kitty corner here and like on anything most dev boards like this have, um Have these like integrated jlinky sorts of things that that's what this chip is here So this usb simply by proximity I know is going to control the thing that loads code onto here And then if I wanted circa python, I would want it on this one um, oh and When was it that I was ranting about this? Um, there's three buttons and none of them are labeled They're just labeled with like Their switch number. They don't tell you which ones like reset and boot and stuff, which is outrageous to me four buttons uh Miguel says interesting Okay, so that's the 10 11 and I'm actually just going to keep these in these bags because they're labeled nicely Um, so this is this is exactly like impulse buying for digikey As it's available. So the next step is the 10 15 Which is almost identical to the 10 11 Um in terms of what it does except the chip is bigger And maybe I should show that but it's the same chip here. So you could see that like The one on the metro is like smaller Uh, so this is like an 80 pin. This is what's on the 10 10 and then the I think it's the chip That's the only difference here And again, we can see that there's like the four buttons There's the arduino headers, but they're not populated um It's got the same like audio out, which is what that must be for i2s maybe And then the here's the like debugger section and then the regular output Very similar, um And there's the flash chip here. They're they're pretty easy to spot. Um, they're pretty chunky unless they're not Unless they're real small So that's the 10 15 So we're looking for the 10 20 So this is a chunkier board and I should actually know what I did It's got like these legs to hold it up, but That just means that it takes more space So i'm gonna actually just unscrew them. They're just these plastic legs. I'll just leave them in the bag Um, maybe that's there because there there are these these dip switches On the on the bottom and maybe the legs. Well, I'm sure the legs protect it, but I don't really care Mark says I tried zephyr on it. It worked. So I turned it off again yeah, uh The nxp folks work on zephyr. So it should be well supported. Okay, sorry i'm Optimizing my space as I go along here I don't think I got this board actually working If I remember right, I think that's one of the things jeff was gonna check Actually Ah, and this one is interesting. So And this is probably why it doesn't work So check it that out. There's two giant chips here There is the 10 20 Oh, oh no, I dropped a screw I dropped a white screw on a white carpet Okay, so let's do a survey of this board and I think I have to actually zoom out here a bit Because the board is large So what do we have here? We've got our unlabeled buttons And we've got a switch we've got power We've got an sd card slot A headphone jack. So again, this is probably just an audio circuit and this looks this is probably actually a microphone If I had to guess and then there's ethernet Here and this chip here, my guess would be that it's connected to the ethernet. So this is like the ethernet fi And then we have This here Which looks like this is probably what the the dev kit section is again, it's got this like Groundpost to connect to so it's probably connecting Controlling this and now there's this giant chip And then this giant chip And actually this chip as well But this one looks like a can transceiver because like I think these three pins is can So I think this is can and then this looks like a flash chip Um, let me see if I can Yeah, so it's a It's like an 8-bit flash chip. So this is the flash chips we're used to using um But then this is out actually flash as well, I think um But I think it's hyper flash And hyper flash is this is either um, like eight bits at a time or Maybe even 16 bits at a time Um that you read from so I think this this board is one of them that has these two Different flash chips on here and we got a question from ham's lab saying what audio codex on there? um I can try to read it off it's like w m 8 9 6 0 g 7 c d u p d r I think so that's that's uh You check the datasheet they'll say it on there as well um Yeah, so this board is like a lot bigger um No display stuff which some of them may have So that's the 1021 Might be sd ram ah true bruce That could be sd ram as well, uh, you'd have to pull it up and look But I know that some of these have hyper flash in fact. Um, so that's the top of the lq fp um And let's actually let me take it back out. So there's that one And that's what 144 pins But then that's after that you get into bga territory Shaw look at why look it up when we can guess exactly Exactly why would I do that? um, so here Is the 1050 version and look at how tiny This is the imx chip here um Look at how tiny it is compared to how giant it is here And imagine that it's actually like the piece of silicon in here is probably Larger on the small one than the big one because There's a bunch of space taken up in this package Simply to break out all the pins around the outside. So if you look at pictures of Uh decaps Dropped it Luckily they're all in packs Spooks like what are you doing? Yeah, so this chip is just big because of all the pins that get broken out um But then when you actually go up in the line you get a much smaller footprint Um, but the pins are on the bottom So it it's much harder to rework um And again, this one has This one has the legs on it too that I kind of want to take off Jonah are you clapping because I dropped the thing Oh, let me get glass Okay So this is the 1050 And I'm just gonna Remove the legs as well on this Oh, I just remembered I have a pr I should check on Before I call it weekend If I don't end up testing the imx stuff, that's fine. I should at least commit it and push it If folks have more questions I can try to guess on their answers Okay, so I took the legs off this And again, I think there's just like a flat flex connector on the bottom Yeah, so this is a This is for a touch a display and a touchscreen So that's on there if you wanted to add it And that's because the 1050 adds that like parallel RGB interface So that's why it's on there. Maybe I haven't actually gotten this out wide. That's maybe that's why the legs are still on there Okay, let's look at the top So what do we have on the top here? Um SD card Arduino footprint the main chip And then this I think is the hyper flash. I remember like the 1050 I think is the thing that they came out with first I think there's both a hyper like an octal flash and a quad flash, which I think it's probably this one Yeah, that's what it looks like And then this is the can circuitry here again and then this I think is Dual usb's coming from the 1050 And then we have a power supply and a power switch And going around we have the ethernet here with this chip here and then audio stuff is over here I don't know what this flat flex is and then this is the this here is I'm sure the The like debugger side of things so this isn't connected directly to this chip And then you got some dip switches here with different settings And they they allows you to boot like off of this versus that for example Um Very gracefully handled while I'm on the interwebs Um, yeah, I don't know. I think I'm I'm not going to buy a dev board. That's more than like 150 dollars So I don't know what these run for we could pull it up on digi-key here But they're also kind of invaluable If you're we're doing work on them So this is a the great category evaluation boards bruce says 79 dollars Um, it's 89 here for me So here's the here's the the board that we're looking at so it's It's not on nxp site. It's 79 I just go to digi-key automatically Aaron says I can't hear digi-key without singing the great search song in my head. Yeah And in fact, I don't know if la more has actually done this category yet Maybe that's a good great search is the evaluation boards embedded mcu dsp I love I spend too much money probably when I'm making an order and I go in stock or in stock new product apply all Sort by price. This is my impulse buy aisle so to speak Of digi-key so you can see like oh pico's Like they've got 7300 of them right now You can see spark fun stuff here You can see black pill and it's actually the black pill that we carry Um, so you'll see ate a fruit boards show up here as well um It's always just interesting to see like nucleo boards are really Really good as well um Like they're they're clearly subsidized as mark's pointing out You can get the stm 32 h7 45 with the screen For the same price. Yeah, but you know what high speed usb Um, okay, so that's that's the 1050 board Yeah, and uh ate a fruit can be out of stock because people like to keep her just Um, okay, so that's the 1050 I'm gonna throw it on the floor now and then last up we have the 1060 board I've actually had these for a while most of this family's been out a year or two. Oh, let me switch back To the overhead Actually, maybe we should look up what how much does that 1060 EVK cost This one's just over 100. So it's 112 So what do you get for 112? So this reminder, this is the chip that's on the teensy. So this is why $20 for a teensy four is like a steal This chip is really impressive. It's like 600 megahertz, which is wild um It actually looks very similar to me. So we have the power stuff We have micro sd card. We have This is a flash chip. It says issi on it. This is a flash chip maybe it's I don't know. This might have ram as well. That might actually be Ram So what I see here is this looks like a flash chip to me This is says spanchion on it, which it could also be flash and then this chip is probably flash as well um Indra asks a great question Why they have arduino pinouts? I It's because of arduino's influence over the dev board world, right like Dev They have arduino pinouts so that you can have arduino shields on here. You buy A hundred dollar thing, but you don't you may want to try it with like your eink arduino shield or whatever arduino shield you want to experiment with it's just It became such a standard um That all of these dev boards have it as well like they're hard to spot because the shape's not there but like I could go grab an arduino shield and like plop it on there um And at least all the all the pins would be wired up So, okay, we have our two usb's here. We have our ethernet. We have this thing, which I I don't remember what it is That's probably actually it's probably camera Um camera is a good guess. I think this is a microphone audio out This is for can I would guess And then here's the debugger circuitry again And the dip switches So pretty similar to the 1050 um, and in fact, we should just confirm that yeah, it has the uh The flat flex for both the uh display and this is for like the touch controller as well Um, I think I think that's usually what it is So, yeah, that's the um if you wanted to buy what nxp releases for um I'm testing their their 1062 chip and all of the others in this line, although I guess I'll show you 1170 evk, let's see if they have that Yeah, so it's 180. So this is the gigahertz thing um, they do have 12 in stock um, but it's just like So far out. Oh, sorry. You can't see Um, so this is the this is the the dual core one gigahertz version. It's 180 and it's like Definitely above my impulse buy for dev boards But it would go with uh go in this box for sure All right, we know mark mark is advocate advocating for stm in the chat. We know mark likes stm um But yeah These can do screens as well They just don't have them sold with them okay, um, so i'm gonna put that away And maybe what I want to do is figure out actually let me check on the poll request Um that I that has been approved, but it was crashing And maybe we can get that in But I don't need one mark says just say a little more you need one and then she'll send me one I mean, she wouldn't send me one. She would just say order it and bill us They would pay me back for it But it's just not like we have plenty to do in this family before we get to that point um Okay Yanni's pointing out well now some prices could be higher than they normally are that's true um, I just want to check a PR Let me just Bookend this IMX stuff It's like 20 seconds fast So I've been working on switching uh circuit python over to the nvm toml stuff And I think I talked about it already um Jose david, thank you for joining We've got like 30 minutes left or so um So, okay. So here's the the pr that I want to check on And then I also so the one for the rp2040 was merged in already So if you're on widows and had trouble building like a little more We did get a change in earlier that fixed it. So there's that Here's the spy fix that I was talking about that jeff did And a couple other fixes. So thank you to folks there um Fix oh, so there was a fix to one of the There is a fix for one of the flash chip settings and Jeff like filed an issue on the nvm toml stuff like say fix it here too And so I was finally like, oh, I should just get everything all of our flash definitions and circuit python switched over um And so I did so this got merged on monday. So this is this is the pr to flash Switch the rp2040 to the nvm toml stuff um Yeah, paul says hi scott. I was late didn't know that usa had the hour been changed. Yeah, sorry about that I think it was like a week or two ago We we switched earlier than the world because we can't decide when we want to do it um Spy gaps very technical Yeah, if you look in that you'll see that it's like a bite and then pause and a bite and pause and Pause and it was because there was like some delay settings that were set that didn't need to be um Okay, so we got the rp2040 flash settings merged in and then I I was like, all right. I'll just switch everything over So this patch here switches The external external devices stuff that's shared um Oh, good. You went for a run. I should have gone for a run, but you know And yeah heads up to folks outside the u.s. You're probably going to switch time But we will not So just be aware of that. So this change here that looks ready to go Maybe just triple check it. Uh I just renamed some of the windbound chips. So that's what these are But we have this like shared system for external flashes For boards that just use a regular q-spy device um The ones that do execute in place that rp2040 and the imx have to do it themselves But this is the stuff that uses it Just externally just for the flash file system And I was like, all right. I'll just move it over. So the way I moved it over is just like we We used to have devices h and in there it had like all these defines And so now I just generate that file based on the mvm toml um, so it won't do any like Detection of flash sizes and stuff, which would be nice Uh, but at least we'll be all on the same page in terms of like flash settings So I had to split it up. So here's just device dot h and this is the struct it generates um, this deleted file is the old version and then Now we're doing a gingya file And the gingya file has a for loop over all the devices and just dumps all the settings in the same format um And just had to fix some includes change the make file a little bit And here's the quick, um python script that just Runs the nvm cascade toml stuff and then generates the file um So that's that it had a number of problems Uh Oh, and Jeff said that's a better fix than what I proposed. So, um, we have a couple problems getting it to build Um, gingya j i n j a not ginger. Yeah Um, so it's all ready to go. So I'm going to merge it Which will be exciting So the last up the only place what we have flash settings now then is on the imx Um So rp2040 switched over with this change The thing that I just hit merge on switches all of the other ports except imx over Um, and so now that gets up to speed I think Um, we're not gonna we're no longer shopping on digikey and we talked about the part stuff already so Okay, let's um Let me clean my desk up a little bit. I'm gonna unplug the celia stuff this socketed rp2040 is going away And Oh, you can't see my overhead So I actually just have like a I have like a bin Back under the monitor here that has that I'll just throw these stuff in. So I've done with this Um, there's the prototype rp2040. So we're done with that Um, I do have this clip. Um, that's really useful for debugging that. So I think I'm gonna leave that Um Leave that there So those are gonna go in the box Oh, and I have this tt 4.1, what do you think the odds are that my code on for imx just works Let's get this going. Let's figure out how this works again. So I have used this in the past. So it's possible It's possible it probably has circuit Python on it already. It's not a new board Um, so let me switch to Need oh, no, I don't have another micro usb cable I've got to have another one No, this is usb-c This one's usb-c J-link I don't need. Sorry, I should have thought about this Do I have one of these? Oh the rp24 micro mod. No, I don't I have some of the other micro mods though. I you know, I have this um Sensor thing that I've been designing. There's a micro mod on this side of it But I have the nrf ones not the Not the rp2040 and that it's actually like I'm a I'm a little late here Oh, you can't see Yeah, oh don't play again Um Sorry, I should have I should have done that. Oh, no, what is it doing? I just thought that was fun. We did we did our own great search The code works Now it's stuck in mark sprain um Okay, so the problem is is that I have a micro usb cable, but it's plugged into I have two on my desk, but they're being used so I need to find a third one I think that's where I'm at Because I want to try this So Actually, let let's just push this code So in my branch here I've got this imx flash thing and let me see Mark says I woke up one night to having the ion npi full extended version stuck on my head Let's see if the imx evk compiles here So imx rt 10 10 evk Clean Then we'll build that I was working on something else when that started to play and I immediately started singing along. I do too Okay, so it didn't work. Okay. This is perfect. So Let's actually add a definition. It looks like this is a flash chip that I don't have so This is probably better. This is more entertaining than waiting for me to find a usb cable um So let's just get it compiling here and this will actually be Perfect for showing how to add a new flash chip to the nvm tumble Um, so let's do that shall we? So I'm gonna hit the timecode thing and then I'm gonna adjust it because it's not going to be quite right So 29 50 so now I'm 30 seconds behind Or ahead That's kind of weird that the clock is that wrong Okay, so what happened here? um, we tried to compile and the Flash device that we thought we needed is the at 25 sf 128 a Um, and it says list index at a range, which is a terrible Error message But actually we could fix that too Um, so if we say let's see Sorry, I make all my windows tiny because I know that they're going to have to be smaller than I know really have them Um, okay, so do I have it open already? I do and that's what's up So what oh here we go length of skews is zero we tell you to set That But we should also check the length of flashes one might say terror message I don't know why you're getting all those uncrustify things. It should be all up to date We did run uncrustify and everything or at least we thought we did Um, Jeff and I fixed it last week. Um, so let's just say unknown Flash chip and we'll just change the exit code Oh, yeah, mark is pointing out that the black pill has nice curved traces Yeah, I'm excited for Um, where is this? I'm 44. I thought I just added a thing that oh flashes NVM All right. Well, that's helpful So now let's find the data sheet for this flash chip Some of my programs are control C and some of them are command C and it's the worst thing ever Gatsitoids says I ran pre-commit run all files locally so I can stop embarrassing myself by pushing white space errors Um, that should work. I think But I I don't think you need to because pre-commit should run on just the files you're about to change Like when you do get commit pre-commit should run and check just the files that you're changing Instead of giving you all those other ones to change Okay, so look at that first entry here is a a an a desktop technologies data sheet for that chip So let's open that up And we'll take a look at it and we'll also Um, let's dig into nvm tumble here. We can see flash a desktop tech and we can see we've got AT 25 df 641 a 0 4 1 a 161.tomol and 0 8 1 a tomol so What we should do is probably Uh sector protection changes. So let's duplicate And I'm going to just move it off screen while I copy what that it is an AT 25 sf 1 2 8 a okay And I I don't know why my browser does this Um So there's there's these comments that i'm just going to delete I have a feeling it's a 16 128 by 8 is what 16 Yeah, yeah, so it's a 16 megabyte flash So if we start thinking about what to update here Total size would be 1 2 4 8 And then 16 would be an extra one. I think that's right And um, what we want to do is now look at here so memory type is actually In device identification Which is I think this 89 Does that make sense? So it does a a 9f read So capacity is 0 1 which is Not correct Oh interesting. It's only not correct for 9f It is correct for 9 0 What what commands are these? 9 0 9 2 9 4 and a b Um So that's interesting that it's just wrong for 9f That's what capacity here matches is the 9f. So we want to leave that And memory type is the second one. I think so we're going to want 89 And then we have to figure out if it has sector protection, which I don't remember It doesn't actually matter security instructions I'm going to say no I'm just going to put no here. I suspect that the sector protection is a like old flash chip thing Okay, so there's that and let's just double check Uh these other things. So there's the 1f that we saw Um Let's just actually copy these in because And it might be kind of a pain to But I suspect this is a newer chip and we could probably do better Better off with it. So start time Microseconds is 10,000 Um, which I suspect is oops Probably so I think it's usually in power up timing So power up timing here There's this like Tvsl here is 300 microseconds, but then this there's this chip select not allowed Which kind of hard to tell I think we could just do it at 300 again. This is something that's actually not Used But I'm going to write that 300 in there and then what I have to do and The ones that changed Let's leave there What we have to do is we can't have one at the top and then one down at the bottom Like We can't have like a default value. We have to like if we're going to change the value It has to be changed at the same level across everything So uh max clock speed megahertz and this right now it's it's not Per it's not per command Um, so we can see here that like there's a 70 here For read regular reads. Um, and so that's what we're gonna have to put And then there's this quad enabled bit mask. So this is going to be in product overview There's usually a status register Thing that tells you here it is status register table Okay, so quad enable is in the second status register byte. So this is really common So it's two And it's also in the second Uh, so this these are the values we got from the top. So that's the same And then write status register split. So the question is is do we have instruction descriptions so Right enable for Yeah, so there's this 31. This is the split right that we would need So that is true And now we need to know can we do a 6b quad read? Which we can And there is a dummy byte which means that it's eight So that is true as well And 32 cues by right Is this quad page program Um, and it can do that as well so pretty neat, um And unfortunately now what we have to do because we have this kind of rule about What is at the top? Is that I think All but manufacturer we changed Right, so there's one two three four five six seven Is that right? Yeah Seven there one two three four five six Max clock speed quad enable Uh, this enable status byte two is correct Okay, so these these six settings we have to move to all of the other flashes under here unfortunately Because we've changed it at that level in the for the new chip And I wonder if I got one of these Actually, I shouldn't have closed that. Um Let me pull it up again So I'm just curious if I actually have one of these chips I mean besides the one that soldered down there I have this at qf. I don't think I got maybe any that were that big sf 161 I do have some others but not not that large of one So we'll see Okay, so that's all set Um And we configure this what we think is correct But I think that there's also let's see what other things so there's this template file, which is really handy Um, so maybe we want to set some of these as well Since we're looking at the data sheet here So continuous status right we can read up on we did the quad enable status bit And the e7 quad read is I'm curious as well So let's look at oh look it has e7 and for and then dummy six Which is What's six say So it's got two dummies here Which is correct. So it does have this quad word as well And then continuous status right. So what we want to do is we want to look at the Right status registered zero one And here it could say in byte three that we could do the second bytes worth of stuff, but it doesn't look like that's the case Um, so I just want to triple check because the windbond says like oh like If you happen to give us the second one for backwards compatibility, it's okay um But it doesn't look like So it says The right status right status register instruction has no effect on these bits Cs must be driven high after the eighth bit of data byte has been latched in Um, so that means that like you can't do 16 bits Um, so the answer to can I do continuous status rights meaning can I write two status bytes at once? Is false So that's correct Okay, so we've defined it and we should now be able to build With that definition Except something happened So let's take a look Oh None none undeclared that's suspicious That sounds like a python-y thing linking through Um So let's figure out where that is it's in read sdr line 102 So let's pull up the template here and line 102 is Quad enable status byte Which I thought should be two But it's none Did I Remove it accidentally from here? Yes, I did quad enable status byte Two okay So let's see if that oh and it probably needs to It's not smart enough to know the dependencies Any final questions we got 10 minutes left computers hot And it's compiling kicking up the fans. Okay, it worked Great, um, I my guess is that some of the other ones will need that as well um So in the last 10 minutes, I think I actually just want to get this committed I'd like to commit to get out to just simply have it backed up um And I realized that My youtube was covered over So let's say get status Let's move to Let's get the data stuff checked in first Get add Get commit, um, actually let's Pull In case I All right already up to date add a flash from I and xrt 10 10 Okay, and then we're get statusing get push Origin main I'm bad. I I I'm not doing reviews yet on the nvm toml stuff Even I probably should Okay, so that's set huh That a2 says if the teensy 4 1 in the future will be able to run circuit python will radiate and move the testers to circuit python Would be cool to have circuit python hardware testing circuit python hardware So you can run circuit python on the teensy 4 now Um, we've actually had support for it for a while. Arturo did the initial support, which is really great Uh, but it's it's it's out. Um, this work. I'm doing here is just to like change the way that we do the flash settings Um, the older way worked just fine. It was just like not centralized And so when it like when jeff came up to do the metro And the metro had a different chip now that it did before Like then he was like, oh, it would be really nice if we just use this nvm toml stuff for for the chips. Um Anyway, yeah, and the thing that um The testers use usb host which we don't have for circuit python So maybe once we have that But yeah speed to speed is important Um, okay, so let's see what we've got here in our changes So the other thing here is I'm making another repo. So let's do that Um next so ports Um, I am x i am x rt flash config. So this is actually a separate Thing and I'm just gonna add that all get commit Um So version and I should put a read me and a license file and a get ignore Dang it Uh, dang it. I don't want to This pie cache stuff. I definitely don't want so let's do Get ignore And I think it's um pie cache that should be enough, right Get reset I don't know if I can reset. That was the first commit to the repo Uh, so I don't know how that Works So I think what I can do is I can do get remove templates pie cache This file and now there's this um Thing stage I could do get commit Amend And now I can see it's only adding the files that I actually want to add Okay So now I need to make a new repo I am x rt flash config is what I'm going to call it So I'm going to go to eta fruit and do get eta fruit get hub eta fruit new I am x rt flash config simple script to generate I am x rt Flash config structs Based on nvm toml. Oh, and I thought I needed to Have the path in there So that's good create the repository And now there's nothing in it. So now I copy it and I do Get remote add eta fruit That link and then I can do get push eta fruit Main And now we should see Oops This will go away and now I have the files And the reason I'm doing this as a separate repo is that I'm going to use it in tiny of two as well and maybe even tiny usb Um tiny of two for sure to start with but um tiny usb might might need it for the examples Okay So that's there. I should add code of conduct read me that sort of stuff Um, but for now since I'm just trying to get all my code checked in That's okay Now I have to do this weird thing because right now I just made the folder and then I get an edit it But I actually want it as a sub module So I'm actually going to remove That folder Which is a little scary But then I want to do get sub module add branch I am X RT flash config And then uh, this is actually almost right I think HTTPS github.com eta fruit I am X RT flash config Ha ha So now it should add it as a sub module so You can see that it modified the get modules This so get modules is what tells you like oh this folder points to this particular repo And then the file itself tells you what committed is I think that's the way it's done Um, and you can see there's a bunch of changes here And so what I'm going to do is I'm just going to add those I might um Rebase them later But for now that's fine builds Okay Sub module This is not ready to pr yet, but um At least I can push it up to my stuff And I think it might Ideally it would run the ci so it would tell me all the other ones that I broke that need flash definitions Let's just check that out tan new slash circuit pack on And this here And let's just see That's Right so start refactoring it did um fail seven checks here So it failed all the evks And it failed the metro. I think it failed everything probably And it failed the feathers Did it not fail the teensies? That's funny It's probably just not listed here Um, but yeah, that'll be interesting to see Uh, how many of the boards are building as is right now? Um, and then the next step is to actually make sure that it works. Um Minor minor thing Um, but definitely making progress. Um, are there any final questions? Nerodox says I would have run the get some ad without deleting the directory. That was scary I could have changed the directory and done it done it But I wanted to make sure that it was like not I don't know if ad works if you already initialized the get repo Um, and I was pretty confident that it would work because I like looked on github that the files were there But yeah, it probably would have been smarter to to move it not to lead it To get it out of the way Yeah, so that's um about it. We could just do We could just see if the other boards build Uh, I'm a little bit interested with that. I'm excited. Everyone's excited about blee Oh, Nerodox says it should have worked without even moving it. Oh I didn't know that Um, let's see what works here feather m7 10 11 clean Whenever I had to delete something or move it weirdly, I always back it up first as I don't trust myself Yeah, like I feel yeah, I feel like I usually back up to to github so that's kind of Kind of the way it goes Okay, that one works Um m i m x r t 10 11 Some of these are by adafruit and some of them are by arturo Divo it says is that chrome web browser you're using I I use it for video chats, but other than that I uh, I use firefox Oh, good night, dave Coffee's wearing off now time to hit the sack Thanks for hanging out It's always fun to have folks watching Okay, that one worked too Let's see if the 1062 does the I the I bet it's just the evks that are going to be a problem because they have weirdo Weirder chips. Oh, that's interesting A warning about cast linemen That's using a different copy of the drivers. So that might be why Um All right, let's list boards again So all the feathers built m x r t 10 we did the 10 10 so let's do the 10 20 Unknown flash chip. Okay, so that's not surprising So the 10 20 doesn't work Let's see if the 1060 probably doesn't work either Ha ha time machine is a low effort backup that may or may not work I trust my manual backups I do and I trust that when I move to my nas and let it handle the backups to external drives What do you use for the deduplication versioning and compression? I was planning on moving the butterfs Okay, so there's another flash chip that we don't have Uh for the 1060 which is not surprising Um the metro should work m 7 10 11 Maybe I just do it It's built in senile into senology. Yeah, okay Okay, so now we just have the teensies to build I think senology doesn't use better fs. I think they said like oh ours is better All right, so there's that error again If we only have two to add maybe I'll just do it Do it now And in fact, there's this other repo called the raw Um, maybe we just do it Okay So I actually where do I have it open? I have so many Windows, okay, so here's the data sheet. Let's actually let's do this. Let's save page as And then I also have repos nvm.raw So this is where I'm just collecting all of this stuff Um, so let's do a desto tech new folder and then That's exactly right. That's what we want to call it the same like the skew name There and then we're going to want um to add a data sheet url Trying to collect everything in one place, you know new file at 25 sf128a.toml And let's figure out how we can get that So how do we find this data sheet? Oh, I think we just searched for it here a desto tech Who knows if that's the newest version though. Let's actually find it from the manufacturer So if we go to a desto tech And I don't know why Brilliant is the first page, but products And what if we just search for it? at 25 sf 128 a Wow Well interesting it downloaded a data sheet that's 1.3 megabytes bigger Oh, they had to tell you that they were purchased by dialogue um, let's see if the uh Usually at the bottom there's a revision history So here we can see Added a part number and ordering code And 121 so likely this other version that I just saved Is out of date Not that out of date. Um f versus Yeah So it's interesting that um, like this is a perfect example of why I want the url in here too Uh, so let's save page as and we'll just save over it And it's kind of unfortunate That like we just searched for it and we clicked it I don't know how to I don't know Memory maybe if we click in here we'll find a So, oh, this is interesting like product families driver reference package So they don't really have A great let's see what those resources Application notes Layout guides Like none of these are really a great Not a great place to be like I want to go back to where it was Oh, and it's on dialogue now too. Maybe it was before All right. Well, we just searched for it. So I guess I'll just What was the other thing I could I said And I think renaissance bought dialogue Joe gold says urls change all the time and manufacturers do not always preserve product data sheet urls. Yeah, totally That's why I actually have um I have a second one that's like Where do you go to get the url to the data sheet and that's also why I copied the pdf, right? So in this windbond, I had this data sheet link url So let's just Call it that And I hope folks like who are doing flash things actually like Are interested in How do I find the link 25 SF one two eight Search products weird If I open the network panel Can I see where it's downloading from? Oh, there's what is this a desto memory for? Oh look at that There's a There's a url copy Okay, so we'll put that in here even though it probably it's not per Probably won't change with the revision. That's okay I just I'm curious what this other A desto memory for XP. Oh look at that It's like specifically for the rtmc use Huh free evk refit available so they'll like swap it out for you That's pretty wild. All right. I'm I'm over time here um But yeah, I forgot to do this This bit of it So good. I I think that's fine And the question also is like do we rename this a desk detected dialogue or even like Renate sauce if they if they bought them Um, but for now, I think this is fine Um, so let me just I'll I'll commit that and push it just so that everything is backed up like I said um Mark says these streams motivate me to work. I got audio mixer for the rp 2040 prd In theory should work for any non-m4 or two. That's awesome. Thank you mark People will be excited about that A desk to tech info Alrighty well, it's been a pleasure everyone Uh, let me switch to the camera and take a final timecode Even though the clock here is going to be wrong. I need to use a An rtc for this I don't even know why Um, thank you everybody for joining me on this deep dive Uh, next week will be on friday as Uh, will be the week after that and the friday the week after is open hardware summit until 230 Um, so I mean actually I'll just like leave that a little bit early Um, I will be presenting in the morning at like nine o'clock my time And uh, it will also be a one-year anniversary So if you have things that we should do to celebrate one year of me consistently streaming Um, let me know I'm open to ideas. I think that would be fun. Um And oh, I don't know besides that. Um, yeah go and ski in tomorrow, which should be good Uh, as always if you want to support me go to Adafruit.com and purchase any hardware that you see there that suits your fancy If you don't know what you would do with it check out learn.adafruit.com There's lots and lots of tutorials, uh on how stuff you can build with adafruit.com stuff That's kind of our marketing And, uh, if you want to check out circuit by then go to circuitbythen.org If you want to chat with us all week, um Feel free to join us on the adafruit discord server at adafru.it slash discord Um, that's where you can find me in a whole like tens of thousands of others Although I don't know what are active thousands at least active folks there. Um I think that's it. Uh, check out for more imx improvements, uh primarily thanks to jeff and, uh Hopefully next week i'll be on the beli boat. Um, just wrapping up this flash stuff and then it will be beli workflow Which i'm excited about i'm doing a kickoff meeting on tuesday With trevor and i i remember folks wanted to have trevor on here as well So i'll i'll let him know that there's a demand for that. So, um, thank you as always, uh The cat is licking his butt. Um, I'll pet him after that That's the beauty of cat cam, right? All right. Well, I don't need to pet him. We don't need to watch this Um, thank you all have a great weekend. Uh, try to sacrifice on support adafruit and have a great weekend