 All right, what is this everybody and welcome to show and tell it's us. We're back hosting the show and tell thank you very much to Melissa and JP and Liz and other people who have been hosting show until the last couple weeks Baby me Lady Ada, Mr. Lady Ada But right now we're gonna check in with people around the age for community including some Ada fruit earths people who we find to do Projects and more see what's on their desk. What do they do and come on by? We're in discord. We're in stream yard. The link is in discord. You can yeah I use webcam come on your chance to see a lot of behind the scenes and what's going on Hey to fruit some of the projects we're working on. We want to see what you're working on too. Yeah Is brand what you got on hi First I'll show up. Maybe we'll do a little bit telling and then we'll do some showing. Yeah, um, so I Mean job at a difference working on this firmware called whippersnapper It can make any IO any like Wi-Fi capable board into an IOT device without programming We wrote whippersnappers like communication API So like how the device talks to the MQTT broker over the span of like a couple years and everything's in this like really good State right now and we're almost ready to rip the beta tag off, but We need to make some significant changes to like how the devices talk to Ada fruit IO To help us go forward with the project We want to add new features so like low power modes TFT displays offline SD card locking GPS over You are and make it easier to maintain to like this is getting kind of unwieldy so the team's been writing a new version of the API like a v2 and Lady Ada said like hey, we can finally develop this Python client You wanted because it's like faster to develop than Arduino and C++ one two and one So actually we're getting like three or four in one now so whippersnapper Python we're working on which is exciting and it uses this Blink a library that Melissa wrote and Blink a translate circuit Python code into like the hardware layer and it lets you use circuit Python code and desktop Python So you can support single board computers like the Raspberry Pi So you can get whippersnapper running on the Raspberry Pi, which is exciting But it needs a board attached and since this is major API rewrite We need a way to Run tests on the whippersnapper Python client without attaching hardware. So like we want to run this client from Either like a Raspberry Pi with no hardware attached at all or like the github actions server and just like Test it out in an exercise and make sure things are working properly and then like the current Whippersnapper like we have no tests on it's just like functionally do things work do things not work But now when we start building on these new features and adding features We're going to be able to test them before we release them So in order to do this I've been working on mocking out the Blink a library that Melissa wrote with stubs for circuit Python function calls so we can call circuit Python code But there's no hardware attached So like we can create a digital input Without a board attached and it will return like a value that we want for testing. So I'll show this It's not like an amazing show because it's a terminal so you could switch to that window. Okay, and In order to get this working You would have to set two environment variables like One of them is Blinka force chip and that tells Blinka. Hey, we're going to simulate them CP to one Chip and then the other is Blinka For a sport and that says, okay, we're going to use this board But what it actually does is it tells the Blinka layer like we're using this chip and this board without hardware attached and in order and now like if I go into Python and I type import board it will work with no hardware attached Usually it like returns a crazy error and if you do board dot and then hit tab It will show all of the pins from the micro chip and CP to do one breakout that we sell so Example of like returning digital input We could do like digital in the pie and this will return an alternating value that always serves a true and Then goes to false and it goes back to true. So like it the code is Just like circuit Python code, but it's running without hardware attached Which is really neat and I don't know if we've been able to do this yet and then another one would be analog in so we have Just in the ADC set up on like the pin g1, but there's actually no board attached to it and We would do analog to that pie analog in that pie and that will return like a random integer What we don't have right now, which I need to add later this week is the ability to tell it Through like and I kind of like this environment so this environment variable thing that we're like hey We're using this board. It's not actually supported So I want to be able to tell it like hey, we should actually be returning this ADC value But without passing it the value explicitly we also To get I2C working we mocked out this BME280 library for circuit Python and they replaced all of and stubbed out the property Calls for like temperature humidity and they actually called the open weather maps API so Calling this this is actually getting data not from a sensor, but from the internet so it's like Realistic arbitrary data. It's not random data It's calling an API and the code for this Just like looks like circuit Python code. There's no like weird overhead or there's no text fixtures This is just circuit Python code. That's running without hardware attached Okay, yes, it's gonna be interesting because As we start doing more testing of Blinka with whippersnapper being able to mock all of the interfaces so that we can test the Protobuf part the internet connectivity part the web part Without needing to like actually wire up hardware we can assume that the hardware works because like that's tested separately This lets us, you know do tests on whippersnapper They'll be really handy for also the Lauren who does the back-end development on Adafruit IO and like Adafruit IO in general right like people, you know, people are having an issue We can try to replicate it and then Not require the hardware to do so it'll be a lot easier to figure out what's going on. Yeah, it'll be great We can just like isolate any issues people have Okay Thanks for that. Cool Alrighty next up we're gonna go to To tell her we're gonna live and jump work then do you do it? Tell her what's going on. I'll be hi there. Well, I've got just your very basic standard sand demo and You've seen this before but what's interesting about it today is I've upgraded it to work with the upcoming Little more can tell me if I'm saying this right. It's the Arduino ESP 32 board support package version 3. Yeah changed some of their API's Just to keep up with ESP IDF and some things change the protomatter dependent on and I got the opportunity to Untangle that and now the practical impact is all of your protomatter sketches in Arduino Are gonna just continue to work when that Because we come out as stable We got neopixel going and we had a bunch of other things that we needed fixing But this was the one that was like I spent a couple hours on it I was like, I can't really focus and figure out what's going on And I figured you had done the protomatter port for IVF 5 anyway. It's it's like how you probably like know More about this stuff. So thanks for jumping in on the There was definitely some head scratching on the way to having the solution, but it it seems to be really solid now So that's great news. Thank you. Thank you for making this open source as well Yes, playing the video in our open source section and ask an engineer And yeah, and if you've never tried this demo, this is a lot of fun I could just sit here and do this. Yes It's all kind of sand without getting sand It's bouncy sand and yeah, it doesn't get in your in between your toes and all that. Yeah All right. Thanks. Okay. Thank you, Jeff All right, Liz what you got going on this week? Hey, I have a disembodied rectangle here that is running on a pico w on a pi cabel doubler with a Pi cabel DVI and so it's putting out DVI data And so that's how we're getting the display here. It's going into my graphics card but What's happening is it's pulling down feeds from Adafruit IO. So at the top we've got an AQI We've got a battery monitor for the board that's running with all the sensors and we have humidity and temperature data And this is coded up in Arduino and it was a collab I did with Pedro this week and guide went live So you can edit the code so that it has your feeds and your IO Data and you can have like a nice display that you can pop up on an HDMI display Either a little one or your TV or yeah, maybe you want to have it with your webcam. Well, like I'm doing right now Hey, it's cool. I got a chunky look And we were you know, we were planning out you know behind the scenes means we're planning out Maybe doing a teletext project because that's no it had this like real teletext feel and I wanted to reproduce The one of the first projects we did which was the Y box to remember that and it would connect to Four square to get local event data and I was like man, it'd be so cool to like be like 15 20 years later let's redo this project But do it on a Pico W. So it has like it actually is like a lot easier to use ethernet Bitbang ethernet We could use Wi-Fi to get local data and displayed on a TV and then it has to play tubular bells because yes Teletext always plays. Yeah, I think this is a good idea for when you want to have a smart TV But not right have it listening doing things subscription services. You can kind of Turn that canvas into whatever you want and this is a good one. It could be an ambient device That's there at all times without the all you have to give up for Getting a little bit of data. Yes, and I used to work in higher ed and a big thing with higher ed as digital signage Yeah Folks are always trying to find out ways to like display exactly what they want and do more open things So I could definitely see stuff like this beings in that context. All right, Liz Well, thanks so much. We'll be going over the guide and more this you know, she would be really good I've now that now like I'm thinking about like will be really fun is You know, cuz I was thinking like before square. I don't think it's the same work Data service day. Yeah, but maybe we could use a Google calendar So we had a Google counter interface and we could just show what's on your calendar for the day That could be kind of really cool. We will do that instead because I that I know we did some circuit Python code for My tech. Okay. Nice. Alrighty. Have a good one. Thank you Okay, JP what you got going on this way? Hey, so I have this humble little thing right here Which turns out to have saved the day This is a little teeny tiny usb-c breakout And it is a simple one because it's just got kind of what you expect from B and Micro and mini which is just ground power data minus data plus All I needed was data minus data plus because I am trying to charge a battery inside of a PlayStation Controller, so this is a regular PlayStation the first generation controller and I am Making a wireless version of it using our little itsy-bitsy ESP 32 there And I don't need to program it while it's closed up In fact, I've got it set up so that I can do that over the air using Wi-Fi, which is super red But that means that when it's closed up I want to using a little charger that's under that battery there be able to charge up this lipo battery So fitting this super minimal little nub of a usb-c Port up in the top here, and I just Play a little bit of plastic there means that I can close this up actually before I do I'll show you at work if I plug in the usb-c cable. I've got Light that means that I'm charging this up and that's all I need it to do And that's just soldered to two pins in the project When I close it up it is protruding nicely there and I just actually used some superglue accelerant and superglue to Glue it down to the board the back of this sort of PCB that was already in there I'm gonna put a little cap on tape on there also just for good measure To prevent any shorts, but this is great because I was trying other ones And they don't kind of have a PCB that runs all the way up to the end this one since it's so minimal And I saw actually a little more in your product description. You said you'd found that people were using these to Add charging in their keyboard projects. Yeah, it's like it's like I somebody asked me to carry it And I was like well like I don't quite get it, but like it's now we know You know, yeah, it's perfect for these kind of things where you're like I there was never meant to be a usb cable and plug in this thing And I don't have a lot of space and I don't have Something like I've never used like I've never really used it. So it's like cool Worked out great. I've charged it off of a hub. I've charged it off of a battery So I don't know what it'll do if I try to use a power delivery hub It might just well probably it may or may not work depending on whether power delivery hub cares that there's nothing Yeah, on the other. Yeah, that's the only problem of these is like I I do want to like this is you know I don't fab this but I do want to make a version that I fab that does have the proper power delivery Yeah, sir. So maybe I'll do that. Yeah, but for this little small battery just needs to be charged kind of overnight sort of thing This has worked out great and Super happy with it. All right, cool And you probably be showing this off tomorrow in JP's workshop. Yeah, they're showing this and a Mondo big game controller project That's gonna get started using this ridiculous Yes, these controllers so come by if you want to see the innards of this and some modernization going on I'm gonna drop them on my foot and break it All right, okay. Well, thanks so much. I think it's like it's like JP's retro workshop. It's like this Nintendo There's somebody have three Sony Trinitrons It's a mood Once you have me on a stack of them because you're like, I want to be like a network TV. Yeah I want to look like an old TV station in here. Yeah All right, we're gonna wrap it up with the DJ Devon take it away Hello Can you hear me? Yeah, okay last week? I said I'd come back on and show off the github API Project that I've been working on that pulls the latest 25 closed PRs from the hub For circuit Python PRs. So these are all basically bug closed bugs And it was a nice segue from JP with this little USB thing because I need like a little USB adapter so I will Show you what's on the inside. This is an enclosure that I 3d printed and it's using a panel mount for USB and This has a right angle USB plug that plugs into that but this cord is so thick that when I try to go close it It won't close Because this cord is too thick. I need like a ribbon cable kind of USB panel mount Solution That's thinner for, you know, tiny tiny enclosures This enclosure is about half the size as the one that I was using and I did not account for how thick this this cord would be and this is running on a feather and This one Is the same exact demo same case same enclosure and everything but it's running on a little cutie pie So that's this has got a cutie pie that is powering a display SD card and Touch controller, which I don't have the touch demo working, but I I show you it works. Yeah, so that's what I've got Hub API 3d printing enclosure stuff. I'll do you have the little icon of the person to you That was not yeah, I Figured out this week that you cannot upload BMP avatars to get hub and if you upload a GIF avatar to Get hub it will automatically convert it to PNG. So you're only allowed PNG and JPEG and unfortunately, I Circuit Python doesn't have full PNG support. So as you can see I'm displaying a default octocat Instead of Probably, you know They actually do So if you if you want to show up on on my sketch here go into github and switch your avatar to JPEG Yeah, if you want to do different parts to work. Yeah, it's good. All right. Keep coming back Give us updates. You will figure out your stuff. Thank you. Have a great day. Thank you. Okay All right, that's our show until for the week this week We're going to get set up for ask an engineer which starts at 8 p.m We're every single week some of 30 p.m. Eastern time show until come by Showing sure your projects and more. Thanks for making this the best half an hour ish 20 minutes ish of the week every single week. We'll see everybody next week Bye. Thanks everybody. See you in a few minutes