 Hey good evening everybody it's me John Park and I am guest hosting here tonight on show and tell here on Adafruit Industries broadcasting conglomerate you may be picking us up on YouTube or LinkedIn or Facebook or Periscope is that still exist I don't even know but if you're wondering where the conversation is happening around our live broadcasts and other topics you can check out our discord which is over at adafruit.it slash discord and you can jump into the live broadcast chat channel and participate in the conversation. Also if you head there or to the Adafruit blog you can grab a link and join us because we would love to see what you're working on what you've got to show and to tell any projects you're doing any observations new gear stuff you're building we'd love to see it and so what we're going to do is take a few minutes with a few of our Adafruit people and we have at least one community member logged in already to show off some stuff and then we will I think we just have a few people so we'll probably wrap up a little early but either way we will wrap up for sure in time for Ask an Engineer which happens at 8 o'clock Eastern time and it is 730 Eastern right now if you're wondering about all the time math that's happening that's it so first off I'm going to bring on Scott Hey John thanks for hosting, thanks for having me. What you working on what's new? Yeah so I've been working on USB host which is the idea that you can plug an existing USB device into a circuit pipe on board or a board running circuit So I can't show the rest of it but this is IntelliQ ease I've showed this before but what I didn't have working before is you can actually press it and the light comes on when you press and if you can hear it where's the speaker I don't know where the speaker is Yep it's beeping and the way that that's working is actually when it gets the when the circuit piping could read that a press down has happened it has to send a thing back to the device to tell it to beep and make the LED go so that was me getting it working so that we can send stuff back to the device Right on. Okay part two of this show is the window that I've got for you so this is a tool called chi-tie struct and what I've been using it for is taking blobs of binary data and making sense of it so what we have on the right hand side here is some data that I captured by just spitting it out from circuit pipe on so these are the data packets that come from the IntelliQ ease back into circuit python and then you can write these definitions for chi-tie struct that tell you kind of what the structure is so it's a repeated list of reports and then a report is an event ID and then a different type depending on the event ID and then what down here is this is all the data that is parsed out so if I want to click here it will highlight the bits in the in the data file that match up with this object and so we can see sensor changes and then we scroll down we can say oh here's the here's the version number response and you can see that it's labeled them differently and then here's like membrane press and release so I've been using that I thought I'd just highlight that as a like very cool tool that's handy and if people want copies of these chi-tie structs I just put them in my github just as public so hopefully people can at least Google for them in the long run. I also did USB descriptor parsing and USB HID report parsing as well. Oh that's great and so for in case people don't know that IntelliQy's keyboard is an assistive device for which there are no longer drivers right it's a yeah it's a pretty used device even though it's right it's a pretty weird one because the firmware has to be loaded every time it plugs in it doesn't it doesn't store the firmware itself so one thing I got working is the actual firmware loading and then after that it was a matter of like reading the the data and then there's also like these overlays so that the sensor changes as we saw in the dump are actually the light sensors for the ah where's me I'm disoriented that black line on the edge there that goes in front of a light sensor that comes in as a sensor change and so that's how you would tell which which overlay you had is the the light level that that you're seeing whether it was so presumably you could drop in a different overlay and if you've already defined that yeah structure you can immediately use the new my handy like folio overlays so cool so the circuit by the code doesn't do this it's it's not fully featured circuit by the code isn't it's just a proof of concept that like all the bits work yeah because there is a lot of work to just do all that mapping whichever membrane one you're pressing to what you want to do with a keyboard I haven't done that part but I'm hoping somebody else will I just wanted to prove it out so that's one thing and then since since we don't have a whole lot of people probably let me show you this yeah we have time if you have another thing to show so tomorrow is hardware happy hour which is like a monthly thing where we get together and I wanted to show us be host so I have a feather tft thing here and then on the back I've got the rp 2040 usb thing and I got a little sidetracked so not actually going to show usb with this although it does work what I was playing around with was upside down I was playing around with switching the font up for 9.0 so this is a font that jeffler found called cassette and it's really spaced weirdly right now because I just set it up to be bigger because I was playing around with these emojis sorry my usb cable is not quite long enough um come on let me pull it yeah we've got like rocket snake shrug oh yeah and like a smiley showing up there uh-huh and because we're you know kind of going in this vein of usb host and circuit python as a standalone computer I thought wouldn't it be cool if we had emojis working in the terminal as a way for you to do games it's like ASCII games right those 8 bit era computers they would have like line drawing primitives and box primitives as well and those are in unicode so um I was like a little mini pallet of sprites almost if you show me yeah and like the modern like that was all custom at the time but the modern version of that is emojis right um I was playing around with this font that has emojis and having some trouble because the emojis actually different sizes so that's why like the smiley is cut off like it's it's extra big oh I thought it was just that weird saluting half face oh no it's it's meant to be the it's meant to be the um the yeah the shades one with shades but unfortunately like the font hasn't been strict about like it's it's 6 by 13 but then the like full one is not 13 by 13 and ideally be 6 by 12 because then you'd have 12 by 12 anyway so I'm playing around with that there's also another font called Unifont that might work better and that Unifont has support for like Japanese and Korean and a lot of other languages that would also benefit from this like let's do half width and full width characters right right because then we can actually have terminal support for other languages what should be cool really cool well thanks so much for bringing those on Scott yeah thanks for having me all right have a good one all right next up we got maker Melissa hey how's it going hey good uh you want to share my screen or my second camera there okay so what I have is I just have this touchscreen hooked up and I only have the touchscreen component of it it's running a new touchscreen controller than we have drivers for so I now have it working so I can move the it around and it'll affect the screen on the HDMI so it's getting the input and moving the mouse around that's great so that is running on a Raspberry Pi yeah external trackpad exactly that's how it's going to work in there neat oh very cool and what all do you have hooked up there what's the what's the you got one of those nice breakouts for oh oh yeah it's one of the type the tea cobbler from the store and what is the is it a pair of resistive touch elements that you need to wire up from the screen there or how does that oh um it's it's like a TSC 2046 compatible chip I think it's actually XPT 2046 and that's reading the resistive touch that you're doing and then it's communicating via the spy interface to tell the Raspberry Pi where you're going so it's a it was just a matter like finding all the right settings and everything but the driver is already built in which is cool cool oh nice work thanks for thanks for showing that off Melissa take care thanks you too all right next up we've got no way hello hey what's up JP how much what's new what's going on all right what's new we have a 3d printed adobot yeah so this is a prop maker feather rp2040 that's powering it we got a new pixel stick inside the mouth and then it's it's got a servo a micro servo that's controlling the head I got a little push button in the back and I got a speaker in there so when I press the button so I sampled a couple of way files from the circuit playground episodes so I got two different ones it's all done in circuit python shout out to Liz for doing the code for this one really nice yes we heard something so I'm really happy how the the parts all turned out so we got some poseable limbs we got the two two arms because it'd be great if we had one arm and then we have the claws that are fully articulating and little feet are very adorable they also articulate somewhat really nice update to this we had one like a couple years ago but we didn't really do much else with it yeah but the prop maker feather is really like the the best kind of it does have an onboard accelerometer so I thought it'd be fun to like when you want the head to stop moving you kind of lay him down and then the the new pixel kind of pulsates to kind of like he's sleeping yeah and it helps because like this this the slide switch to turn it off and on is right here so if I want to like turn it off it's like shake his head and he'll let me play it's like a safe way to like turn him off that's great go to sleep at about I need to shut you off oh that's really clever I like that yeah also you said it's a is it a rigid stick yeah so such a nice effect of right illusion of the curve yeah so the way I did that was I just printed a separate like mask that's in the shape and all that it is it's exposing the mouth so it's black filament because otherwise it would shine through the whole head so good that was like the easiest way to do it so if I pop open the head yeah you'll be able to see the the black black yeah so that was the way I was able to do that yeah you have access to the USB port right there so we can recharge the battery or reprogram it or add new sounds but yeah folks seem to think it's cute it is and you you really nailed it with filament colors too oh yeah there's there's a ton of different colors these days and I made a special version just for PT I was noticing the goth goth yeah so he's got like a couple of you know desaturated black colors so cool yeah so folks can have fun printing in different colors love that and we got a learn guide published today thank you for reviewing it by the way yeah and yeah folks can start printing it out there's a lot of pieces to it but I kind of had to do it that way just so that you can do all the different colors and just take your time printing each part out uh huh now it's great and what are we working on? great work on that really cool yeah so people head on over to learn.adaford.com and check it out it should be in the new guide section and they'll probably highlight it tonight on the engineer so you said it alright let's see if we can say goodbye what? okay it quite can't say goodbye but bye you know alright and uh last up we have Todd about joining us tonight hey there Todd hey so um several months ago I made this like latest iteration of this little uh step sequencer sent thing in preparation for synth IO being awesome yeah this is pretty this is pretty big and complex so a couple weeks ago I made a much smaller board it is meant to hold a cutie pie a little OLED display a couple of pots and four little touch surfaces and then like midi and audio out and so that looks like via my magic of screen and screen technology here is uh is this and um let me just jam the little battery here and so these two knobs currently control frequency cutoff and resonance and so when you press little touch pads yeah just doing this backwards is kind of hard but the uh one of the whole points of this is that I'm working on a sort of um instrument and patch system for synth IO and so like this is one patch here's a different patch and you can sort of hear the filters being modulated there by an envelope and so uh and of course you can still just the filter manually yeah so that's what I'm working on is this little this little board it's pretty cheap it's pretty fun and um hopefully it'll be in the the tendy store at some point great yeah and so uh to explain a little more about your uh your patch and instrument ID inside of synth IO can you talk about that uh well let's see so so synth IO does a lot of really cool things where it actually does most of the like connections for you so you don't have to really make a patch in the normal sense but if you want to do a lot of the uh it's got a very it's got a very particular sense of how things should be connected so if you want to do something a little differently like have multiple oscillators per note or have a filter that's modulated over time the way the amplitude is modulated over time then you have to do something you have to have extra code that sort of runs on a timer and adjusts things in real time um and so that's what the what the patch system is is it holds all the synth IO parameters and all these extra parameters puts them in one little little object and then you can like just sort of choose each different one and I don't have it working very well yet but but it's getting it's it's it this is this is the sort of like proof of concepts and it's a nice little test platform for it that's great do you have a name for your your uh little cap touch synth board here uh this one it's currently called unimaginably cutie pie synth hey that works because it holds a cutie pie and that's it's a synth so yeah that's about it excellent very cool I don't do those fancy cool names man let the people decide let them that's great and if people want to find out more where should they look where should they follow you uh probably github um like look at the github repo uh there's a there's a github repo for this right now but there's nothing in it except for the the board files of this bad version of the board which has a lot of slope screen mistakes yep good so if you can get in on the ground floor of that action that's right that's right so if you do have the ability to make PCBs you can make one of these yourself and like you know kind of knock yourself out so it's kind of lo-fi it's not really you know it's not it's not meant to be a high quality synth it's meant to be kind of a fun lo-fi little gritty synth and are you uh doing an i2s amp output or PWM output not even that yeah yeah PWM yeah if you look it's just got uh this is the audio out this is the doing things backwards this is the audio out jack and it's just got a couple of resistors and capacitors um from the standard uh uh rp2040 data sheet on how to convert PWM to audio and so it's super low-tech but it works yeah low-cost low-tech and it works really well yeah nice nice all right well thank you so much Todd we look forward to seeing the uh progress on cutie pie synth take care thanks man alright we have a couple more people who have entered so let me go ahead and add mouse to the stream hello mouse hi okay uh can you hear me well I hear you well yeah would you like your other screen added as well uh yeah so first I'll just say that this is the module I showed off last week which is a digital FM synth based on a rp2040 keyboard and uh right now put my screen I wrote some uh software for editing patches which is notoriously hard on digital FM synths um but uh I'm actually going to ignore all the funds looking stuff over here and I want to talk about the right hand side where I have a little panel that uh connect is directly connected by USB serial to the module so you can see I have some uh some debugging messages it shows here right here and uh I was able to just using the USB serial that's in the the um CSDK for the Pi Pico uh I was able to do all sorts of uh communications so uh one of the really useful things is that I can download firmware oh you can't see the pop-up dialog in different windows sorry but if I if I if I click on here I can I can download firmware to the device it automatically it tells sends a command down there that tells my firmware to do the uh reboot into bootloader mode like when you hold down the boot and reset because now that the thing is is inside my my synth here I can't reach the reset button anymore right so um yeah and then it uh so the software sends a command and then it waits for the fake USB drive to show up where you drag the uf2 file firmware file and it just copies firmware file on there so it's really convenient when I'm when I'm programming a debugging yeah oh that's that's a smart addition uh the other yeah and uh it sent I can get percent version information from the firmware also to debugging stuff I'll make debugging messages and I can also this is also how I download patches sends a command over the USB serial to the the module the firmware in the module and waits for it to send a whole data file I can oh you can't see what I'm doing but it uh there we go wait a sec there it is yeah so I can download a whole new patch bank um I was actually surprised how well it works just using um because on the on the uh rp2040 side it's in written in c++ and it just uses the c standard output and standard in standard out which is connected to the USB serial so it's just reading and writing stuff like printing and stuff and uh I was surprised how well I was able to get it to work well it looks really useful yeah so helpful to be able to iterate uh between yeah yeah I had to do that to be able to download patches because I got started to programming patches in c++ I can imagine oh that's great uh I don't want to put you on the spot but can you play us a little demo of something from this patch yeah what I have here okay thank you to let you know that song that's great really cool thank you so much mouse thanks for bringing that on and sharing the progress with it looking great alright and uh we have uh one more uh shower teller djdevin3 I'll bring it on now hello hello can you hear me I hear you well yeah okay what you got today oh I just wrapped this up well I wrote a new driver for this display uh it took me a better part of a day and with a lot of help um and this is let me just load this real-time demo hopefully it doesn't crash so this is going through Fitbit API it goes through a SHA 256 hash base 64 encoding pulls your latest heartbeat and this is my mom's heartbeat that I'm monitoring it's very basic because I literally just finished this like two minutes ago so I'm going to have like this cute little you know heart shaped icon with a heart beat so I can see your latest heart beat so yeah that's it oh that's great and so is that a Bluetooth low energy device uh that you're reading uh this is connected to an ESP 32 Adafruit ESP 32 S3 uh it's right behind it so and this is connected via spy uh and I'm I just wrote the the eight okay yeah because it's a custom api so I wrote an entire new Adafruit requests Fitbit api so this is a demo of that which as I'm cleaning up because there's a lot of personal data in there that you don't want so so um that will be released sometime this week next week something like that I'm still working on it's a work in progress yeah oh excellent well that's looking great thank you for sharing that djdm3 well thank you you have a great day you too bye bye all right well that is going to do it thank you everyone for bringing on the very cool projects and sharing those uh bring yours on next week uh I think we'll have Liz hosting next week uh as another guest host and then Phil and Lamora will be back on the week after that so please bring your cool stuff we love to see it and next up you've got enough time for a little bit of a break go grab a snack or a beverage or something because you're going to want to go see ask an engineer happening in six minutes at eight o'clock p.m. eastern time so that's it for me that's it for show and tell thanks everyone I'm John Park trade for industries and I will see you soon bye bye