 and welcome to the show. It's me, John Park. It's time for JP's product pick of the week. I am back. Thank you so much for joining. I was away last weekend, but now I'm here and I am ready to bring not one, but two deeply discounted products into the world. I'm not bringing them into the world, but I'm bringing them to your attention at the very least, I hope. And I wanna thank people for dropping by over in the chat. We have our Discord chat over at adafruit.it slash discord and you can look for the live broadcast chat channel. Also over in the YouTube chat, hello Dave Etchels and Dale Etchels, sorry, and Dave Odessa, nice to see you over there. Let's see, before I go any further, what I wanna do is let you know where you can find this week's product pick. These two URLs at the bottom will get you there. I only put one of the QR codes, but it's two products this week, two very, very closely related, nearly identical products with some differences, but they are at those URLs right there. So head on over there. You can watch this show from inside the product page and you can get the humongous deep, deep, I believe it's 50% off discount this week on these with no need for coupon codes or secret handshakes or pass phrases. All you need to do is buy it during the show. The products, yeah, they're a deep 50% off discount and they are priced that way. You'll just see that low price in the product page, throw it in your cart, check out, and they're yours, maximum of 10 per customer. So with the dual products this week, I believe you could pick up 20 of them, no problem. If you have some big, big plans and it won't even set you back that much. So before I go any further, what I'll do is have Lady Aida jump back just a little bit in time to talk about this as a new product pick. So please take it away, Lady Aida. Hey, AT Tiny's, we have two more breakouts for the AT Tiny series. We already did the AT Tiny 817 and this is the 816 and we also have the 1616, which looks very similar except one says 816 on the back and the front and one says 1616. These are a much smaller version of the AT Tiny, teeny mega core, basically. They're very powerful chips, but they're very small and they're very simple, which is what I like about them. And we use them for, I basically designed these for my development because I'm making new seesaw breakout boards now that chips are finally available again. And it turns out that in some cases, I want a much smaller chip than the seven series. I want the six series, which is a tinier QFN chip. These run three volts or five volts. They run with up to 20 megahertz internal clock. They're very easy to program because they use UPDI, which means you can use one resistor wire and a USB serial converter of any kind, any kind of cable or breakout, just connect the RXTX pins through the resistor and then wire to the UPDI pin to program them. We use the Spence Condi AT Tiny teeny mega core that for Arduino to do development for it. This just as our little development board breaks out all the pins, you get I squared C. Like I said, one is 816, one is 1616. The 816 has a bunch of ADC, it even has an 8-bit DAC, lots of PWMs, lots of GPIOs and has eight kilobytes of flash and I think 512 bytes of RAM, or 256 bytes of RAM. And the 1616, I remember has 16 kilobytes of flash and it has a whopping two kilobytes of SRAM. So if there's some cases where you want the 1616, it depends on what is available in the market as well. Like right now, so I can get some of the one chip and some of the other. So there's cases where you want one of the other and the pricing and the availability may vary, which is why I'm carrying both. And I'm using, again, a seesaw development that comes with seesaw code audit. So you can use it as a GPIO expander. I've got a demo here. Like I just kind of put one together really fast. The 1616 has a lot of SRAM, which means what I've got here is a Metro Mini, so at mega 328 and it's connected through I squared C. So this is power, move the power pins down because there's just power. This is that AT Tiny board. And I have the output of, whoa, it's close. The zero pin is connected to the NeoPixel data and then I have power coming from USB. And this is getting I squared C commands telling it to set the NeoPixels that it didn't write. So basically it's acting in I squared C to NeoPixel buffer and then you can see here it's driving these NeoPixels and it's doing a little rainbow swirl very slowly because it's going over I squared C. So remember, it's not going to be very fast, but you want to drive 30 NeoPixels is actually just fine. So this one is the 1616 and I just put code in to make it, it has 200, 2K of SRAM instead of either the 256 or the 512 bytes that the 816 has. And so you can actually drive 300 pixels or something or 200 pixels. It can buffer the memory for that whereas the smaller one can't. But we're also going to be doing some projects that do need a little bit more RAM storage. And so that's why I've got the 1616. The 816 will do the job for most Seesaw projects where you just want I squared C to GPIO or ADC. And then of course, if you want, you can always reprogram it with a UPDI pin from within Arduino by using that USB serial converter with a one resistor. And then you can use that as a controller for sensing other I squared C devices. It doesn't have to be like one way it can be the other. It's acting as a I squared C peripheral but it can act as an I squared C controller. I mean, it's a 16K 8 bit microcontroller running at 20 megahertz. You can do quite a few projects with it. Doesn't have USB, but we do stick on our regulators. You can run it at three volts by default. It runs at whatever you power it with. One thing I get I like about it is it runs three to five volts, just fine. There's ground detects, internal oscillator can run at multiple different frequencies. And there's great Arduino support for it. And that's the new product. Just the new products. The lighting turned out really pretty on that. It's quite nice. Yeah, it's very good. Yes. I loved P.T.'s comment about the lighting there at the end. It did come out very beautiful. So this is it right here. Let me show them. I can show you right there. Look, look, that's it right there. This is my product pick of the week this week. It is the ATtiny 816 and the ATtiny 616 breakout boards with seesaw programmed right onto them. So these are, actually, I'll keep them here. Usually I hold them up to the front, but I'll keep them right here. I'll grab something to point with. How about an M4 screw? That'll work. So you can see these are little ATtiny development boards that you can code directly just by using the UDPI cable. And so you can put tiny little Arduino programs on there if you like. We have one that's already on there when it ships, which is called seesaw. And seesaw allows us to essentially be used as a co-processing board. So you plug this in over I squared C. It's very easy to do that using these STEMAQT connectors on the ends. Plug it into a microcontroller. And then in Arduino or in Python, circuit Python, you're able to talk to this device, the seesaw device, and do things like ask for ADC pin values on analog, write PWM, read and write digital input and output, use NeoPixels. So we use this type of chip and a lot of our little STEMAQT boards. And this is great for when you wanna cook up your own thing. So let me show you a couple of little quick examples. So first I'll show you, this is a, I think that's the 1616 there. And let me get a little focus going. And something like that. Let me adjust my exposure there too. That's better. And you know what? Let me flip these cameras around so you can see this one nice and big. And I'll put just the smaller face in the corner. Hold on, let me try to shrink that down a moment. All right, how's that? Yeah, that looks good. Okay, so this is an example where I've taken an 80 tiny 816 and I have programmed it using the, you can see it right here. This is what this little USB cable looks like. I have that plugged in right now just to a battery to power it. But when I plug that into my computer, I can then program this 80 tiny just like it's a little teeny, teeny baby Arduino. And so on it, I've simply coded something that is reading button presses on this little step switch and is writing out to that LED, turning it on and off. So this is one use where you can just decide to code the thing from scratch. There is the tiny mega core, amazingly named tiny mega core for Arduino that allows you to do this. And we have a guide that will show you all you need to know to get that set up, how to wire that so that you're able to code this directly. Now, the other use that I really love is of course using this as essentially a breakout. And we can plug that in over STEMQT to another board, use I squared C. And that gives us access to, let's see, 12 GPIO pins on here. We can use nine of them are 10 bit ADC. So that gives you 10 analog reads, which is great. And I'll show you an example in a moment where I've got seven of them I'm using, but we could go up to nine per. You can write out over five of these as PWM pins. You can use them as regular digital GPIO pins in and out. There's a neopixel output on here. And there are also two pins that you can use to set I squared C addresses so that you can have up to four of these with unique addresses and then chain them together to go up to, let's say, 36 analog ins all over I squared C back to your microcontroller. So if we take a look at this example, I'm gonna flip this board over for a second so you can see how it's set up. Here's a little project, a little demo project I built. So there you can see I've got a QT PI and it's plugged in over to I squared C using the STEMQT cable to my, in this case, AT Tiny 1616. Then I have another STEMQT running to a little display and I'm gonna zoom out further here so that you can see I am running these, oh, hold on, wrong knob, focus. There we go. I am running these seven potentiometers all with wiring into seven of the ADC pins on the AT Tiny. So that's able to read all of those analog values and then report them back really easily and quickly over I squared C using the STEMQT cable back to my QT PI. And then the display is just a bonus, that's another STEMQT device that's plugged into the same chain. And so you can see here, all I'm doing is adjusting values and showing them on this display here. I have these going from about zero to 125. So that I can use these as MIDI CC channels. But you could use these up to nine of these analog inputs for anything you want on your project. I just thought this was a kind of a nice way to see that. And you can adjust them basically all at the same time even though the display doesn't really know what to do with that, we're adjusting all of those, it reads them really fast and then just sends that message over I squared C to your microcontroller. In this case, I've coded this in Arduino and we'll take a look in a minute at how that is set up. So let's see if we have, let me see if we have any questions over in the chat. I don't have the chat displayable today on my monitor here. So while I look at that, I'll bring us over to the product page or pages. So here's the first one. This is the ATtiny816. This is product ID 5681. And you can see they are $2.48 today. So half price during this show and during this show only at the end of the show it goes back to full price, $4.95. Still a bargain, but boy, you can't beat that for $2.48, you can run a whole bunch of buttons and knobs and sliders and LEDs off of your microcontroller expanding the amount of available IO, which is great. And then the other one we have here is the 1616, it's the ATtiny1616 breakout. And that one essentially doubles the amount of RAM and flash that you have to work with. It's 16K instead of 8K on the flash. We get 256 bytes of EEPROM instead of 128 and so on. These all run on two point, rather two to five volts of power and there's also a 3.3 volt regulator on there. And let's see, what else? The, yeah, those are the stats on it. Let me know if you have any questions. I can check the chat here. Oh, question from Starman, will it run in Circuit Python? It will. I had it running in Circuit Python. I was using some of these analog inputs on this project and then I realized we need to update, have a new board definition because some of the pin numbering changes between the 817 variant on this and the 816 and 1616. So it will work up to a point and then you'll find that some of the pins are out of whack. So I believe Todd Kurt, Todd Bot in the chat has a PR up on our GitHub right now for those changes. He's added that board, those two board profiles and their related pin changes. So that should be working pretty soon with no issues at all in Circuit Python. And yeah, and you can also use it in Arduino. I'll show you, here's my, here's back to this example here. So you can see the values I'm spitting out are actually the 10 bit or rather the 10 bit values before I've turned them into these zero to 127 values. So there's the full range on my serial output there. It's not as neat. You don't get to see which knob is turning it, but that's kind of my raw value, zero to 1023 as I change any given one of those. And so you can see in the code here, I'm importing Adafruit seesaw and you can ignore most of the rest of that is for display stuff and some tiny USB and MIDI stuff. But the bulk of this is just right here. I'm setting up some variables for the knobs. I am setting up the, let's see, where did, have I missed it? Where is this? Oh, seesaw right here. So very first thing I'm doing here, Adafruit underscore seesaw and I'm making an object called SS for seesaw. And in this case, since it's going over the STEMI QT port, we have to specify essentially the second I square C bus on the board in Arduino. We use this library called wire. And so I'm saying this is on wire one rather than just the default, which would be wire. So other than that, it's the same as any seesaw setup that you would do. It's just I'm going over STEMI QT. And let's see for reading this, really this is the main loop of the code here. I'm checking knobs and you can see here I have this. Let me see if you can see all of that right there. That's running off the edge, I'll scroll over. This is the read right here, SS. So seesaw.analogread, that's it. And then we point it at a pin. In this case, I'm running through a list of pins there and then I'm doing some division and some filtering on it. But you can see we set these up as analog pins and then read them just with one easy little seesaw call there. So that's how it works for writing LEDs, for reading button presses, for writing out PWM, for writing out NeoPixel. It's all sort of bundle up neatly inside of that seesaw library. And it operates basically the same. The syntax is different, but basically the same inside of CircuitPython as well. The other sketch that I was showing actually, if I bring this back on here, show you just my little button press. So this one is really straightforward, simple little piece of code. It's the blink sketch. So I'm not using this one with a microcontroller. This one is the microcontroller in this case. So the ATtiny1616 in this case is running straight up Arduino code that you know and love. I have a setup where I'm saying the pin mode on pin 13 is an output and then I'm writing it high, writing it low, that's the straight up blink. Oh, actually did I not? Yeah, that's just a straight up blink. That's not actually what I have on here. The one I have on here looks almost the same, but it is also doing the button read and button press. Let me see if I can find that actually. Sorry, I didn't mean to lie to you about what we were looking at. Did I save that somewhere? Sensible, I thought I had. Here it is. No, that's mysterious. I don't know where I saved it. Maybe I didn't. Maybe I just put it up on the board, how about that? But, same rules apply. Simply in Arduino we're choosing that tiny mega core, choosing the UDPI port from the USB cable and then it writes to this just like you normally write to an Arduino. So let's see, what else have I missed anything? Here's some nice photos of the front and back of the board there. You can see this clear penguin-based pin out there. You'll notice there is a jumper where you can switch between using just whatever the voltage is coming in for logic or going through the 3-volt regulator, 3.3-volt regulator. And unlike some boards, this doesn't have jumpers for I2C addressing, you simply will wire your own. So you'll go from that blank looking pin up there between 13 and 14, that pin, I think it's pin 10, will get jumpered to ground and there's another one that gets jumpered to ground. Or wait, maybe it's 12 and 13. I can't remember, look on the learn guide for that. Fede, thank you. No, that was the other, that was the first sketch. In my, you were asking about the other tab in my code view. That was the one that was running with the knobs. I didn't, I forgot to save the one that's the button press. Let's see, anything else, any other questions? Let's see. So Matthew Epler asked, what are the advantages and disadvantages of communicating between boards with I2C versus serial? Ken Piper answers, I2C handles all the boilerplate of addressing many different devices in the network, such as where serials typically just one-to-one communication between a pair of devices. No extra protocols on. All right, good answer, I don't have to answer that. Ken Piper ordered a bunch of them, great. Enjoy those, let's see, any other questions? Is there SPI or UART on the seesaw line? No, the seesaw is I2C, unless there's some magic secret way but that someone knows how to do that. You may be able to redefine the pins. You can, depending on how you're coding things, you can say, okay, there are pins that are on that port that we're using default as I2C. You may be able to switch that over, so actually I'm less confident about my answer. I'm not sure if you can do that. Which actually brings up a good point, the learn guide. So if you head to either of those product pages, there's a link at the bottom that'll take you to the learn guide. And it's actually a combined learn guide for all of our AT Tiny seesaw breakouts. We have them based on SAMD09, AT Tiny 816, 817, and 1616. And, yeah, this guide covers all the AT Tiny ones, and I think we have a separate guide for the SAMD09 one. If we go to the pinout here, pinout page here on this one, takes you through the power pins, the clock SDA pins as well as STEMAQT. So there are header pins for I2C as well, and that's a different bus than the STEMAQT bus. Hence that wire one choice I was making Arduino. There's the seesaw pins. These are all the pins that, when you're in seesaw, can be used as GPIO. There is an interrupt pin, pin six. There are the address pins, you got 12 and 13 that I mentioned, so you can ground those to increment your address. It starts at 49, and then there's a bunch of pins on here that can be used as NeoPixel, but only one at a time. So you're not gonna drive a ton of NeoPixel strips off of here, just off of one pin. And then there are the nine pins. You can read analog here, zero through five, and then 14, 15, and 16. We have five of them that are PWM, and then the UDPI. If you need to find out about other capabilities of the chip, there's a datasheet on the downloads page there, as well as the schematics and CAD PCB for the boards and fritzing objects for those that you can go and check out on the last page. And yeah, there was another question about running circuit Python on it. I don't know of, I don't think anyone has tried even to run circuit Python itself off of this, it's just pretty darn constrained, so I don't think that that would work. Although, Todd Butt says maybe Pico, since that's heavily subsidized. Pico, forgot that there's a memory on the Pico. All right, you've lost me now. Which Pico? We have 19 things called Pico in our lives now, and this is not an RP2040, so I'm confused. Pico, which Pico? All right, I think I'll leave it at that. So, go on over to those URLs right there, go pick up some of those, throw them in your cart, get yourself the nice discount during the show only, we'll be turning off that discount pretty soon here. And that's gonna do it. So, thank you so much for stopping by, that's my product picks for today. They are the AT Tiny 816 and 1616 seesaw breakout boards. And I'm gonna sign off there. Thanks everyone for stopping by for Adafruit Industries, I'm John Park. This has been JP's product pick of the week. Bye-bye.