 me JP. It's time for JP's product. Wow. So first of all, thanks for stopping by in our chats. We've got our YouTube chat up. Dave Odessa, how you doing? Tackle the world. Nice to see you. Yeah, today is not 1080p day. I'm going to try that on my Thursday show, on the workshop show, is when I'm going to attempt 1080p. Did I promise this one? I don't know. But in my mind, that's when I'm going to be doing it. And hey about a graph of the huggin and quinman16. Nice to see you too over there in our YouTube chat. If you're somewhere else and you're wondering where our chat is, then you could do worse than heading over to adafrew.it slash discord and then jump on over to our discord server and look for the, oh wow that got all resized. Hold on. I was going to say look for the, oh gosh how big do I have to, no no let's go this way. There we go. Look for those channels on the side. Phew. That's it. I resized something. I should never resize things. Live broadcast chat channel. That one right there. That's where the chat is during live stream so you can look over there or you can head on over to any of our multitude of channels to talk about the things you want to talk about such as, I don't know, FPGA stuff maybe or new products or tiny USB help with projects help with circuit python. But right now during this show, hang out here it's a nice place. So let's see before I show you the new new new video for this I'm gonna tell you a head to that URL if you want to get a jump start on the product pick of the week that's where it lives right there at that URL and at that QR code. This show happens inside of that page so you will find this video being broadcast from right within there if you like to get your entertainment while you shop then hey do that I recommend it. It is gonna be 50% off today and you don't need any kind of coupon code or anything like that you get a huge discount but that is only during the live stream they have been marked way down way down low maximum of 10 per customer I think we have a bunch of them stashed at least 100 stashed so go grab some maybe early but if you want to want to stick around and find out more then I'm gonna have Lady Aida tell us all about this week's new product pick take it away Lady Aida that's not it yes so we actually got this email like a week ago they'd seen the video but they were like this is what it's used for and I'm like it is so this is a captain of a first team so it's a robotics team and they have a board that they're required to use and if you want to do something funky with it that isn't part of like the first ecosystem it's very difficult so they want to use neopixels because they want to light up the robot but nobody's written a neopixel driving library for this chipset but they do have access to I squared C so now you they could use this to control neopixels which is a very common request this is it so this is a bunch of neopixels but this is the board so the way the board works is it also has a little helper chip on there and let me show it on the overhead because it's it's not lit up but I can show how it works okay so let's again so let's say you have a microcontroller or a board in this case I'm using an rp2040 because but it which does have neopixels of corporate maybe all the pios are used on your rp2040 and so you want to control some neopixels or maybe you're using some exotic chip that again nobody's ported a neopixel driver for but you still want to control neopixels you need that specific timing it's very hard to do so this chip on here the at tiny 1616 will take messages from I squared C over here from the rp2040 and then convert you know it'll say light up this pixel that color and then when it's done it says please show the pixels and it will write the data out to the terminal ports so in the back there are five terminals one thing to know you will need separate five volt power the neopixels need about 20 to 40 milliamps per led and so if you're driving in any of neopixels you're not going to be able to power them over this little thin wire here you'll need a chunky power supply and chunky wires and either connect them to this terminal block which then goes through empowers the neopixels or you can do something like this where you have a five volt power supply and you just power it directly into the red and black wires of your neopixel but then the signal wires the white and gray wires here are signal and ground this data will come out of this chip and so you just have to send the I squared C commands and most chips you know do support I squared C first easily and we have documented the command so if you're not using circuit python blinker or you're not using an Arduino compatible chip we have libraries for those if you're using something else you could of course port it to that platform you can drive up to I think 512 pixels but I will note you're driving the pixels over I squared C so it's not going to be very fast you can run this at one megahertz I squared C and that'll do much better you know the default is a hundred kilohertz on many platforms I would bump it up to 400 800 1 megahertz clock rate and you should light up as few pixels let's start you should write as few pixels as possible before you write that show the entire strip because every time you set change a pixel color it has to send a message back and forth to say hey this is what the pixel color should be so that will slow it down and you're never going to be as fast as native neopixel driving but if you have no other way of driving neopixels it does work just basically as you get to like 200 pixels it can slow down a bit but for you know about 100 pixels writing the data you have 800 kilohertz or 1 megahertz you'll get almost equivalent to native neopixel driving speeds so this could be a really easy way for you to add neopixel support to a chipset that you've got as long as it's that I squared C three volt or five volt I squared C it'll work with and it even has a little switch cap converter here so if you're running this off of three volts it'll generate a five volt signal for a nice clean neopixel driver and you can change the I squared C address if you want with these jumpers that is all true so here it is check it out that right there is my product pick of the week this week it is the neo driver I squared C neopixel board so as Lady Ada mentioned this is really useful in a couple of pretty particular scenarios one is you have a single board computer in particular that just can't do neopixel timing on any of its pins and this isn't all that uncommon but a lot of those will have I squared C so be able to plug from this stem of QT connector into the I squared C and five volt and ground or three volt and ground pins on your single board computer send I squared I squared C commands neopixel commands over I squared C I should say and then this has these nice header blocks here screw terminals that you can plug in your neopixel for data and power it also has a couple of slots there where you can plug in your external power so you can use a nice big beefy five volt power supply and that way you're often running and you can control neopixels on boards that you normally can't another scenario is in the case of something like the nrf no in the case of the rp2040 if you have an rp2040 board and you're using the pios for something those pios are usually used to bit bang the neopixels but if you look at something like our usb host feather that's using both pios already just to do usb stuff so you basically can't do neopixels on that board while using the usb host capabilities unless you add something like this and then we have that whole I squared C bus over on the side there to send the neopixel commands so really convenient for a couple of those scenarios where you want to use neopixels but the board just won't let you so i want to show you a kind of cool demo here let me change up camera stuff a little bit and also i'll just take a moment and say c grover noticed i had a microphone fading in and out that may have been my microphone flopping around because the battery levels look good on my receiver and transmitter but if it's still having a problem please let me know and i will try to swap out batteries on that uh so let's go to this down camera and i will refocus that big blob into a you guessed it single board computer and our little friend here so this is the oh let me add i add another camera there there we go so this is the le potato from libra computing this is a single board computer in the raspberry pi form factor in fact you can run raspberry pi operating system on this which i am right now and this can't drive neopixels on its own but it's got i squared c and thanks to liz clark who came up with the proper recipe for getting this to work and documented it and shared that with me i now have the neodriver board plugged in a rice grid c to the le potato and then i have power coming from a five volt dc supply four amp supply in fact kind of overkill and then i have a nice neopixel strip about 60 neopixels plugged into these little terminal headers here so if we take a look at my terminal here i have a nice little ssh session going into the le potato here we could also of course have keyboard and mouse and hdmi plugged in but for this demo this is a little bit easier and if you look what i've got here i have a little python script this is using blinka so we can use all of the same sort of circuit python libraries and commands that we know and love and what i'll do in this case is run python three neodriver test and what that's going to do is light up these neopixels wow that's bright let me let me drop my exposure just a bit so you can see that a little better there we go that's nice and colorful and so this has just over the neodriver board lit up my neopixel strip now if we look at the code that i'm running there so this is boy this looks familiar right importing time rainbow io and color wheel i'm using the extended bus for i square c this is a way that liz was telling me about to use i square c on these on these boards with some better capabilities uh then we have the seesaw we're using so the chip on here uses seesaw and that allows us to use the little chip on there to drive a variety of things you can make gpio things with it you can use neopixels with it so that's the seesaw protocol used there and then you can see i'm establishing i square c on i square c bus one there's actually two buses on this board in particular i'm using bus one and i've set that frequency of the i square c transmission up to 800 kilohertz then i'm setting up a seesaw object here on the address 60 as lemur mentioned you can set up to four of these on your bus on one bus by changing their addresses and then i have the neopixel pin on that little stem of board that's the stem of a seesaw board that's in there is on pin 15 and then i happen to have 59 neopixels because i cut this one sort of in half i think it was 120 to begin with then i'm establishing or instantiating this neopixel object called pixels and that's being set up on seesaw with that pin 15 with the 59 neopixels i set a brightness to 3 and then i have automatic right turned off and that is kind of a key to making this run fast you don't want to send right commands all the time just when you're ready to write something i have a color offset which i'll use to change colors in a second but that's in the sort of main loop that i'm not running right now if i just change this let's say to how about we'll go to green so i'm setting a color 00 ff 00 i'm going to save this and then i will run the script again and this time when it runs boom we've got some green neopixels all running on a board that can't do neopixels which is pretty great and i'll go and do one last little change here which is i'm going to uh uncomment this main loop here which is going to run through and update every pixel in the color i o or color wheel rainbow color wheel uh sort of in a row so we're going to get a rainbow swirl pretty typical rainbow swirl so i'm going to save that and rerun it and here you go this is not slow uh at first i thought uh-oh this is well all these warnings is this going to be disappointingly slow and we're going to be sad but no i'm here on a little single board computer that can't on its own do neopixels and yet with our little neodriver we are doing some very respectable neopixel driving which is really terrific uh so this uh this is the demo of this i'm going to um step away from this for a second and let's head over to the main page here so you can see these are on sale right now for three dollars seventy five cents so they are half off i'm distracted by the chat where baota said that they heard rainbow squirrel it's uh i wish that's not as exciting i have a rainbow swirl but a squirrel it'd be kind of cool uh so here we have uh the main page in the store if you uh want to get some of these throw them in your cart there's no coupon code neither there's are half off just during the show so that price will go back up after the show you might also want to pick up some of these little stemma cables so this is the stemma to uh header female header pins that's great for plugging into that set of header pins that are on your typical small uh single board computers but you can if you're using something like a qt pie then you can just get a typical stemma qt to stemma qt type of cable if you scroll down in here you will see there is a link to the main guide so i'll i'll head over there after that loaded up already so here's the main guide it takes you on a little tour of the board you can see there we have all of those nice headers for screwing in uh your your wiring uh stranded wiring is really nice with these in particular wouldn't use solid core those tend to pop out um you can plug in stemma qt uh on either side of that you can also chain through it on the a square c bus if you're using multiple multiples of these or other uh other boards other sensors inputs and so on so it's your it's your typical a square c stemma qt party there uh and then if we take a look at the pinouts here you can see some details on that there's a nice photo of the backside there where you have your jumpers that you can slice to change the i square c addresses uh talks about your power and logic pins there's little info about which addresses you'll get um you can also get a uh i'm gonna actually jump back over to my demo for a second since we're talking about addresses um if i i'm gonna stop this code for a second here if i run uh a little bash script that i wrote called what overlay uh what you'll see is this is a sort of a raspberry pi or single board computer or linux thing here uh where we can um enable that extended i square c bus and do a little search of what's on the bus so there's something on bus zero called uh at address 30 i don't even know what that is that must be something that's just built onto here i think there's like an i square or like a ir receiver maybe that's over over i square c i don't really know uh if someone knows let me know but here you can see in the second uh second statement here we get the little graph of uh addresses and you can see we have address 60 that's the default for this and if you want to look at uh that little overlay you can see i'm doing this l d to enable i square c a o this is all the magic that liz came up with to make this work and then i'm listing the possible i square c buses um then this doesn't make sense but i'm just whether they're there or not i'm i'm running detect which is why you can see one of those fails uh but this is how we do the i square c detect you can normally run these from the uh terminal one by one or command line one by one i just wanted to be able to do all of this because unfortunately right now at least on this computer you have to rerun these when you boot the computer so you might uh work this into a boot up script if you were always using this and this was permanently set up um but again thanks to liz for figuring all that out uh and back to the guide here you can uh take a look at some examples you can do in uh circuit python and python so this will show you some wiring suggestions for how to wire things up either directly with cables or using a breadboard in the middle uh how to set that up on a single board computer and then some examples of the setup that you would do to install the necessary libraries and get that up and running as well as some example code so you go check that guide out you can also take a look at on liz's own uh user page so if you click on blitz city diy anywhere you'll get to this uh the user pages and this one is the specific instructions for getting this to work with le potato which was one of these uh single board computers kind of a cool board i'd never heard of it before um and i like it i i think especially because this one runs rasbian uh os it's a really good if you've been searching and searching for a raspberry pi i know they're coming back into stock uh much more day every day right now and soon they should be back to normal but if you were in need there there's a chance this would actually do what you needed to do and it's the same form factor so it'll fit most of the cases and peripherals and hats and things you can plug in i say that just because that's that's what they're advertised as i haven't tried anything on this outside of this right here and plugging it into a monitor with massive keyboard uh to get it up and and running initially but kind of cool computer and i think it's like 35 for this maybe 45 something like that so not bad so let's see let me see if we've got any questions uh right now and actually while we while we chat i'm going to run my swirly animation not squirrel animation get that oh look at that back up and running you know why this looks good because the neopixels are not pointed at the camera uh pointing them this is side lit neopixels but pointing them down at my desk here especially if i lift it off the desk a little uh these are a lot better to look at indirectly than directly the camera doesn't doesn't like them directly uh so rufus asks does i square c just transmit pixel number and values in other words are there global commands like all off all brighter shift pixels right etc to save bandwidth um there are yeah so some of the stuff i was doing when i just had single colors the the code for that is um setting all the pixels to a particular color and then saying show pixel so that's transmitted uh as a single command over i square c then that's sorted out on the chip there which is what's actually running the neopixel code um and if not is it possible to program the at tiny one six one six on board to add commands i would think so but i haven't tried that uh if anyone has expertise in that or knows that would be uh great would that make it incompatible with the Adafruit library i think so yeah yeah you could fork the library and add uh code to it if you wanted to i think but um currently you use pretty standard neopixel commands those head over i square c and then they're um those are uh sent those those individual pixel messages are sent right off of the at tiny built onto the board there uh let's see any other questions uh what exact os version are you running on lip potato i am running uh liz do you remember it's a raspbian os actually i think it's on that page that she uh well there's some links there so download raspbian image for the sml s905x from the distro server uh if you look here i grabbed where are you this one actually i think it's aml at my event typo uh so this is a 2022 922 raspbian bullseye arm64 aml s905x dash cc uh so it's a little bit old i don't know if there are newer ones uh but that's the raspbian build that that i was using uh that was uh suggested by liz and i think that's probably just on the yeah that's the distro server from libra there and they've got an ubuntu on ubuntu on there as well yes that may be the latest one i don't know if there's others out there i just like i said i don't know a heck a lot of about it right now uh all right uh other questions uh laris says the neodriver board's really nice expecting something like this appearing for multiple years yeah and you know what i'll tell you here's another scenario where i think this could be useful um i did a hack with a little fader kind of midi fader board that tom wittwell's music thing modular put out called the eight mu that has faders it has usb it has a a plug on it for midi um and i think it may have a stem of qt another one is the macro pad that one i'm sure of so our macro pad has pins available but they're not broken out anywhere because it's kind of like an all in one device but it does have a stem of qt port so if you wanted external neopixels running from your macro pad that'd probably be the best way to do it we also have some things like um some of our more handheld types of things matrix portals or uh or uh pi portals rather uh pi gamer pi badge a lot of those have they have feather outs but this would be a much neater solution rather than plugging uh feather pins in is just plugging into the stem of qt so pretty cool and and that that would run just uh just fine in circuit python and i think our duino as well um over i square c let's see any other questions we've got um yes uh paul ramasco asked what sbc is that is it is le potato it is a le potato i love that's why don't they just call it palm isn't that potato in french i guess that's not no anywhere in here is fun um terrific uh so i think that's gonna do it i will wrap up here i'll just remind you again if you want to go and grab one or some of these that is your qr code that is your url it's product seven sorry it's product five seven six six uh head on over there and grab some for yourself and use your neopixels where you didn't think you could use them before all right uh let's wrap this up that's gonna do it for today my product pick of the week this week is the neo driver it is an i square c stem a qt neopixel board that's gonna do it freight fruit industries i'm john park and this has been j p's product pick of the week i will see you soon bye