 Thank you for stopping by, thanks for putting up with me while I broke my streaming settings and then proceeded to fix them. Hopefully, without dooming it, I'll knock wood there. Hopefully it's working for you. It looks like it's working for me. So here we are. First thing I wanna do is send you over to the product page. So it is product ID 5800 and that is the URL right there. That's the QR code. If you wanna head over there, you will find yourself inside the product page. This video is streaming from within the product page and you can get this week's product pick for half off. I'm gonna reload my page here and check it out. Yeah, so we have them in stock. They are half off. They are a maximum of 10 per customer, excuse me. There we go. Just choking to death on my own saliva, but now I'm okay. And what is it? What's this product pick? Well, before I tell you, I'm gonna have Lady Aida tell you in her own words. Take it away, Lady Aida. This is the quality. Yay, the quality S3. People haven't seen me work on this for a bit, couple of revisions through. So this is a board that I kind of designed for my own use because I wanna test out all of these cool, weird displays like this long tangler display or this round display or the square one. You know, basically once you get past 320 by 240 pixels, you need to use parallel RGB TTL display support and not a lot of my controllers have that support. Usually you have to go to the IMX RT series but turns out the ESP32 S3, one of the cool things that they added is they have support for these displays. You only get 16 bit color and it uses almost all the pins, but it does work. And so you had a connector on here to let you use these cool displays. Well, later on make versions that are like round and rectangular and square and all in one, but this is a great starter dev board that will let you explore experimentally these boards. And there's Arduino support and circuit Python. A lot of pins, 16 RGB TTL displays, Hsync, Vsync, DE and Pin Clock. We do have some pins left over on the bottom. We have four pins for SPI and then two analog pins as well. So in Arduino at least we have a one bit MMC connection plus I2S so you can do video playback with audio based on CinePak. So we did a little example demo of that. And I think in the product description we linked to the CinePak demo. But basically it's like you want displays up to 720 by 720 or 800 by 480. These displays will be able to be run with this device. They just snap onto the end. And then you also have STEMI QT connector so adding I2S pins are available. Two buttons that go through it, Expander. One thing to watch out for is these displays are a little bit more complicated than most. You need to SPI initialize them. And so we have initialization code. And then after you've done SPI initializing them then you can blast out pixels and you have to blast the pixels out repeatedly. So they use a lot of PS RAM. They use a lot of the CPU capabilities because if you can't get to the PS RAM while it's trying to display it through the cache to the display. So it's like you're not gonna get, like if you're using a lot of the capabilities of the S3 and you can do like basic animations, basic videos, graphics of course in Arduino and then in circuit pipeline, graphics, Ripple and more. Wrong button there. Hey, sorry, I hope there wasn't an echo there. I just really, I think the mic channel was on there. But hopefully you got all that. So look at this. This right here is the product pick of the week this week. It is the Qualia ESP32 S3. It's an RGB 666 TFT driving board and microcontroller dev board all in one. This has a 40 pin connector for allowing you to plug in all of these great, weird, interesting displays such as this enormous round display. I think this one might be like 720 by 720 pixels. There are rectangular displays. Anything where you start getting over like the 320, 240 pixel size, you need one of these specialized driver boards. You can't just run it off of your average microcontroller. So if you take a look at the product page here, let me jump over. You can see that we have this on sale right now for $9.98 just during the show. So if you wanna pick up one of these driver boards and then the display of your choice, we have a bunch listed there on the product page underneath this product, just in a little bold. You can click on the checkbox and say add the item. We can also look through the different displays that we have that are certified to run, not certified, that will run with this board. They will say that they require an RGB 666 type of board and this is what this one will drive. You can see here this lists out some of the board's resolutions. We have 480 by 272, there's 800 by 480, there's 800 by 600, there's 720 by 720. There's a whole bunch of different sizes of boards, a whole bunch of shapes of boards. In fact, if you scroll down, you'll see some of their other some nice square displays are really like those. There's some of these really long ones. There's some of these sort of more regular rectangular ones and then these, of course, the beautiful round ones that we get excited about. These can be coded in circuit Python. They can be coded in Arduino. We have example code for both and more is coming all the time. In fact, I believe the Ruiz brothers have a project in the works that's gonna be doing some really cool CinePak or MJPEG, I think MJPEG video. I have a little example of one that I cooked up using some of that code. So you'll see some of these projects coming and if you wanna get in on it early, this is a great board to get because it'll allow you to plug in all those really cool monitors. If you take a look, we've got this, oh, that's not the learn guide. Hold on, where'd my, where'd my link go? There's the learn guide. There you go, this will take you through some of the intricacies of the display. Couple things to note, it is a very specialized timing and SPI initialization, which if you look in the guide, it'll take you through how those are created and what the settings are, but now our libraries allow you to just call them pretty much by simple name and it'll grab the proper initialization. I didn't have to do a lot of work to get the one I'm using to work, which was a little different than one of the examples. These are 16-bit colors, so not the 24-bit color that sometimes we're used to. So if I'm not mistaken, we have six bits per channel for red, green and blue. And what else? The board itself. So we've got, as you can see, we have some plug-ins there for Stemma, the three-pin Stemma, so you can use analog and digital inputs on there, buttons and things. We have a Stemma QT cable, so you can do I square C. And like Lady Atta said, most of the pins are used up, but we do have a couple of broken out down here. You can also attach to some SPI things. There's a couple of analog pins on there. There are a couple of user buttons and the reset button on there, and of course it has USB-C, so easy to use. Let me go to the overhead and show you a little demo. There we go. So here's a demo of, you can see I've got it kind of dark there, so you can see the screen better. So let me just swipe the exposure around on here as I talk. So here you can see I've got the QALY ESP32-S3. It is plugged into a little micro SD card reader and then one of these beautiful little rectangular displays. You can see I have a video playing on there. It's running about 12 frames a second and it's just a few seconds long. I'm just looping it back and forth, but it plays pretty smooth. 12 frames a second isn't terrible for this type of an application, this type of a display. You will see the guide coming soon from the Reeves Brothers. It'll take you through all the steps, but I was able to very quickly follow the steps to do the conversion with some conversion tools online and make this little video that I made run perfectly well off the SD card on this cool display. Here's another demo. I took one of the, this is, there's a Mars and Earth clock demo that Liz created and I used that as my starting point to make a cool little Dieter Rams brawn clock inspired clock. I'll focus that for you. So there you can see this is the display. It's a round display. It looks gorgeous, right? This has a bitmap as the background on it and then a couple of vector IO rectangles and a circle to act as the hands and this one is accurate to the time. So this is using, I think once an hour, it goes to the Adafruit IO to grab the time off of the time server and keep itself pretty accurate. And yeah, so this is a background image that is a BMP file. I started with a full 24 bit image and then I dithered it down to the, I think I did to 256 colors. You could go higher than that, but I went down 256 colors, indexed, brought that in and it works really nicely. And you can see here, I just made a little kind of holder for it, a little piece of construction paper holder. But if I pull this out of here, you will see there is the setup right there. So we've got our qualia board. In fact, let me flip that around. You should be a little careful with these ribbon cables. You don't want to go tearing anything. It might be good to reinforce those in your project, especially if that's left sort of dangling and flexible. These aren't meant to get flexed a ton, but they are flexible so you can bend the board behind the display if you want. But there you can see it just plugs right into this little, I'm gonna bring the focus back in. And I'm gonna go to brighten this up. Good bit there. I'll fix the focus one more time. There we go, that's pretty sharp. So what I'll do is I'm gonna unplug this. You can see here's how you insert these boards. You simply flip up the connector. Board has the bazillion pins on there. Some of these, by the way, we're also using I square C pins on this little board. There's more pins here than you need for the display. And that's so that we can do the capacitive touch sensors on some of these boards. Not all of them have it, some of them do. Here you can see this will probably break. I don't think it'll work because this is the wrong display, I don't have that display initialized, but that is how you plug them in. And just because I like to do things and see what happens. Will we get a graphic? Will we get anything? Will it just be weird? Let's see what happens. Can it start even? It may just not initialize. I'll give it a moment there. Anything? Do you see the display? No, all right. That's not nice to do that to that. All right, let me unplug that. And put the original display back in. There we go. Let's see, did I break anything or is it gonna work? I may also not have given it enough time to start before it does need to jump onto, oh, there it goes, jump onto Wi-Fi. Since I'm using Adafruit.io to grab the time. There we go. And that's an excellent point to make. This, since it is an ESP32S3, this has Wi-Fi built in, so it's actually really simple. If you take a look at the code that I'm running here, it's quite simple to get up and running with Adafruit.io and Wi-Fi for IoT types of projects. Let's jump over to this view right here and let me open the code. So you have one file which I won't open, that's the settings.toml file that contains my Wi-Fi SSID and password as well as my Adafruit.io key and username. If we take a look at the code file, it references those things. Thanks again to Liz for the super cool Earth and, excuse me, the super cool Earth and Moon clock project and then Todd Kurt had some cool code that he shared with me for doing, I didn't want to do tapered hands, I wanted to do rectangles and there's some tricky math involved with getting those to rotate properly. So he helped me out with that, thank you Todd. So here you can see this is going and grabbing the Wi-Fi information from my Toml file, getting online, grabbing my Adafruit.io info also from the Toml file, it then is grabbing, I have this braunface.bmp, this little braun clock graphic that I made there, it's displaying that. Here you can see graphic equals graphics displays.round21. So this is the 2.1 inch round display. This is all I need to grab all of the intricate timing and setup initialization files that I need. So originally on Liz's project, she was using the four inch display and so that was the initialization there. You can tell sometimes it will try to start up and look super weird. So yeah, look there, it's trying to do something, but this is absolutely the wrong initialization file. So if you have a display and your code is looking weird, you will probably want to double check that you're using the proper initialization files for that. So then this is a bunch of display IO stuff to throw up the display on there, create my minute hand and the hour hand as well as that little circle in the middle, little hub, some time conversion to get the hours and minutes from the time server. This is some of that rotate points and time angle code that Todd had shared. Similar stuff, Liz has some similar angle code in hers for just doing a different type of vector IO object that uses points. And then this is as simple as the main loop of this goes. It's just counting ticks and it is progressing and then when it gets to an hour, it will go and check the time server. Where's that one? Update time, yeah, so clock equals update time and that's if the minutes are over 59. So we get to once an hour, we go and grab that. So kind of interestingly, in fact, it's not gonna be an animation, but I can lie to this thing and tell it that ticks are 100 times faster and you will actually see some hands updating there. So tick, tick, tick, tick. So it's a decent display, like we say, as far as refresh goes, you can get about 12 frames a second. I'm gonna adjust that so it doesn't try to go and ping the time server too frequently there. So, yeah, David Esso is right over in the chat over in the YouTube chat. You need to know trigonometry or no people who know the trigonometry unless I don't. Okay, let's see. What else have we got here? So there's a look at the board there. You can see, Soakscreen mentioned some of the pinouts. There are some settings for changing which I square C address you're using for the touch screen if it's capacitive touch based display. You can also solder the jumpers on the front to adjust the backlight. I think we have a few different settings of backlight on there, 25, 50 and 100% are available to jumper there. What else am I missing? So, yeah, head on over to the page right there. There it is. Let's see, do we still have these in stock? Yes, we do. So $9.98 cents, you wanna pick up a display or more than one display if you wanna use this as a development platform for figuring out some of these really cool displays. And what else have we got to say? I think that's gonna do it. Let me know if you have any questions in the chat. I'm gonna just run through real quick and check if I missed anything. Yeah, some discussion of the bit depths, the color depths. So this is 666, that's the six bits per red, green and blue which is a little easier to deal with than the 565 which I think I've dealt with that before on some video, like composite video projects. Yeah, so DJ73 says if you're using an eight bit index BMP it kinda doesn't matter because we're already crushing it way, way lower than the six bit per channel. Let's see, Tyrone said that for some reason US Postal Service wasn't showing up as an option but someone said that there was, that they were able to use that. So maybe refresh the page and see what's happening. Oh, DJ, Devin says that the chip on there can get pretty hot on the little ribbon. Good to know. I bet it's hotter on the display that's shown the video there. Good, all right, no other questions then that's gonna do it. So let's see, can I hold these things up without making them all fall apart? Let's try it. Oh wait, let me get that screen out of the way. Wrap this up. So that right there is my product pick of the week. This week it is the Qualia ESP32S3 TFT driver board for RGB 666 displays. That is gonna do it for JP's product pick of the week. I'm John Park for Adafruit. Thank you so much for stopping by and I will see you next time. Bye-bye.