 and welcome just Lady Aida. Hey everybody and welcome back to my desk. It's me Lady Aida at my desk, doing a slightly different video setup but hopefully all will be working out awesome. This weekend we did a lot of work on IMX RT Metro, which is a product that I was totally amazingly ready to release around January of 2020 and I was working on it and then like things kind of like went downhill and then I couldn't get chips but now I can get chips. They're totally available and I thought I'd show, you know I'm kind of like reviving it because we had it coming soon in the store. We even got Circuit Python, bootloader, everything working and just like it's just really bad timing on the Metro's part, not its fault, it's just how it is. So let's go to the overhead and I'll show off this board. So this is me, when it's just Circuit Python it's just doing a little graphics test here and this is the, let me just move the overhead up a little bit. So this is the Metro, sort of looks like and I like this shape, you know, it's basically Arduino pinout compatible. It's got SPI port over here. The IMX RT 1011D, which is the chip we're using. I'm using ESP32 as a co-processor. So it's just does wifi support through Circuit Python and works pretty well just over SPI. So you can get TLS 1.2 security. So you've got the headers. You can, as you saw, I plugged in this shield. So this shield's a really good way to demo because it's got SPI for the TFT and microSD and then I squared C for the touch screen. So, you know, using this is good to test both at the same time. It's got SWD because it's a Cortex M7 eight megabytes of flash, USB-C NeoPixel over here, reset button and then nice 12 volt DC jack with an on-off switch. So, you know, your standard Arduino pinout it's not gonna be green. It's gonna be probably purple in the end. And the nice thing about this IMX chip is it's got enough pins basically for all the Arduino GPIO plus, you know, the couple extra you need, the three for SPI I squared C and then a couple extra GPIO for controlling the ESP32. And so far, you know, it actually worked really well. Again, it was, you know, three years ago it was working great. And then it just like kind of had bad timing and it just got dropped in the excitement of COVID and then I couldn't get chips. NXP was hard hit. Like if you had NXP parts in your design it's been really rough for you. So my sympathies. Like I said, you know, I just randomly checked to see, hey, can I get these again? And it's like, hey, they're totally in stock at Digi-Key. So like, let's do this thing. So the thing I worked on this weekend which is the kind of the most important thing is to get the tester going. And, you know, people who watch Desculay Day to know like the tester is, you know, it's the second design. Like the first design is the board and the second design is how to program it. So my, the easiest way for me to, the easiest way for me to program boards is with an Arduino. So like this is an Arduino based tester here. So this board has Pogo pins and I program it through an Arduino IDE. But the second best way for me to program stuff is with a Raspberry Pi. This is, I'm recycling, this is not ESP32S2 obviously but it's just I had this tester lying around. And so I have it hooked up to the USB-C. This USB-C goes to the Raspberry Pi, which is, you know, basically the thing is is that if you have any test code that can run on Linux, I used to have, you know, anything with an ARM Cortex I used to program with a J-Link. But J-Links are kind of expensive and honestly they're reliable but they're like not always as fast as whatever is built in. Luckily lately, a lot of the chips that we've been using like the ESP32 and the RP2040 and the NXP have built-in ROM bootloaders. Thank you industry for having USB ROM bootloaders. It's been, NXP actually was one of the first companies to do built-in ROM bootloaders with mass storage. So big, big crops to them. All you have to do is set these boot select switches. So there's two switches and there's I think only three or four, three modes. One of the modes isn't used. But one mode, if you have the switches, the opposite of way that I have them now, it puts it into USB ROM bootloader and then you can again, bootload it over USB. It shows up as like a HID device and then you can switch the switches back and it will boot into whatever's programmed into the flash. To load the code onto the NXP chip, you use this program called SDP host. So let's go to the computer and actually show this because it's handy to know. Do you have questions while you do this or you wanna wait? Yeah, just throw them at me. Okay, what does the IMX offer compared to the SAMD chips or the RP2040? Massive, massive speed. It's a Cortex M7. So the core itself is much faster. It has like more instructions like the M7 instruction set can do more. So if your code is compiling to M7, you're gonna get that benefit. It's got a ton of RAM, 128K of RAM. And it's got a lot of megahertz. You want hertz? It's got mega, 500 of them. So 500 megahertz, not overclocked. That's just like right out of the box. Whereas the RP2040 Cortex M0 plus, running at about a 130 megahertz. I mean, you can boost it up to overclock it to 250, but it's 130 is what it's spec'd at. And the SAMD51 I think is also 120. That's a Cortex M4 and you can boost that up to like 200. But again, we're talking about orders, almost an order of magnitude, more speed, five times more speed. So for uploading code, thankfully, there is a cross-platform tool that NXP wrote called SDP host. Like yes, again, thank you for making it cross-platform and not Windows only. There is a Windows GUI tool and it's totally weird. This command line tool is easy to use. It's documented over at NXP under SP SDK. It supports Python 3, does not require 2.7. Again, thank you so much. A lot of chip companies are still using 2.7. Thankfully, many have in the last decade, finally moved to 3. So SDP host allows you over USB or UART to upload code to again, that ROM bootloader. Once you load that code, and we have actually a guide on this because I keep forgetting how to do it. And in fact, while I was working on the tester, I forgot and then I forgot that we had this guide. But anyways, you got these jumpers, you set the jumpers and it shows up as this HID device. And then you run SDP host, you tell it to write the file to this memory location, which is an SRAM. So the other thing I was a little confused about, the bootloader does not write to flash. The bootloader only writes to RAM, but then you can have your program that you're loading to RAM write the flash. So you have like a stub. This actually kind of makes sense because like the QSPY memory might have initialization and you don't know what it is and the bootloader may not know about it. So the bootloader runs from ROM does not know about the QSPY flash. You load through SDP host into SRAM, right, that's the 2020 address start. And then you see it load, this binary file, this is just wrapped over and then you tell it to jump to the address. This is after the right address because this is after the interrupt vectors. You tell it to jump there and then the binary, the uploaded actually will initialize the flash and write the second stage bootloader, the teeny U of T bootloader into flash. And so, you know, if I have this board I just double clicked it and this is what it shows up as Metro M7 and then you get the U of two, the index HTM that takes you to the store and then the info which tells you, hey, this is a Metro M7, you know, we have A. So that's the second stage bootloader because again, this bootloader is always in the long but it's like, it's a little bit like funky and weird and we like our second stage bootloader. Okay, what IDE would this work with? MCU, microcontroller, espresso? Yeah, you would definitely be able to use this with MCU, espresso, yeah, espresso, except I also have to write, so we had to do two things, sorry, three things. So one, you have to load the bootloader which we use with SDP host. The Raspberry Pi, again, we have a compiled binary already done, it turns out that we're compiling the binaries all annoying but we've compiled the binary for Linux for armed X7, whatever, 64. It's available in the GitHub repo here. So we already have bins, please just use the bins, don't do what I did which is like, I'm gonna compile it. No, it turns out it's a total nightmare to compile. Windows and Mac, you can pip install it, maybe it's not so bad, but on Raspberry Pi don't. Then what we do is we load in the ESP32 programmer. So this is an NXP espresso program that toggles the GPIO for the ESP32 to get it to bootloader mode and then takes CDC data and pushes it to the UART and vice versa, right? It creates a USB to UART converter to the onboard ESP32 so that I can run ESP tool on the Raspberry Pi and it's like seamlessly thinks I'm just connected directly to an ESP32 and I can program the NINA firmware which is the Wi-Fi co-processor. And then the third thing you have to do is I have to test the board itself and so I have a new program. So I actually kind of learned an XBXpresso code over the weekend because it was like, well, I have to write the code to test the pins and the way I do that is I have two pins that are not physically next to each other tied on the test board and then I pull one high and I test if it's high and I pull it low and I make sure it's low and make no other pins are shorted and that's a great GPIO test. It works wonderfully and it just catches bridges and makes sure that there's no cold solder joints but like there's no Arduino core at this time for this chip. I don't know if we'll write one. The RT, I looked RT 1011 kind of everyone sort of just writes an XBXpresso and like I said, we have CircuitPython. I don't load CircuitPython on purpose because whenever I've done that and shipped people CircuitPython, it gets out of date so quickly because we do so many revisions that people have issues with updating and they think they had the latest version and it's very hard for me to keep it up to date. So I'd rather have the test code be in C. It runs very quickly and then when people get the board, you know, it works and then they can load CircuitPython. So this is, I made like a really quick, like Arduino-ish core and this is in the teeny UF2 repo so you can, it's hidden behind this, but it's in github.com slash Adafruit slash teeny UF2 in the new Metro 7 branch. So all the pins and this is like the GPIO and MUX details and whether it has ADC and then I kind of made like a fake print F to this USB serial. I made a fake millisecond timer, fake delay, you know, I think to help get the pin map, digital write, digital read, pin mode to, you know, set the digital in and out for the pull-ups and reading and writing so that I can check the GPIO. I started on the analog read, but I'll say actually I didn't get quite far with this. I'm missing some include and there's like three different ADC includes and I'm like, I'll figure this out later. It's not important. I don't need, I didn't need this to kind of get started. I can always, you know, get that going before I ship the hardware. And so then I load, you know, I have this quick, like digital, this function that I used to test pins that tests all the pins and the pull-ups and everything I could copy it right in and, you know, it tests all the pins, then it says okay. And if it isn't in test mode, it does a NeoPixel swirl. Oh, this is actually not the latest version. Shoot, okay. This is not, the code's not here, but there is RGB right. So it does a, I added a little NeoPixel swirling animation. So let's go to the overhead and I'll do a quick final demo of this just to show what it actually looks like when I'm running it. So the board is loaded in and now it's hooked onto something. It's loaded in. I'm gonna have a PogoPin for this, you know, this, like I said, the boot switches have to be changed to enter into the boot loader. This is the reset. So I only need two jumper, two PogoPins that will go to Raspberry Pi. And just a nice thing about the Raspberry Pi is it has USB, but it also has GPIOs so it can like toggle things for you. So the first thing it does is it resets, it burns that TDF2 boot loader. It loads in the ESP32 programmer and then now it's running ESP tool. And one thing that's nice about running ESP tool on the Raspberry Pi is it compresses the firmware because it has this, you know, it can do the stub loader. So it's much faster than programming it from memory that it runs that test I showed you and it says test okay. And we're good to go 26 seconds and then this is that NeoPixel swirl and the readily these blinking. So that's it, like all hardware is tested and chip's good, ESP32 is tested, USB is tested. This is pretty, you know, and then I also test the DC jack with a voltage divider once I get the analog read going and this is good to go. So like these chips, these are my samples that I have been using, but now I have a reel of them. So I'm super psyched to get this board out the door. And then what's funny is I actually have, you know, when I first started this, we were going to do a feather and I actually, from what I recall, we contracted Arturo who has a company electrons. I think it's called now or maybe now it's called something else, which I can't remember. And also a company named Electrons. And he designed for us this really cool feather M7. So this is, you know, we're going to be able to release this as well. I did an awesome job with that looks familiar. That's that Molex micro SD socket that we've been using lately. It's double-sided, but you know, we might actually convert some of these parts to 0402. This is definitely a four layer board, I think, or maybe even a six layer, but we can convert some of these parts to 0402. Also, if you remember from the RP2040 Bones video, we found some smaller versions of some of these components. We can squish this down and we, I don't know, you know, we wouldn't be able to move the micro SD card to the top, but we might be able to move these capacitors. So like, you know, you could have a version without the micro SD card if you wanted a super flat version. So I'm super psyched. This looks great. And, you know, now we have parts available. We can actually get this. This is in the future. Does it use the internal 500 MHz clock or external crystal? There's a crystal. It's right there. You can see it here and then you can see it here. 20, I think it's a 24 megahertz and there's a face lock loop inside. So that's, that's that. So any questions before we move? And I wanted to slam round. I can go on. Okay. Let's move on to great search. Alrighty, here we go. Where is search with DJ Key? The Great Search brought to you by Digikey and Adafruit. Thank you so much, Digikey, every single week. Lady Adusor, power of engineering to help you, yes, you find parts that you need. Lamor, what are you looking for this week on digikey.com? Okay. I wanted everyone to know that this week that the IMX RT series chips are back in stock at Digikey. Not every single one of them, but the ones that I'm looking for, the RT-1011D, but I also wanted to show all the different kinds of IMX RT chips. So you can decide which ones are for you and also have a couple of samples here that I can show off so people can see, like when I say BGA, how big is the BGA? When I say QFP, how big is the QFP? So let's go to the computer. Don't forget, if you are using IMX, we have a little tutorial on how to install the Tina U of 2 bootloader, second stage bootloader that we publish on GitHub to your IMX board. So like I said, the chip that we're using, there's the IMX RT-1011C and the 1011D. The 1011C runs at 400 megahertz of 1011D, runs at 500, I love more Hertz. So I'm going with that. And then if you're like, what's the difference between these? This link, which we'll post in the video and also you can just Google for IMX crossover MCUs and it's on NXP's website. You can see that they tell you the difference. It goes from most complex to least. And there's some good stuff. So let me tell you some of the differences here. So like I said, we're using the 1010 series. So it's a little confusing because it's called the IMX 1010, but there is no actual IMX 1010. I don't believe that actually exists. There's the 1011. It's like, it's a, you know what I mean? There's like a series called the 1010, but the actual component is called the 1011. Let me see if they have the part number here. I think, yeah. So these are the parametrics. Okay, so you can always go to the NXP site if you want more details because they'll have like the exact, you know, perfect setup. So the C series, 400 megahertz. Whoa, didn't want to buy that. 400 megahertz, both have 128K of SRAM. If you want more SRAM, I'll show you the next series. Two I squared C, two SPI, four UART. And like if you're used to some of the chips like the NRF 52 or the ESP32, where you can kind of like move whatever peripheral around, that's not true. The pins are set, not set, but there's, you can't put them on any IO. There are like chunks that are like UART and I squared C and SPI. So you have to muck them out. That's not unusual. There's a lot of pins available, but, you know, they're not super fixed. They sammed, you know, the, at mega, 328 and they're not super flexible like the NRF 52. Both have 16 bit PWMs, both have ADCs, no DACs, looks like the C series has a slightly wider temperature as well. So slower, but wider temperature range. Both are LQFP 80. If you're like, oh, you know, I like the 1010, but like I want more RAM, the 1020 is kind of the next update. That has, if you just want more pins, you can go to the 1015. That goes from an 80 to 100 LQFP. So you probably get like another 16 GPIO, still 128K RAM. The 1020 is the big leap to 256K RAM. And then the 1024, this is actually interesting. I think we covered this on INPI when it came out. The 1024 is exactly the same as the 1020, except it has four megabytes of flash built in. So you don't need an external QSPY flash chip. I'll say though, like the pricing isn't like, like it's not good enough in my opinion. Like I would just take the 1020 because then you can stick whatever chip you want. But if you're like spacing constraint because it is 144 LQFP, this is a big ass chip, you can get of course the version that has the flash, you know, bonded inside. And then after the 1010, 1020 series, you actually get into like the pretty like, not like something that pops up to like very advanced peripherals. So you're still gonna be looking at, you know, 500, 600 megahertz, right? But the SRAM gets huge, 500 or even one megabyte of SRAM. This one, the 1064 even has the, that flash memory built in. There was a GPU, the graph acceleration and it has parallel display interface. So this is parallel TFT out. So that's, you know, a 24 bit TFT display with Hsync and Vsync. Of course you could always run SPI displays if you want like a seven inch, 10 inch display, eight inch display, 10 inch display. Basically everything before LVDS or MIPI, parallel is your way to go. This still was the 1040, 1050 and 1060 are still gonna have the iSquared C SPI peripherals but they're gonna add CAN and built in Ethernet. Now for the Ethernet, you'll still need a PHY. It's just like the low level, that's not the low, low level part of Ethernet. It's like the software side of the Ethernet and you'll still need a TLS stack and like LWIP or whatever to run the Ethernet. So, you know, I know people who've used the teensy which is I think the 1050 and 1060 series. There's code there for controlling the Ethernet peripheral. And then, oh, another thing that's interesting once you get to the 1050, 1060, two USBs you can have one host, one peripheral. And by the way, they're all high speed USB. The 1010 even has high speed USB. So, very, it's impressive because it's where to see high speed USB in a microcontroller. Usually it's full speed like the ESP32, RP2040, SAMD series are all full speed, not high speed. So, let's show really quickly the chips on the overhead. Let me see if it's possible to go, thank you. So, I don't have a ton, I'll be honest with you, but I have a couple 1010. So, this is the 1011, so this is what the 80LQFP looks like. You know, it's designed for a two layer board. Got a four layer, of course, for easier routing, but you can absolutely make it work on a two layer because I did it. Four layer will just, you know, make it easier to route all the pads and of course you can route them underneath. This is some 1062s, I've got, I've got a couple. So, BGAs, you know, pretty, I think these are 0.8, so they're not super fine pitch. You'll need to fan them out, but it's not too bad. The 1060 series. And then let me see what else I've got here. This is, I've got some 1051s, just like five, maybe this is the 0.8. Oh yeah, sorry, totally different. So, you can see the difference in the BGAs. So, sorry, this is, I think this is the 0.8 pitch. Check the datasheet though. This is like 0.5 or 0.4 maybe, no, 0.5, 0.6. So, this one's gonna be a lot easier to route. Still four layer, this one you might not have to go with a, you know, a six layer board for that. So, nice chips. And then, let me think, what else I've got, show off. I've got a, that's pretty much it. Okay, so you've got the QFP and then small BGA and large BGA. So, let's just go to, did you get it? I'll show you, searching for them. So, this is the Mimics RT series. And there's lots of evaluation boards. Don't forget, you can also use a TNC to develop with these, that this was the 1050, 1060 for microcontrollers, even though again, once you get the 1060, it's actually kind of good enough you could run Linux on it in theory. So, there's quite a few in stock of a few different versions, the 1052, the 10106 series. Couple other, like, it looks like there's a few from a different family. They said the 1011 is in stock, lots of them, 1051, 1042. So, 1062 is over here. So, if you are interested in playing with these, especially, you know, like I said, the 1011D, 1011C, there's also an evaluation board, RT 1011. Let's see if they have. An evaluation board. I did purchase one, but I don't know if it exists anymore. Hold on, let me see what this is called. I could also be incorrect. Oh, and by the way, I think, wow, this one has a free scale logo. I guess this used to be free scale. Yeah, I have this a 1011D dev board, but it looks like it may not be available anymore, but this is what it looked like it had. Oh, sorry, can you go to the overhead? The Mimix 1010EVK. Also, you know what, maybe I'll search for 1010EVK. 1010EVK, and let me see. Oh yeah, can you, sorry, can you go to the computer? So, that's what it was under. Thank you. They do have them in stock. It's called the 1010EVK, but again, comes with the 1011, less than 50 bucks, comes with, you know, debug, port, crystal, like, looks like a WM8960, so an I2S Kodak for microphone speaker, and Arduino headers. So the one I recommend to, well, pick this one up, if you're interested, but the one I'm using is the 1011D. So this is my pick for the great search. And that's a great search? That's right. Alrighty, some questions, are you ready? Yes. Okay, with boards just coming back in supply like the M7, are you having challenges with other components like LDOs, et cetera, being stocked for everything? No, the LDOs are actually also totally in stock again, and at a reasonable price, some motor controllers are back at a reasonable price. Everything's back at a reasonable, not everything, everything, but many, many, many things are back and at a reasonable price at this time. All right, next up. I know you said this board design has been on hiatus for a couple of years, but how much time do you think you've actually put into this? Curious how long it takes for a board designer to make a board? I think, you know, I've probably put maybe, you know, 20 hours into this board so far, but it's like a very focused, I mean, like that doesn't count like the researching and like specking parts and like the historical time that I've spent, but yeah, 20, maybe 20, 40 hours total. Okay, any idea on the Feather M4 Express will be back in stock? I saw my trip saying August, September. I know. Sometimes what I was curious if it'd be sooner since you had a backboarder for forever and... I do have a backboard for forever, but I really don't know. The SAMD-51s are some of the only chips that I'm really struggling to get. The SAMD-21s actually we just are getting, there's a shipment on the way, which makes me think that all the SAMD-21 stuff will finally be back in stock like Circuit Playground Expresses, but the SAMD-51s are still like ludicrous. Okay, any plans for a SAM-E51 Metro? There's a bunch of stock at Digikey and the 100 TQFP package right now. The thing is I'd have to redesign it by the time we redesign it, like I'm not gonna get chips, so. And yeah, basically, I'm just gonna wait. But we might have the, I think we did get some SAM-E51s for the Feather. So ironically, the Feather M4 can, I think will be in stock soon. Okay, the Metro M7 has 128K SRAM. Is there any chance the Feather version will use external SPI RAM for a larger memory space? I don't believe it can map external SPI RAM. And question, what is this board's happy voltage range? This is a 3.3 volt chip. All right. All the Cortex-M series are gonna be 3.3 volts. That's their kind of preferred voltage range. Oh, could the M7 chips do basic video streaming? Theoretically? I mean, not like encoded, like not MPEG decoding. Well, maybe. I mean, that's the, I mean, they're really good. Oh no, total check. You know, at 600, 500 or 600 megahertz, you know, on an M7, they all, they promise you have to have the memory to cache it, right? It's not a processor speed. I think it's a workspace, memory workspace issue. So it has the horsepower, right? Because like, I think it's got the speed for it, but I don't know. You'd have to have it be encoded in the right way. And of course, you would have to have it all, you know, if you'd have to DMA it, but you theoretically could. I think that these chips, especially the 10.6 series, you know, could theoretically even run, I think they can run Linux. And I wouldn't be surprised if there was a small distro that could run. And then, you know, that would be the way to do it. It's not optimized for video, but could probably do it, but it would be a lot of work. Okay, well, if we would have ADS-1115 ADC, does it have shortages? The ADS-1115 is in stock, I guess, I'm pretty sure. Are we launching a line of branded baby toys for young makers? Well, we're probably gonna start off with showing how to mod existing ones. And then we'll see where that goes, because it'd be kind of cool to have someone do open-source, hackable, moddable, non-privacy-invading infant toys. Yeah. But we'll see. Okay. We'll see where these waves take us. All right, so that is our show for tonight. Yeah, okay. Thanks so much, everybody. Thank you so much to our team, our community, everyone who keeps us going. And thanks to a little kiddo here who... Who thinks I'm big. Who is fascinated by all of the mom, lady-hater images all over the screens. I know. But managed to hang out and just help me press the button there. Yes. So that is it. We'll see everybody next week. Thanks so much. That is your desk of lady-hater. Thanks, everybody. Good night.