 Hello everyone. I saw unexpected makers say let's go, let's go, so I thought I would. If you're watching this after the live stream, make sure and check the description below on YouTube for time codes so you can skip around. We're going to take a few minutes just to get going here. So sit tight. I'll say hello and answer any questions, but I could also answer questions later as well. Hello unexpected maker. Hello Dishapoo. Hello David. Hello Biada. Hello Charles. Thanks for stopping by. Hello Dave. Good afternoon. On this chill Friday. Hello Anthony. Congrats to your family addition coming up. Thank you. Do dates three weeks from today? So it's coming up. Hey, so you're over. Hello George. AKA Hams Labs. Hi Ivan. Yvonne. Hopefully I said it okay. Hello Jim. Thank you all. Hello Bad Abbey. Bad Abbey asks, is this the last one? This is the last one that I'm doing, but Foamy Guy's planning on streaming in this slot going forwards, at least for a little while until I come back. Hello Michael. Hello X Micron. So I'm not actually not working for the next three weeks ish. I'm basically in this mode of like when the baby comes I'll stop working and I didn't want to like schedule things out. So I thought it would be nicer to just tie a bow on it for me streaming for a little while and then I'll post on the blog plans on coming back to streaming whenever that is. Hello Keithy EE. Hello Mohamed. Hello X Micron and hello Michael. I don't know if I said hi to you so I will. Hey Johnny. Thank you all for hopping in. Should be cool. To be chill. Hi Dinkelberg. We'll wait a few more minutes and then get going. Charles says do you know if it's a boy or a girl? We do but we're not saying. Trying to go gender-neutral as much as we can. Yeah, if I'm a little slow today I was up later than. Later than planned the last night. I think that's going to be my the state for most of this year is is not getting enough sleep. So anytime I don't sleep well I'm like this is what it's going to be like when we have a kid and I have lots and lots of USB cables and USB devices on my desk right now. Let me tell you. Hey Bruce. Unexpected baker. Yeah. It won't be a surprise to us but we'll see. We haven't had an explicit talk about how public we'll be with our baby so we'll have to figure that out whether I would like show the baby on show and tell her not. Linux 2.3 says hello. Congratulations and good luck. Thank you. Yeah I'm excited. Excited. I'm trying to shift my brain to doing more smaller projects in terms of circuit Python. Trying to get there. I did get the the Xilinx the Zinc chip and that's I put it away but it's like where I can see it when I come in and so it's teasing me a little bit. That is not on my not on my to-do list or at least not my Adafruit to-do list. All right. I've successfully procrastinated until it's two o'clock. So maybe we just get the show on the road. Let me pull it up. Baby on deep dive hosting. Yeah. We'll see. Oh you know I have overhead. I was going to say that both cats are in here again. Hope you have a healthy baby. Me too. Me too. Everything's been looking good so far. So far so good. Yeah these kitties are zonked out like I'm a little tired too. Instead of cat cam it'll be baby cam. Why not both? There's a third bed there. We could just put the no not a firm flat surface. At least not at the start. I have Patrick by the way. Hello Mark. Okay let's get going. There that's the camera I thought I was on instead of the desktop. So hello everyone. If you're new to this thanks for hanging out while we just chitchat it. My name is Scott. I work on CircuitPython for Adafruit. If you don't know what those things are CircuitPython is a version of Python designed to run on its own on little tiny computers called microcontrollers and they will they're really inexpensive so they're a great first computer and they don't have a lot of layers and abstraction and complexity so they're great to learn computers with. Adafruit is the folks that pay me to work on CircuitPython and they are an open source hardware and software company with a focus on education and kind of teaching technology to folks and Adafruit does that by writing guides that tell people like or give tutorials and how to do stuff and then a lot of the materials are little electronics components that Adafruit then sells on Adafruit.com. So if you want to support me you can do that by supporting Adafruit by purchasing stuff from Adafruit.com. So we've got two chats on the right hand side here. We've got YouTube on the bottom and the Discord on the middle. If you want to join the Discord it's a great chat because it sticks around throughout the week and I hang out there and a bunch of other cool folks hang out there. So if you want to join that you can go to the URL adafru.it slash discord and we'd love to see you there. That's a great place especially if you're starting to get contributing in CircuitPython that's a really good place to go. This is a deep dive. It happens every week. I'm not sure so this is my last one last deep dive for a while. I'm as I've said before I'm expecting a baby three weeks from today and I'm planning on that so that I'm going to go on paternity leave and whenever the baby comes so this will be my last deep dive that I'm doing until I figure out what parenting is and come back to work and stuff like that. So it'll be a little while before I do it again but this time slot Friday's at 2 p.m. Pacific. Foamy Guy who also is a part timer for Adafruit and just an awesome streamer as well. Foamy Guy is going to be taking this slot and on Adafruit so he'll be streaming next week I think starting next week at this 2 p.m. time slot. Arjan says congratulations. Thank you. Yeah I'm excited. Very excited. So yeah this is my last deep dive for a while but this time slot will have somebody streaming so please join the stream next week with Foamy Guy. I might actually try to hop in the chat and watch the stream too because Foamy Guy also streams on Saturdays and I'm pretty strict about when I do work and when I don't do work but because this is the slot that I usually stream myself I think I'm going to try to be in the chat for Foamy Guy next week. So yeah please help with that. UnexpectedMaker says dude I've been parenting for 13 years and I'm still trying to work out what parenting is and how yeah and Beata says my dad is 80 and he's still figuring out what parenting is so I guess that's not the right way to put it it's more like what sort of time I can set aside for it and I mean one of the things I'm thinking about is like what my work schedule is going to be once I'm taking care of a kid and and what Aida fruit is going to need from me and whether it's streaming and all that so the way I'm approaching it is just kind of like not committing myself to anything and keeping my options open and then we'll go from there. So yeah Foamy Guy is taking over the slot which is great and in fact Foamy Guy is going to try to join the stream in about an hour and we're going to chat and so those of you who haven't seen Foamy Guy before this will be a kind of a chance for us to one I haven't really chatted with Foamy Guy one-on-one before and so this I thought that would be kind of a cool way to kind of like hand off the time slot and I'm not sure what like he's calling it or anything what he's calling his stream and stuff but it's a lot of a lot of circuit work that Foamy Guy is doing so it's definitely similar so if you have questions for your Foamy Guy store those up and we can ask them in an hour or so hopefully that works out. So let's see I talked about that the last thing I want to talk about is just that there are notes there are notes docs yeah the cats are tired they're zonked. Notes are available on github you can go to github.com slash Adafruit slash deep-dive-notes and that's great thank you again to David, DCD for taking notes of this stream and then thank you to Patrick for curating those into that repo which makes it really easy to search the repo find a topic you want to do and then click the link to jump around in it. So yeah thank you to them. Keith the EE says his Saturday streams are awesome and thrilled for the Friday slot yeah and Bad Abby says deep dive with Foamy Guy. I did let Foamy Guy know that I was like okay if he wanted to call it that but I also want to respect the fact that like that his Saturday streams are like outside of Adafruit work that he's doing so I want to make sure that he preserves his separate brand if that's what he wants as well. And Seagrovers says there's a bunch of we'll see how it's going in the parenting realm yeah so I guess I feel like I'm a little bit on top of things in the in the sense that I'm not expecting I'm trying not to set my expectations to anything particular. Hello Paul I don't think I said how do you how do you yet. Okay so we got about an hour we'll see when Foamy Guy pings me in and kind of you know how I do it with Lady Aiden I just drag it over and hopefully I'll be able to pop the video out that didn't work last time so I couldn't actually watch the Discord chat as we were chatting but yeah I thought we'll see we'll see waiting into the deep end with Foamy Guy. Foamy Guy does a lot of library stuff too and graphics which is not my strength so I'm excited about it Foamy Guy is an awesome awesome contributor and certified though so I'm happy to see him take over the slot and hopefully find more folks that like to watch his streams as well. Okay so while folks are brainstorming titles in the chat perfect I was just gonna say I do also love to answer questions I try to do my best and folks in the chat will answer them as well and Karim in YouTube just asked a question so that is where I'll start and if folks have other questions feel free to ask them otherwise I was going to talk more about usb host and its status and stuff like that but first I'll answer this question. Do you have any tips for an electrical engineer that wants to be a hardware development engineer? I don't know the difference I so my background is actually mostly software I am a computer engineer my degree is computer engineering which is a little bit more hardware than it is theoretical computer science but I've been doing software for a decade or more so I don't so I pretend to be an electrical engineer I don't really know the difference between electrical engineer and hardware development engineer so I can't really answer that but maybe some folks in the chat have a better answer for that. Hey Jordy thanks for stopping by okay so if folks have questions feel free to ask them I'm happy to get distracted and we can go off in the weeds that's kind of our thing that's the thing that we do here Derek says are we building a whole usb-fi stack in python no so um well no so that a lot of this usb host works derived from the example of using the raspberry the rp2040s pio for doing usb which is kind of like fi um what we're looking at doing is so for usb host we are doing kind of like a lower level we're doing a lower level api where you can just read and write end points and then kind of building what I don't think is the the fi stack but more like the the usb class layer so like all the device specific layer um in python um it's kind of what we're looking at electrical engineers build nuclear suns I mean there's also nuclear engineers of 220 volts versus small electronics yeah I don't know um so yeah let me show you just what I what I was working on so last week I think and I probably talked about this last week as well my plan was kind of to target the pi usb api um in circuit python which means that you can you'll be able to port kind of from the circuit python world up and then if you're careful and working in linux you could write drivers without needing circuit python um and so I've been collaborating with tac who is the maintainer paid by adafruit so if you if you like tiny usb so tiny usb is a an open source c library that does uh on the dev it does both device and host support um there's class level support for both of those things um but they are the the host stuff that the host api we want is kind of like under the class level stuff so classes are basically like mass storage cdc which is used for serial and then also like um uh hid which is human interface device human interface device um so whoa most of our teachers teach for a thousand kilowatts but I love pcbs and microprocessors and that kind of stuff but I have no idea what to learn next um so uh learn dot adafruit.com is a great resource for all of the stuff that we do and that's largely well I learned a little bit of I had two electrical engineering classes in college and those were um that's where I learned like capacitors and resistors and like ohm's law and like the basics of that stuff but um I always I always learn by projects as well so learn dot adafruit.com is a great place to just like you can oh let me show the desktop so the way that I I like to learn a lot is just by projects so you can go to learn dot adafruit.com and just kind of see all of the different projects and products and kind of just start with what looks kind of fun to do so like this nunchuck laser controlled cat toy um this is this is admin stuff so you wouldn't normally see it um but it shows you what the feature products are and again this is like how adafruit makes money um but then you know we support it as well so you can see the like code that goes along with it and we tell you how to load it up and all that um so this is a great way to learn it I think as well Keith says just starting with some microcontrollers is incredibly helpful and a great place to start if you're coming from a power systems EE place my path was EE to signal analysis to buy informatics to programming so while I prayed as an EE I'm not much of one anymore that said learning about embedded programming is hugely helpful learn dot adafruit.com and click the dice do I know what the dice do uh these dice oh cool yeah you want to learn what the tilt sensor is that's pretty neat yeah so I think I mean that's it depends on how you learn but this I'm I'm pretty self-driven when it comes to learning so that's not to say that I learned all on my own it's that I can learn from projects and tutorials like this I'm showing secret info and maybe okay so let me show you what I was working on so so I've actually made pretty good progress with uh with the usb host stuff I have kind of like all of the shared bindings set out and I think I talked about this last week um and I've got the ability to plug in a device and see the usb pid and vid which are like the vendor and product IDs and then I can also see um I I got working today the strings for the product the manufacturer and the serial number but the uh the I had to fix some things in tiny usb I was hoping I was hoping that like the way that tac and I work kind of is like I do some work and then I do a pr with it to tiny usb and then tac changes it the way that he wants and then merges it unfortunately what he merged last night was good and I switched to it but it was it wasn't quite working so I fixed it and I made another pr um but I'm actually hoping that I can start doing prs into circuit python for all of this usb host stuff um because tac is also going to be working on the read and write endpoint stuff um so what I thought would be interesting is and useful for me is just to write some python code that I can run on my computer here that interacts with some basic devices here is a like kind of a proof of concept testing testing examples um for for circuit python usb host as well I learned almost everything outside of school it was it's been nice for me to have like this this school has the advantage of like a common knowledge base so they cover like a broad range of topics just so that you've seen them um but yeah there's I learned a lot outside of it as well so let me show you what I've got here so far um so here's an example that I was doing and this is just for a basic mouse so I've got this like um let me unplug it and untangle it holding up usb devices when I have way too many cables on my my desk so this is what I've got I've got this like very classic I used to love these mice they're the like Microsoft optical mice it's got the like two buttons and the scroll wheel um and so that's that's what I'm testing with here haha oh nice sounds like you're on your way FPGAs and VHDLs I learned that in some of my computer science courses where they were like taught us how a CPU works I really did not stick though I had no interest in it I have a lot more interested in now um hello James welcome uh how about before you went to university we're involved in electronics as early as you can remember um so I my background is I've I've always been lucky that my my dad had a computer so I've always been around computers but I didn't really start programming them until I was a teenager um I wanted to I played video games and I wanted to make video games and then when I started like doing some web programming and I kind of discovered that I found programming even more fun than video games so I did a lot of PHP and then Python um before I went to university um had I done C I don't think I had done C I did Java University and then did some C in college um and then I went to I worked at Google outside of that and did a bunch of C++ and now I basically do C but I've always kind of like had Python be my like project oh no a Microsoft mouse what's wrong with a Microsoft mouse these like Microsoft has made great peripherals for a long long time in my opinion um okay so what I've got here is this is like a very basic um very basic example for Pi USB so Pi USB is this USB dot core import array is the Python thing and sys I'm not actually using and one of the things that I've been thinking about with this API is I want to so circuit Python will implement a subset of the API that Pi USB provides and I think the distinguishing thing in my mind is that like I want in circuit Python to be able to kind of assume that you know more about the device that you're using um know more about the device that you're using you don't have to do a lot of dynamic like figure out what you're talking to so two folks have follow-up questions that are related so do you learn embedded C how did microcontrollers get in your programming life so I worked at Google for almost six years outside of college that I graduated college in 2009 and then I left Google in June of 2015 and I was very into um oh I find them annoying in my hand I see I don't use it anymore I use a trackball now um so I I left Google in 2015 I was on the maps team I did maps rendering and map styling for those six years and then um I got really practiced at C++ and then um I wanted to start my own company doing flight controllers for drones for like quadcopters because I was really into quadcopters at the time um and so that's what got me into microcontrollers and embedded is I was designing my own PCBs which I'd never done before so I learned a lot of that about that and I learned a lot of that from Adafruit actually and just watching stuff um yeah so FOMI guy will be at about three so which is about 40 minutes from now um is when we talked about him joining um so that was with STM stuff using uh base flight or not base flight beta flight and clean flight which is like I don't know if I told the story before but like it's it's an interesting it's an interesting relationship of projects just like circuit python and micro python so there's this open source flight controller software so a flight controller on a quadcopter its job at most basic is to one keep the keep the quadcopter stable so using uh an IMU like a an accelerometer and gyroscope um take in the motion of the of the craft and then determine how fast each of the four propellers should be moving in order to be stable to actually stay in the air um and then what you mix in with that is you then mix in like the remote control uh signals so that you can actually like fly forwards and backwards and and do all sorts of stuff like that um so there's open there is open open source project called base flight that did that um that was kind of controlled by one person and another person wanted and they I don't think they were that nice so base flight got forked into clean flight and somebody did that and then got distracted making hardware and then another person who is a like more aggressive like quadcopter pilot forked clean flight into beta flight and maintained that and that was more aggressive more experimental um so it's like all these projects that like were kind of related to each other that were all based on like the same kind of base flight source um and then uh but they like one didn't necessarily supplant another they like they were all kind of I don't know about base flight but clean flight and beta flight were like both kind of being worked on at the same time so it's it should feel familiar in terms of like our circuit python's relationship to micro python um and that's kind of like one of the reasons I knew that like projects can work like this um for sure but a coincidence we have a project about drones yeah so I I so what I did what what I discovered about that is that it kind of like in the same way that I liked programming more than gaming on its own um I kind of found that I liked the embedded hardware the simplicity of it uh the simplicity of the programming of a micro controller really appealing and then um the rest of the story is that I did that that project for about a year it was and I started my own company called chickadee tech and um at the end of it kind of had I had an idea of how long it cannot work and I like made the products we I did a production run with macrofab and started selling it and was just like I don't want to actually do this like I like the engineering but I don't like all of the support and um product market fit is really hard like my stuff was a a lot like kind of pricey compared to what where other things were going um so I was looking for a job and I went on show and tell which I had been going on it's a 80 free show and tell and basically said like I'm looking for a job and they emailed me after I said I was a software person and they said hey like micro python's a thing do you want to get it working on our hardware and is very it was very similar task to what I had been doing with the flight controller software where I was taking existing code and trying to to move it to some somewhere else um and and and I had been doing python for over a decade I love python um so it was it was a great fit it was a is my love for embedded plus my love for python and and I'm still working on it and circuit by then came out of that work um obviously and yet the the domain is this chickadee dot tech the poly stack was the system I was working on and I don't keep my stuff up to date but yeah here here's the board one of the boards I designed the idea being that you could like create this stack of things and one of the challenges was like how many you arts do you break out how many I squirts do you do you break out and I I actually wrote a python program to lay out um the connections over this uh high density connector um is there a better yeah so this explains like how it works is that like you have like eight slots for you arts and if one of the layers takes it up you shift the rest over which I thought was kind of neat so that's what it that it kind of looks like when it's cleanly mounted on like this is the frame of a aqua copter but yeah it was it was definitely too complicated um it's definitely too too complicated but it's what got me into embedded and key CAD and and manufacturing and stuff so I I still enjoy I still enjoy doing the hardware side of things as well although I don't do it all that often but yeah so that that was kind of like how I got in more deeply involved in hardware stuff and then eight of roots have been a great spot for me to work because I can focus on the engineering something that's really cool and really uh orient like beginner friendly and stuff um and and have a lot of like fill in the more who own little more owns ater fruit also known as lady data um and uh yeah they give me a lot of freedom to work on work on what I'm interested into which is really really nice um yeah it is crazy tough selling things if you're in it for the engineering side yep yeah and and making a living off of it particularly so I opted not to do that and software software consulting basically is what I'm doing now just for ater fruit and like it's much more much more lucrative lucrative and I don't and I can focus on the things that oh yeah Johnny says it was really interesting following his struggles on to and tell yeah so so that's kind of how I got the job as I was going to show and tell every week talking about it too complicated is what we live for isn't it I try to not be too complicated but this was I think it was well engineered for a problem that didn't matter or like a problem that didn't exist and that's the hard part that's not the engineering hard part it's the uh but yeah so so chick of the tech still exists I just that's this is the company that actually ater fruit pays for me because I'm technically a freelancer for them so they pay chickadee tech and chickadee tech got a lot more profitable once I stopped doing hardware stuff but yeah circuit python's been great I've been loving working on it and there's all there's just so many things in the embedded world to learn and and usb hostess is one of us do you have an experience with telecom or signals what do you think about that kind of stuff I don't have a lot of experience with like signal processing I'm very weak with I never took like the signal processing course like DSP so I'm I did some of the audio work it was just kind of like I can't quite I don't fully understand what I'm doing here so yeah scooter says hello I've also got thanks for tackling all my circuit python PRs no problem one thing I've committed to from the get go with circuit python is being responsive to people who want to contribute so keep it coming hopefully it'll stay that way even when I'm on when I'm on leave I will not be doing reviews when I'm on leave because I will not be working but hopefully other folks will interesting to hear your background any circuit python quadcopters out there not that I know of I wouldn't recommend so one of the challenges with yeah quadcopter stuff is very much signal processing where you're trying to read in signals from the gyro and accelerometer and like produce signals it's like it's definitely not my strength and and to do it you need to be very regular with your with your math and your computation and like circuit python would not be good for doing that control loop but you could theoretically like if you had like a dual core you could run the control the tight control up on one core and then do whatever you would do with circuit python on the other but yeah I'm not sure what circuit python quadcopter means anyway but I wouldn't use I wouldn't use circuit python for control loops because control loops generally need to be fast especially ones that are for quads like they're talking like you know like 32 kilohertz control loops so 32,000 times a second you're doing that computation of like what should things be that was interesting it's always great when your work lines up with your passions of what you're best at it's interesting because my hobby became my job and so it was a question of like what's my hobby now which is why I've been doing like some more of the broadband civic stuff as well and George's is offering to be a reference for telecom and digital signal processing who's ham's lab on discord so yeah I recommend everybody join the discord I'll drop the link in the chat in the youtube chat yeah it's a great mark says I'm always worried a bit worried about my hobby becoming my job when I straight up dev I stopped almost all my home dev work yeah what I find is like like the world of computers is really big and so if I spend all day doing like microcontroller debugging and and see that like my hobby would be more like terrible python code that does web scraping it's kind of been where I've gone the fbga stuff is still really interesting to me and I want to do that at some point as well I tend to wander projects and and being paid to do work kind of I have to keep myself on track a bit more than other times if you ask lady Ada she can say I do wander sometimes still but as long as I get my code committed before I wander under something else it's not as bad okay so let me let me go through this example so this is this was kind of nice I just like hammered this out some people work until their pensioners and then they have no hobby as their work was their hobby yeah I don't know we'll see we'll see how it changes when I have a kid to take care of too um scooter is a fpga engineer with a background in circuit design pcb design and also devil and software thank you yeah I have ideas on what I want to do with fpgas I really like the the python level stuff is really neat um like generating bit streams from python is kind of cool but I I would love to have and maybe you know this I was thinking it would be cool if um there was a way for us to use so imagine that that you have an fpga so like I've got this zinc imagine if we put like a a bus in it and then we can like combine pre-built bit streams to like set what you want in different parts of it if that makes sense right so like you have a memory bus and it has like three peripherals off it could you like denote the three areas of the fpgi fpga for those three and then like patch them in I thought would be could be kind of neat minnesota mentet says enjoy all your work return quickly I'm gonna make I'm gonna take so the plan is that I will take six weeks off at the start and then I will take another 12 weeks off when my partner goes back to work um so this first bit that I'm out will be um will be six weeks maybe we should do we have an fpga channel on discord maybe we should have it pierce says during your off time in between baby asks which hobby will you focus on good question I don't know I I'm curious to see what I end up doing but it might just be video games because video games can kind of be pretty efficient um our college uses arm for based ti for embedded courses it was easy to understand assembly language but now I have to learn embedded c and it seems a lot complicated without examples you have some ideas um I think the rp2040 has pretty good a pretty good c sdk and um really good documentation so I probably for for c-level stuff I would start at the rp2040 I think um Johnny says my hobbies have have always turned to jobs and I've had this start new hobbies over and over yeah yeah Scott says I see what you're saying the problem there is tools like place around are so proprietary that something like that might be impossible I'm only really interested in the um fpgas that are supported with the open tool chains and they have openly documented that the bitstreams for them so like the zinc has xylene seven series are pretty well documented folkology says partial reconfig of fpga is difficult there's been a little experimentation with os tools around this well so that's what the zinc is pretty interesting to me because the zinc has hard arm cores where we can just run circuit python and then those cores can control the fpga stuff um oh there is an fpga channel you should be able to just do like the hashtag as well oh yeah you'll probably come up with some new device and baby rearing yeah maybe the problem with me making anything to use at home is that then I have to maintain it and that's the hard part um right let's at least get through this example and show it off I was thinking about doing the keyboard equivalent as well because I thought it'd be kind of interesting I guess and re fpga can be reset to be used again yeah that's what I was thinking I haven't looked at the details of how like what the control allows you to do okay so here's how this works usb core is the pie usb stuff um usb devices are usually identifiable with this like combination of a vendor id vid and a product id so this is for the particular mouse i showed earlier um and there there's kind of two pieces to uh well yeah the report so this is uh what bit means what mouse button just to print it out nicely so um no phycology I think you're I think you're on track like I'm thinking like imagine you want to be able to basically patch so that your bit stream has like four neopixel controllers on it right so you have a standard neopixel peripheral that's been laid out to be in a subset of the cells of the subset of the cells of an fpga and you want to just like insert your python just copy and paste those bits to like multiple slots if that makes sense I'm imagining like the problem is is that the fpga tools have to run on Linux right basically so what if you run the hard place and route analysis stuff once and then just use circuit pipe and like patch them together as you need them but I haven't looked I haven't looked too much into it asa says consider fpga based neural net to determine what baby wants and needs I think that's what learning to be a parent is all about there are more buttons than those three there are at least two more these three are only on this one mouse so so this is just meant to be like a very simple example um and if there is more bits you could just add add stuff here so here's how usb works you say I want to find this device and you can do it by that's different and can't be done yeah that'd be cool I mean I'm picturing that you would have like an fpga like device library that is like you do github ci to produce the like bit of gate wear and then it just chunks into like some other standard gate wear hey rich um okay so we find the device based on the vid pid and then we print out the manufacturer and the product names so these are strings um this api is kind of neat because it has a way to kind of tell the kernel like the Linux kernel like hey don't like stop using this so I can use it so we see if the kernel is using it and if it is then we detach it there is this notion of interface number so this is this is kind of hard coded for the device that we're using but we want interface zero um and then this one has a four byte report so we set up a buffer that we're going to read the report into um and then we we're just counting how many reports because I'm like basically printing like the column names every 15 times so in a while true loop we read uh from the end point 81 so if we look back in my history we're I don't know yeah so you so what I did is I used ls usb um oh and it's not plugged in let me plug the mouse in so I plugged it in and so this is this is the descriptor that we're seeing here so we can see the device where it's like bus number and is based on where what it's plugged into here's the vid pid these names here are taken from others some of their database but then the i manufacturer and product are these strings are from the device itself what's a boot mouse so um a boot mouse is a particular structure so so usb devices try to describe what they the data that they send you so at the top level device descriptor is like I'm going to say I'm going to do human interface device and then there's like a sub descriptor that says like exactly what all the bits mean and there's a sub there's like a specification for specific like boot mouse and boot keyboard versions of those reports so we'll we'll talk about this a little bit now but they're kind of like specific report structures that are used for that are like well-defined that you could use in like a uh I want to say bootloader but like your bios right so and and there's actually this like boot interface subclass it's kind of like that you're you want the boot version you can see it says like how much power it is whether it has remote wake-up interface protocol and then more information about the interface and there's no report descriptors I think because boot interfaces are like described outside of this um and then we can see here that it just has one endpoint this 81 here is for the so in is like compared to the host so it's into the host and you can see that the max pack of size here is four bytes so that's why I'm reading this 81 here and I'm reading four bytes into an array so I try to read it if it times out I just continue I don't care I'll just look and then every 15 I'm printing the title like kind of it's going to show you x y wheel and buttons so I'm printing x y wheel and then ending with space and then for every button I'm checking so the first byte of the report so it's four bytes in the report the last three are just scaled like they're signed and unsigned versions of things where is it so I found this page that I was looking at so you can see the report format it says button status so it's one bit is whether it's down or not and then x and y and then this mouse has a wheel so the third the fourth byte is the movement of the wheel um and then button status is you can just see it's kind of like left right middle bits zero through two um and then of course if you're if your button has more if your mouse has more buttons then it will just use more bits but I just wanted a simple example here um so what I have here is this like for every for every button in this list up here I check to see if it's high in that first byte and if it is I print the name and this last print just does the end line count up in a loop around again so pier says is it the idea that in the future the usb devices will be enumerated and their capabilities found and if a mouse is found then it's used all in a usb host hid library I don't know I haven't thought that far ahead um I was kind of like assuming not so one of the main uses and I think I talked about this last week is that Bill Binko uses he wants to use usb host Bill Binko does at makers so accessibility tech um and I got one of these there's this this device here it's called an intelligent keys and it's basically like a it's kind of like a resistive touchpad so you can this is a an overlay so so you can like take this and you can flip it to a different one and the overlays actually have little black markers so that the device can read which overlay has been inserted um and in this case it's it's it's like one specific device that you're trained or to talk to um it's like a it's a custom hid version so so if you wanted to use this on windows for example you actually need a custom driver to do it um but what what Bill's managed to do currently is he uses a uh a trinket with usb host in arduino to read the device and then spit it out over your to circuit pipeline and so if we could read it directly in circuit pipeline you can basically do the interpretation of like what pressing this means from their custom protocol that this device speaks to the the standard one that the standard one that like your computer would just automatically uh work with um like it says it looks like a kids educational thing it's actually it's just for it's not necessarily for kids it's for folks that um may he was talking about people with Parkinson's who don't have like fine motor skills so that they're like they can press it down and then and then press what they need um is what he was talking about and these are from like the the early 2000s i think like these devices have been around forever so um that's kind of why i'm focusing on the like let's just assume that you know a lot about what you're plugging in like this and you just need access to it so that's where i'm starting but i thought i'd do kind of like there's kind of like typical versions of uh typical versions of like mouse and keyboard and stuff that i figured i'd start with too marx says just want to say hi and wish you all the best for the upcoming weeks keep us posted looking forward to your return thanks mark pierce says you could even make that thing be a leaf or connecting to ipads yeah yep and um that's something i've been thinking about too so the esp 32 s3 can do bluetooth and it can do usb host but it only has one copy um or only has one usb peripheral so we couldn't do circuit pi at the same time as doing a usb host so there there there is some maybe future work that we would be able to like there is a way to detect whether your usb so there's this thing otg on the go and it has the like some things have the device have the ability to decide whether it should be a device or a host um greg says i'm also interested in cdc in host mode for using usb serial dongles yep yeah so so what i'm targeting i showed this last week but i'm also targeting the imx 1060 which this giant board is but also the teensy four um the teensy four is also an imx so that that's kind of like the first thing we're going to support and then hopefully we'll also support the rp20 40 neither of those are bluetooth chips um but yeah so let me just um um foamy guys hanging out let me just run this script and then we'll we'll get foamy guy in here and just a bit i just want to show you what the output is well to kind of finish my thought um so that here's i'm running i'm running it and i need to open my py environment so here you can see that it read the the manufacturer and the product name and now if i like this is the scroll wheel if i press the middle mouse button we can see that there and then if i move the mouse um we're getting the first two columns or the first two numbers are the mouse movements um and then if i do the right button the left button um and so you can imagine that you're using circuit python to like translate this to other stuff um or things like that so that's the first thing i want to do a keyboard and i actually have a joystick here as well so i thought maybe i'd try to i'll do at least a keyboard example um because i think a lot of people want to you to do keyboards with it as well um but yeah let me uh turn the desktop audio on or yeah i'll turn the desktop audio on we'll see how the the video works today's deep dive has been a long detour times it's that's what deep dives are all about here i might need to friend filming i'm not sure yeah tim you should friend me at discord good i think we have to be friends hopefully pop out works all right i can hear you i can see you now folks can hear you okay let me mute okay and if i pop you people can see you great okay perfect i can uh i can hear you through the discord and i have the youtube still pulled up so i can see you as well through there yeah sorry my camera doesn't work i don't know i don't know why it is so um i let folks know that you're planning on taking this spot which i'm excited about i am as well how long have you been streaming electronics you circumvent on east off yeah good question i just actually looked into that a little while ago i think a week or two ago and january i think sixteenth or thirteenth something like that last year was my first stream so um just a little bit over a year and how have you liked doing it i enjoy quite a bit i enjoy quite a bit i think i don't remember exactly when you started you were a big inspiration for me to stream the kind of content that i'm doing there's a couple other folks on twitch um that i'll watch that also were inspirational in that i think it's um i think it's really awesome honestly i've done the the majority of my career in development has been either alone or in a very small team um and the stream provides almost like a pair programming uh experience where other folks are able to kind of help in real time and it's it's a really uh a really fun experience i find yeah so um thank you for doing that i think i think it was i think i started kind of right after the pandemic started i think like like april of 2020 something like that so i think when i started doing it um i had done a couple random ones which is kind of where the deep dive name came from um but that was when i started doing it regularly gotcha michael wants to know why you're in a circular cutout um i am in a circle because it was already it set up in my uh obs i have like a mask that uh cuts off the corners of the camera and then i usually overlay i have a green screen that goes behind me um and i usually overlay myself on top of like the id but i don't have the i don't have the green screen set up today so we get the just circle cut out yeah that i i watched your stream before so i kind of thought that that was uh i thought that was the case that you're using that you like your setups more advanced than mine is yeah i use this um i basically use the same circle thing here for all of my work meetings and stuff now too so i've been working remote since the start of the pandemic so definitely doing lots of remote meetings and this was just kind of how i got it how i got it set up i had trouble initially with um getting the video to feed into different software yeah and it turned out that this using obs and i finally got virtual cam working and then that's how i can feed it in the team so um are you are you on windows doing that i am not i'm on linux uh i have a it's called um popo s linux but it's based off of ubuntu i think right mostly it's the system 76 company right yeah because i'm on linux and i kind of assumed that it didn't work but i've thought about that too being able to like i could pipe my obs back to you right now potentially or something yeah it's it's tricky it definitely was um i started on windows actually this this computer i have now i got i want to say maybe like october 2020 so i haven't had i mean it's been over a year but it's it's been long enough i'm kind of used to it finally but i was a windows user pretty much exclusively up until that especially for work um this was kind of my first like dive into actually just using linux for for all of my regular development for work hmm and like uh kind of what what's your programming background like we talked about mine earlier i don't know if you you heard that i caught i went back and watched just a few minutes of the intro i didn't see everything but my background i learned java in high school um that's i would say that's kind of like the first programming that i really did seriously before that i learned q basic and kind of played around with it a little bit and found it enjoyable enough to want to try it in high school but high school is when i i would say i really got serious i um was able to learn java there we had java classes and um i did that i think at least three years maybe four years i don't remember this this is definitely a while ago at this point um and then from there i graduated high school in 2006 and then android came out in 2008 and when android came out i picked up the first phone and kind of applied all the java that i had knew um to trying to figure out how to make stuff with android and then that kind of became uh my career i started out just doing a little bit of freelance stuff and eventually ended up at a um a digital signage company and have spread out from there and started working in web web development and backends with python and jango and all kinds of different stuff but i will say um while java is kind of the the first like pretty heavy programming languages that i got into right i learned python at at my job after i had gotten hired to work on android stuff and i i took to python a lot more i enjoy writing python a lot more than um than java or any other language really so circuit python when i found it was uh amazing to me because it was a way to take the familiarity with programming like i'm super comfortable writing programs and it was a way to take that and be able to like actually manipulate stuff in the real world which is right just such a um you know a fun tactile experience if you're used to only writing software that exists on a screen in a computer to to be able to blink lights and speakers and motors and all kinds of stuff really does open up a fascinating new world right right yeah well let's say hi to liz and i we should say hi to catney too i don't think i looked at it said hi yeah definitely i got the chat pulled up over here i'm trying not to just stare all all off screen the whole time but yes thank you uh thank you to to liz and catney and i see liz's popo s fan so that's that's pretty fun i've i've enjoyed um i've enjoyed popo s i'm gonna end up probably eventually getting a desktop this one's a laptop but oh yeah um i've enjoyed it enough to want to go at it again at least give it another try nice yeah i'm i i tend to use arch Linux now i like like being a little bit lower level rolling rolling release is is a a favorite of mine as well yeah i have a buddy who um actually was the first person that i did work with um when i when i finally got done if you'll say uh being just a solo developer the first other person that we hired at my company um is big into arch Linux and he's like always you know kind of resetting everything up from scratch oh yeah and and keeping everything up to date i'm a lot more like um i don't know i i don't want to tinker i want to use the computer to tinker with other things i don't want to tinker with the computer quite as much i just want the computer to turn on and do what it what it needs to do to let me tinker with other stuff yeah and that's why i that's why i was using mac for a while like that's the market argument for using a mac is that you get like the command line goodness and windows is getting a lot better for this but like on mac you get all the regular command liney stuff but you get that like it just works sort of stuff as well um yeah so i want to i wanted to ask you like what do you think what's your theory on why you felt like um python was really easy is really easy you're like what's your theory on that it's a good question i think um i think that python it depends a lot on the libraries you're using and the different code that you're working with but a lot of times it's um it turns out relatively close to to english if you have a person who doesn't know how to program and you read python code um oftentimes you can kind of tell what it's going to do or at least have a pretty good educated guess at what it's going to do uh whereas if you take a person who doesn't doesn't know programming um or doesn't know see your java or anything like that and you show them see your java there's so many overwhelming weird characters and different things that that aren't going to make sense of them it's it's tough for them to try to figure out like what it's actually going to do um i think that that is something that that python has that not a lot of other languages do i think that's one of the things that drew me to it um i mean honestly even like simpler stuff like the way string substitutions and stuff like that worked kind of blew my mind and that was one of my my favorite things with python for a long time coming from job it just always concatenating strings together um being able to substitute in and stuff like that was was really awesome um beyond that i will say like as i've learned more and more about python one of the things that keeps me there is like it can do so many different things um java is very widespread as well so like there is lots of different types of software you can write with java but um python it feels like is more widespread if you want to do web development there's frameworks for it i've gotten big into jango uh web framework as i've gone on so like that's probably my second um forte i would say like the thing i have the most experience with is android the second most is probably jango at this point um but also micro python and circuit python came along and opened up a whole new world as as well which is just not on the table with java right right it's been pretty wild though i was like looking at the like the arm 11 chip on the rat original raspberry pi zero has like instructions to accelerate java oh wow like it's called like gizelle or something it's just like there was a world where java was like had promised to be everywhere interesting yeah i mean it is in a lot of places even till even to this day or at least the last time i installed uh jre is like the little installer screen will tell you it's on like eight billion devices or nine billion devices and it's in um cell phones and atms in all kinds of places that you might not expect right um but it's a lot more hidden away it's a lot like if you work in the corporate world you have a better chance of running across uh java maybe yeah yeah i know when i was at google there was a lot of java there too but i were i always worked on the c++ side of things which was good although i when i interned it when i interned i was doing javascript stuff and like gmail oh nice yeah i i picked up javascript later um it's kind of become one of the things that i've had to learn so like the the company i work for is very small it was solo developer for a long time um i was in a pair for quite a while after that eventually we grew to a few more but we're we ended up splitting off and i'm back down to a pair now um and so i've had to to to learn many hats that that i didn't necessarily set out to learn just to be able to uh assist in that environment i think that's a really good skill to be able to do though i like definitely think i'm there too is like just always learning something new and yeah i agree i i tend to always have fun um learning new stuff new stuff is always exciting to work on right doesn't always stay exciting forever but um yeah i'm wondering when i'm gonna hit that wall i wonder when i'll hit that wall with all this embedded stuff um but we're definitely in a wall right now in terms of like microcontrollers coming out and things so yeah looking forward to the i think i i'm kind of expecting there to be a wave of new chips once once the chip shortage kind of eases yeah i i eventually i think yeah we'll catch up and there will be so much new stuff that's just been you know halfway to the finish line or or three quarters of the way to the finish line that just got put on hold and eventually it's going to be like a waterfall of all of it just yeah finally getting getting released yeah and that's like it's interesting but at the same time it's like this is the third time i've written an i-squared c driver or like the i-squared c code um it's not always the most fun thing to do yeah re-implement the the same stuff on the new on the new devices when they come out right yeah which is kind of like one thing i i would kind of like to do with the fpga stuff is and and the the open silicon world is kind of looking for like open cores or like standard cores for things like that so i think it would be kind of neat to be able to say like all right here's the one i-squared c logic that we want to support and we can test it on this thing and we can provide it and here's the driver for it and that's just like the one that then we think is the one people should use yeah standards standards are definitely nice and if they can get adopted wide enough then there can be like just a bunch of reuse which is which is always really nice i think in i think in the existing macros that we're using today like i think there's a lot of reuse they just don't tell us right like there's already providers for ip like that but they they don't necessarily tell you like oh yeah we're using the i thought that was cool just in the like some of the rp2040 docs they're like yeah like this is the standard arm ip for uart or something it's like okay great that makes it a lot simpler yeah the it's been fascinating to see rp um raspberry pi bring the rp2040 it's it's great to see them kind of attack another sort of form factor and market and really push the whole industry for it i think yeah i think so too yeah so james well uh michael had a question for you in the in the youtube just are you in the u.s or no i am in the u.s yeah i'm in the the midwest portion of the u.s in a city called kansas city is where i'm at nice which has google fiber do you have google fiber i do yep that was one of the things when i moved um what it's been almost a little over two years i think since we've been in this house that was one of the things we looked for though when we moved was a uh a google fiber place in the place we lived at before actually had it as well yeah but i i think it's one of those things that you don't move away from having fiber internet it yeah it would have been a quite a tough sell to find a place that it didn't have access to that or something comparable right definitely once you get used to it it's it's really tough like there was a while where but before the world went crazy and i was still going to work every day there was a while where it was like fiber internet at home and like you know time Warner business class something which is it's not terrible at work but it was like nowhere near the fiber and yeah you just you start waiting on a big download and you're just sitting there thinking like this would be done already and i could move on yeah yeah interesting yeah okay um james says seems like damien really changed the game with micro python i think that's fair to say i think and it's interesting there were there are actually like python versions for micro controllers before micro python as well um but they never quite worked like micro python i think is kind of what i've gathered and micro python in particular i think also did a really good i think the timing was right they had the marketing because they did kick starters to start with and then they damien was very thorough in like implementing python 34 and he did a really good job testing it and stuff too so yeah i think yeah micro python's amazing and it's been such a good foundation for us to build circuit python on top of as well yeah definitely uh micro bit was the first one the bbc the original bbc micro bit that was the first um experience i had with python on a micro controller and it just going to ask you this it uh it it sold me right it did not take long at all for me to be sold on the uh the idea of python on on micro controllers so how did you come across it um let's see you like i had this micro bit what do i do with it yeah i i picked up a couple of them just because they looked like a neat a neat thing and i recognized some of the languages that it worked with um and i just started playing with it from there eventually um i teach um web development like i teach really really low level um stuff introduction like to javascript introduction to html and css and stuff like that and one of the things i did um was i bought a stack of micro bits and would hand them out to the javascript students because you can actually use um i don't know if it's make code or or microsoft something there's a way you can write javascript for them as well um and it switches back and forth between javascript and blockley um right so i found that to be really helpful for folks um being able to teach them the fundamentals of javascript in a way that's more interesting than like console output in the browser right um so that was one of the first things that i started doing with it uh once i found that and then somewhere along the way um i don't know exactly how i found the circuit playground express but that was really kind of the next thing that i latched on to um was circuit playground express and then um from there i pretty much dove dove all the way in the next major step i guess after the circuit playground express the next thing that got me in a little bit deeper was um discovering the display i o on the edge badge uh which actually yeah that brings me to um i guess a small story of um i we have met once um at hackaday super con in 2018 or 2019 so my wife works for hackaday and she was the one that introduced you for your talk so we said hi when we were there but that's about all the more conversation we had but the edge badge that they gave out at that um conference that was my first circuit play python device with a display on it and i kind of spent the weekend there and then the next like week or two after i got back working on a tile map game and then that like really was the thing that kind of like cemented the idea that i really wanted to get involved with this with this project and the community and everything else was working on that oh cool yeah that's awesome i like it's so funny i had somebody ping me on the embedded slack like yesterday that was like hey are you going to open hardware summit i really enjoyed your talk last year and i was like did i give a talk at open hardware summit last year and i like pulled it up and like sure enough i was like oh yeah i vaguely remember doing that so it's been really wild for me just how long i've been doing this now like i was at google almost six full years i like left the month before it would have been six and like i'm six years with ate a fruit in like august of this year or something and i've been doing circuit python the whole time um so it's been pretty wild just how far we've come and i feel i yeah i meet a lot of people at conferences so i'm like yeah i do like conferences i i would love to meet you again and um if you're ever in seattle of course let me know um yeah definitely i it's that's definitely a place that um i've always wanted to get up to both my wife and i honestly want to come up there and see some of the stuff along the coast and hang out so yeah um i will reach i will reach out once we do make it out that way yeah and i should say like if anybody's watching that's deep dive like let me know if you're in town and we can meet up somewhere um like i'm that that goes for basically everybody in the circuit python community um just as i always find myself being thanked by random people i meet for things i don't remember doing because i did them on the sign apropos of the girls yeah it's good you're putting lots of good karma out into the world um i thought i meant to go look at your circuit python 22 but i i forgot um but i wanted to pick your brain about um kind of what is interesting to you for circuit python and kind of what like what are what are the things that we should be thinking about um in your opinion so i have been um definitely drawn to display i o more than a lot of things um but i think it's partially because i've done so much programming on a computer on a screen display feels familiar to me because it's basically just a little computer in a little screen feels a lot like working on android uh a lot of the time um and so that's been one of the things that i tend to be drawn to like if i don't necessarily aim in any particular direction i i end up going in that direction more often than not right um i will say i i'm trying to remember actually what all i put in my 2022 post this year i think the main like sort of wish that i had um that i put in there was about secrets pi uh and about trying to move on from using secrets pi right i think secrets jason is a good way to go i i noticed that whippersnapper uses secrets jason so um i was happy when i saw that i think that starts a precedent for us to be able to maybe switch over right we don't necessarily generally tell folks to put logic in secrets pi anyway so um it's more or less just the data file it might as well be jason yeah um jason doesn't have comments though that's why i'm like ah that's definitely a really good point and perhaps the most aggravating thing about jason um yeah definitely true i was looking at uh jason the other day where they just put in a bogus field they had like a bogus field and put like dashes or something in it to to make it seem like comment you have a comment comment field or something yeah let's call it comment i mean the nice thing is then you can round trip it which is nice yeah but that's why i find myself going towards toml because toml has comments so yep that would be nice or if we had a way to um from an integration standpoint i think it would be nice if we had a way to mock like environment variables i don't know what the yeah it could read from anywhere i guess but if we had that i think it will make the code it can make the code be pretty similar between different platforms lots of stuff uses environment variables for tokens and right yeah there was something i was just thinking of another reason i was thinking about environment variables being really helpful for that and i can't remember oh christian points out there's a jason c that allows comments oh really jason c yeah have to check into that um yeah so yeah so display io i'm really happy that you and some other folks have come along and kind of taken it under its wing it was kind of this like big giant thing that i had done based on like the python gtk stuff i had done ages ago and it was like like i wanted it to be more structured i wanted it to manage dirty rectangles and stuff for you but like i got so i got so tired of it by the time like i finished it was just kind of like okay i got to do something else and like carter came along and did the the learn guide which was really helpful and then you like came out i've been like doing a really good job at like oh i and mark as well like i i start to like it took me a while to get it but now i get it and now i understand that i can like build these widgets and the layout stuff that you've been doing and like so i'm excited to see it go yeah i think there's a lot like the core display io leaves a lot of functionality and flexibility so i definitely commend you and whoever else worked on it originally because there is a lot of stuff that is possible to build on top of it i think we have some of it is already out there and and we're making more and more every day but i think there's lots of really neat widgets that we can build and people can eventually use right right and i think in a large part the widget idea was like part of what informed it like no we're actually going to have this like object-oriented notion of what's on the screen rather than just doing like the frame buffer style like we're just going to push pixels yeah yeah and it it's it again it draws it draws me towards it because i find it similar in nature to the way that android interfaces work they're they're laid out differently there's like an xml language that you can write it with but once you get into the java code they're more or less treated like objects just like the display of groups and tile grids and stuff right right and i and i kind of knew that and that was kind of the thing that i was like pushing the people they're like i just want to write pixels it's like well most of the world doesn't just write pixels most of it's all structured around widgets and interactions and stuff like that so yep yeah pixels is the lowest level yeah everything is built and we're we're dozens of layers above it uh on most modern graphic stuff so yeah it's um it's fascinating to me it's fun to be like on the ground layer trying to to build through those layers that i have experience using so that's been a definitely a real fun thing for me to get involved in yeah so do you think you think the future of display io for you is largely um largely widgets and stuff or where are you where do you live in that world um i mean i like to play with all kinds of different stuff widgets are one of the things where i think there's lots of opportunities for us to create widgets that help help folks so that's um one place that i've spent a lot of time but i mean in terms of like projects and stuff um like the tile map game stuff that i got into is all based heavily on on the way the tile grids work internally in display io right um so that's probably one of the things that i've had a lot of the a lot of fun building as far as like actual projects with it um beyond that i think like i would love to see a world where there is a and k-match and i have talked about this as well actually and i know he's working on some different stuff to move us in this direction i would love to see a world where one day there is a tablet like device maybe a five inch tablet seven inch tablet or something like that right um with a really nice screen on it and we can actually start making like interactive tablet applications um right the pipe portals have capability to do some of that kind of stuff now but i would love to see um a fully fleshed out circuit python tablet i don't know if that's an ate a fruit device or if that's somebody um who comes along and builds their own device and happens to put circuit python on it right but um so i would love to see that come along so i think the challenges is like it you know and i'm sure i get accused of this like uh at what point do you think you're reinventing the wheel right like like how how do we build a circuit python tablet and how does it differentiate from an android tablet or an ipad right like like what is the appeal what is the pitch for for that yeah it's definitely it's definitely a good question and i think um it's tough for me because i think the appeal to me is to tinker with it um is to be able to write this new new type of programming language and and you know be on the cutting edge and build all these widgets that that can make applications with it i will say from you know marketing standpoint or consumer standpoint um it's tough because android does a lot out of the box right wi-fi connectivity and and wi-fi calling and all of this kind of stuff and maps and browsers and stuff right everyone kind of is going to expect stuff like that so my thought would be i think gaming is one of the larger opportunities where like we have the ability to make some really really cool games um there obviously are lots of games out there in the mobile space as well in fact it's like super crowded in the mobile game space so um it's it's maybe a tough thing to get into but i could see um that being one of the primary selling points beyond that i think it is um similar to like a raspberry pi in a way where you are not necessarily selling it to an end user who just wants a tablet you're selling it to an end user who wants to learn how to write programs for tablets right um i think because it's definitely going to be a lot easier to do with circuit python than than like really diving into android or ios right right yeah distributed games are hard and games are very hard and and a grueling like if you're not ready to play the same broken you know 10 seconds or 20 seconds of a game over and over again it's a tough right tough type of software to make but i definitely i definitely think that there's this there's a lot of potential in circuit python and display io specifically for games that are portable like across a lot of this like maker class of hardware uh you know like the i have one of the the play dates right the yellow sharp display things and like it's an stm and they're they're making this like whole closed ecosystem that's going to be really awesome i'm sure but like imagine a world where you could take a game from that to a raspberry pi on your tv and like i think i think there's we don't have the like i don't have an ate a fruit doesn't have the like gaming shops to build that ecosystem for folks but um like there's so much promise i think and making things portable like that um i think it's something that you know a lot of my projects i cycle around and and maybe it won't be me that cycles around to it but i think that like as a community we'll cycle back to it um yeah and definitely i like yeah oh go ahead i was gonna say like the pimeroni like 32 blit and the pico system are like definitely in that vein as well yeah totally great i got a pico system recently that's been a fun one fun one to play with as well um i yeah stuff like that like the pi gamer the pi badges those little sort of gameboy like handhelds i think there's um that i think is one of the the things that can bring people into the circuit python world i think if we get enough games that run on those types of devices and just like you were saying if they're written in such a way where they can move around it can run on a pi gamer or an edge badge or a pimeroni uh or or dishipu's pew pew right then no matter which one of those folks have they can always kind of play the same game and i think that's one way where we can kind of attract people into the into this world yeah and like with the gameboy stuff i did i actually ported display i o to the gameboy as well oh really yeah like where like because the the display engine of the gameboy has uh like sprites like i was i had it set up so that when you created a tile grid like it wasn't display i o it was like the higher level layers but it was re-implemented on top of like the gameboy so you would be able to say tile grid and then it's this size and moving it around would do the like move commands into the gameboy um so like when i did the like celeste tile game like i could run it in display i o but i could also run it on the game gameboy color that is awesome yeah that i've never gotten to the point of being able to run anything custom on a gameboy but i do like that is it seems like such a cool thing to be able to do for sure yeah well i like i need to i need to revisit that uh that cartridge like i think that i had reliability issues talking to the gameboy so the way that i had it working is the cartridge was a fake cartridge that was just like generating assembly instructions for the cpu to run as needed um but i think the samd51 i was using had timing issues to the gameboy and if you got the timing wrong you'd crash the gameboy so i think the like the pio and rp2040 or even like an fpga like a small fpga is probably what we would need to be more reliable with it yeah i'm uh i heard i think you mentioned that a couple of times about rp2040 maybe be being a good candidate for it yeah i mean pio is just so awesome when you need to do timing critical stuff it's so so flexible yeah yeah david points david points out now i have a side project to revisit i don't know the the zinc dev board is staring me at staring me in the face right now that's that might be the thing that i is that a zinc deadboard is that an fpga one not familiar with it yeah so it's both uh it's an r it's dual core arm nines and fpga kind of like hybridized together oh my interest so you can so that in theory i could run and i mentioned this a little more and she said don't do that so it's definitely not ate a fruit time but there's two cortex a9s and then there's hard usb ip as well so i could run circuit python on existing circuitry and then it could talk to the like fpga management stuff kind of like dynamically so it's yeah it's just another cortex a series that i think would be fun to support and then i'd probably never i'd probably get the fpga stuff working and then lose interest and move on yeah um but it could be neat yeah i have a zybo from digilent is the one that uh george handslap is asking me but uh i like the idea like for getting getting into fpgas is something that i think ate a fruit will do at some point and it's a question of like how do you introduce people to them and and make it easy and things yeah which is it's a tough question i and it and it does like so far circuit python has done i think such a great job of um making things that are actually extraordinarily complex easy enough for right beginners right so tough tough challenge for sure a lot of my theory i i have in terms of getting fpgas in the hands of people is actually not not requiring them to run all the toolchain stuff so basically like having python libraries that ship with bin files right so you see i want to install this library on the on the zinc or or even there's i squared c configurable fpgas just say i download i download this this python library onto my device and then it loads the bit stream onto the device and then you use it right so it's like you get the flexibility of it still but you don't um you don't have to do the actual like lay everything out and place it around and stuff like that which people will probably argue though like oh that's not teaching fpgas but it's like yeah but you were using fpgas yeah i'm i'm firmly on the side of of being able to use things um probably even to a fault in some people's mind i'm i'm big on like if i can use it to do something interesting then i'm totally okay with not understanding it right like a hundred percent fully i think that's a good engineering mindset um yeah i'm i'm i generally am like a race to the highest level i can get to um which is where like diving into the sea in the in the circuit python core has been a brand new experience for me to work to work that low level i'm generally always trying to build way way way up on top of stuff interesting see that's that was like my mentality when i was in college and then at some point i i like the simplicity and the machinery of working at the low levels of a micro um and with hardware i like that simplicity um ham's live says you should you should you folks should do ml and it introduce people to it so yeah what's your take on ml um i have not dabbled in it too much i'm aware kind of of what it is and some of the stuff that goes on in the space i will say that i mean the edge badge which again that was that that first like display o device i got it's basically a pie badge with a extra little speaker and it um i don't know the name of the thing is there an ml product with edge in the name but i know it's like pretty heavily targeted towards that type of stuff the google thing i mean there's edge impulse edge impulse okay and then there's i i forget what the google product is it's um i don't know that there's much you can do in circuit python these days um but i think there's arduino stuff you can do i do think eventually it would be cool to try to give folks a simplified access to it i think it might be interesting if we could do stuff in circuit python like um pick up a yes or a no from a microphone um i think our duino code can do that today on the edge badge yeah it'd be interesting if we had a similar layer in circuit python that allowed us to to do like relatively simple stuff like that i've just yeah it's my take on the ml thing is just like never seen it be that useful at least at the at least at the like processing levels that we're working at like yeah it's yeah it's definitely very uh it's it's actual usages are i think are definitely relatively niche um and it does get thrown around a lot as like a buzzword you know be all end all next great thing um and a lot of folks kind of just hear it and associate it with cool stuff but don't necessarily have an idea of what specifically they want to do with it right yeah yeah that's kind of been some of my uh some of my feelings about it too is just like it's a lot of hype not a lot of things dustin says are you thinking of coral i think i'm just thinking a tiny ml is that what it's called there's some google software project the coral board is interesting because people have been asking for it's really interesting because blinka provides a circuit python layer to all the single board computers it's been really interesting for me to see just like i bought this two hundred dollar and nvidia spd spc and now i'm trying to use like blinka because this is the thing i want to accomplish on this it's just like it's super interesting i mean it's what we do really well and you've been a huge help with that it's just like getting people bootstrapped with drivers and things yeah is it uh is it tensor flow is that the good flow yeah that's i know that's one of the main things they say um unlike the edge badge product page and all that yeah and there's like tensor flow light and tensor flow something else even like smaller as well i don't know i've never really done it yeah i i only dabbled enough to get the um the sample running once which was it was like the yes no sample yeah it it i started heading down that path actually because um one of the things that my company did during the pandemic was uh like temperature check kiosks um because we do digital signage and so it was like it kind of fit where where we were at in the world right and one of the things i wanted to do early on was minimize touches like it has a touchscreen on it and some people have to touch the screen to answer yes no questions right um i really really liked the example that's on the edge badge that lets you pick up a yes or a no from the microphone i think something like that would be uh super beneficial to make in basic uh interfaces with users that aren't based on a touchscreen right right right interesting so um i don't want you to have to divulge too much stuff but i'm curious what um like processors and chips that you see in in digital signage because i think like raspberry pies are kind of what i think of yeah a lot of like definitely raspberry pi has been a pretty big disrupting force in in that market like before raspberry pies came along there it was like super easy to find computer manufacturers that were selling these little purpose made computers for digital signage and it's really really hard for them to compete with um raspberry pi like right your raspberry pi comes with a board by itself so there's no box and there's no power supply and there's there's room for people to add stuff onto it but it's really tough to beat the price and the power that's in uh a raspberry pi so um most of what i work on though is um android like almost like set top box type devices they call the media players so it's not a traditional android like cell phone or anything like that it's a it's just a black metal box and it has a mounting system so you can bolt it up on the wall or behind the screen or whatever right um and most of them are like uh they're the similar chips that are in the phone so it's like arm cortex a four or something i don't know the the exact numbers or anything like that but um it's mostly the same sort of like middle of the road chips that you find in the cell phone market right right right yeah yeah i'm very curious about that because i'm just like i'm always looking for new things to put circuit on surprise surprise and i think that there's a world of cortex a level stuff because of android phones that is potentially gives you some really cool like peripherals and stuff like hdmi output for example yeah and they're they're quite powerful for what they are um and they can be cheap that's the other thing that i that i'd love to find is like looking at i was looking at the chip that lemur had posted about for the linux feather it's like 64 megs of ram it runs at like six or seven hundred megahertz and it's like i think she can get that for like two dollars whereas like the imx rts the 1060s are like that price are more expensive but they're very similar in that they're like well they have a less ram but they have similar cpu speeds and stuff too so i think it's for the high end of things like the a series stuff might actually be pretty interesting yeah i i'm definitely excited by the idea of circuit python continuing to make its way to to more and more powerful um platforms like the hdmi stuff that you're working on is is really exciting to me especially because like a huge component of digital signages is just the player mounts up behind the screen and plugs in and it's just showing whatever so right um i have um over the years i have we've actually used circuit python on a couple of different projects that i worked on for work for like custom uh fancier installations where we did like lighting effects and trigger effects where somebody would like pick up a product and it would change um the tv to show stuff that's relevant to that to that product huh um that's actually one of in fact that might be where i got the first circuit playground express from because we did one project where we bought like uh 150 trinkets or something like that and we made this custom little board that they plugged into and then it had some uh three and a half millimeter jacks that went to these pedestal plugs um that are it was for cell phone stores like uh uh sprint store essentially is where it's at i'm in kansas city sprints headquartered in kansas city you can guess we probably did um some work when they were when they were around and not team mobile right um but i think what happened actually is which i think they still do today like if you order enough stuff from adafruit they send you the circuit playground express um yeah just as the freebie tossed in yeah and i think that might be where i got the first cpx that i played with from i know i know that those are are one of the boards that that end up as freebies a lot um which is cool yeah it's it's a great it's a great one to give to somebody because you can do so many different things with it it's such a a world that you can introduce them to yeah yeah it's going to be it's it's interesting to see what devices we have is like our flagship devices um it's changed a little bit with with adabox and and really having flagships like four times a year um yeah circuit playground express in particular was yeah that was a good time like like figuring out the express moniker and and putting the spy flash and yeah pretty well yeah looks like bruce uses raspberry pies and signage as well in blitz city is doing some crawling around in ceilings i'll definitely attest to crawling around in ceilings is not not very fun and very hot and very dusty yeah that doesn't sound like fun to me um screenly didn't digital signage made easy yep i think that's a raspberry pie one yeah so yeah go ahead if you're gonna keep i was just gonna say we i ended up building a digital signage platform that we use so we have seen a couple of those ones that that have come out over the years for raspberry pie um but the the main thing now is like we actually built our own in-house signage platform that lets you manage all these devices remotely um it's a similar type of thing as screenly right neat so oh i was gonna pick your brain i want to ask you about what folks can expect from your stream but maybe that will be the last thing that i ask you yeah good question or you could just go ahead i forgot what the other thing i was gonna ask you about so yeah let's talk about your stream okay um yeah i will say folks um i've been streaming on saturdays for a little while now a little bit over a year so if folks want to they can catch uh all the old ones are on youtube i think they disappear off a twitch after a few weeks or whatever is the default but they're all on youtube um you can check those out it will probably end up being fairly similar to that in terms of the type of content it's pretty similar to deep dive because i was pretty heavily inspired by deep dive so i'm just working on coding and testing and doing different stuff um the actual like nuts and bolts of what i will be working on probably a little bit higher level uh because we're i'm not to the point where i'm like introducing brand new ports into the core or anything like that so um it's likely that we'll spend more time in python land uh definitely looking at lots of display io stuff um but i will say there i'm i'm especially lately i've been kind of keeping my eye on the issues list in the core to try to find things that i think are within um my ability to actually to actually work on and complete so there will be some work in the core as well um when i get into it so handslabs ask is asking are you gonna keep doing your saturday streams as well um that's a good question i'm definitely for the short term yes um that's the plan i may it may change at some point i'll have to see like how it goes after a couple of weeks of doing friday evening and then saturday morning um so yeah for folks that don't know saturday morning uh ten a.m central time which is different usually like deep dive is a pacific time show currently but ten a.m central time uh on saturday mornings is when i stream and so i'll probably kind of play it by ear a little bit after a couple of weeks if i'm that's a lot of feeling yeah it is um so if i'm not feeling like jumping on right in the morning on saturdays um i don't know it may bump to sundays it may bump to later in the day on saturdays i'll probably end up doing less time overall on saturdays actually tend to run a little bit longer than deep dive right i go generally about three hours and then i start getting pretty antsy um and and head out pretty shortly after that but i it will probably cut down the the amount of time that i'm going i probably won't be doing the the longer ones nearly as much um but yeah that's that's the kind of stuff i think um one of the specific things i want to get into uh pretty soon is like uh async i o i haven't i haven't had a chance to play too much with async i o but i want to specifically look at it as it relates to display i o um no surprise there probably but maybe like cooking up buttons and other types of display i o outputs that can do things um you know sort of on their own while other stuff is happening so that's one place that will play uh fairly fairly soon into the future nice um do you know what time you start in utc um i do not uns yeah i do not yeah well we're eight i'm eight hours different and you're six hours different yeah ours does change to like half of the year we are um six hours off and then half of the year we're five hours off so yeah same with um uh for at least what google says right now is the 10 a.m central is uh 4 p.m utc so i think that's probably right but i just did it quick yeah so john johnny recommended uh propose a not deep overview of display a o and moving deeper from there i think you're a good person for that yeah i i think so definitely as well i have um i've been excited actually for folks that that watched um jp's content jp uh john park with data fruit puts out all all sorts of great content including i think circuit python parsec is one of the formats that i think is really really nice for folks to be able to get a a quick and dirty look at something and learn the basics of it right um the last couple of circuit python parsecs have uh been centered around display so i've been super excited to see that i definitely think there's a lot of opportunity for um entry level content so that is one of the things that i want to start working on this year as well is lots of like getting started with display i o content um right both using it and getting started like building your own widgets and stuff so yeah that would be awesome yeah and you're and you're doing part time with data fruit now too so you have some dedicated hours for that yep yep uh mondays yeah for folks that don't know i work on circuit python uh on mondays all day mondays yeah and then just in the evenings and stuff the other days um but mondays during the daytime yeah so i have been actually hopping on twitch on mondays as well it's definitely a less structured thing like when i get on on saturdays i do an introduction i keep the chat on the screen and i do all that stuff more like deep dive but um on mondays and some other evenings i'll hop on as well and just kind of dive straight in and start working um i find it's good for depending on my mood but certain moods that i get in like it's good for focus it gives me a reason to like sit down and go and keep going so interesting because i'm definitely not as focused when i'm streaming as i am when i'm not streaming it's it's a fine line you can you can definitely let yourself be distracted in the chat um you know especially this format where you have the chat and you're open to questions all the time yeah you know that's probably not as conducive um but but like these when i'm on monday or when i'm on in the evenings um i'm not paying quite as much attention to the chat and i'm also not doing the whole you know introduction and all of that i kind of just like dive straight in and you can watch over my shoulder right um folks do still chat with me sometimes and and especially it's helpful like folks will help with the code i'm working on that's one of the coolest things i think about streaming is like yeah it's an extra person to watch over what you're doing and tell you when you messed up before you try to run it yeah yeah it's a great way to learn and we have a good really good community too so yeah um that's really neat so bruce s says we want to know how uh circuit python core is moving to rust i i can't help you too much there i know what rust is and there are a couple streamers that have started streaming rust that i occasionally watch but like i've never uh never touched it myself yeah i like the theory of it too but i've just i've never actually used it i've stolen a lot of their community organizing stuff but um never actually written rust but i i like i like it in theory and i've always just challenged the people that say like i want rust in the circuit python core to actually hook it up like okay implement like common howl bus i o spy in rusts and get it hooked into the build system and then we start from there yeah i i think that's a really good way to go about stuff honestly like there's lots of folks who um i'll say there's lots of folks who will say they want things or there's lots of folks that believe they want things um but not necessarily enough to like put in the work to do it one of the things i will say i think it's really admirable that you're willing to like spend time to get folks spun up on stuff like if there is someone out there who wants that bad enough and wants to put the time into it right um i have no doubt they can start it and i have no doubt that you will help point them in the right direction it's going to be difficult for them to do they're gonna have a lot of hard work but like right the the invitation is there um and i think that's a really neat a really neat thing about the project yeah i mean it's it's always been really important to me and it's it's important to me that that we're not keep keeping people out of the project um even though a lot of us are paid by Adafruit to work on it like i have this vision that that the project becomes bigger than Adafruit right like i'd love to see other companies paying people to work on it um and that's part of it like i just don't like even though it's an Adafruit project i wanted to be bigger than that so um and then it's of course selfish like we have awesome people that are doing awesome contributions and we're not like Adafruit's not paying them for that um so it's important to me that and and i've i've like apologized one time and i think i think the folks i was talking to i think it was mark it was just like dude i don't mind like i'm happy to do this because i'm getting benefit from it too and so i want to make sure the people that are getting benefit from it have the are empowered to to make it what they need as well yeah i spend a lot of time doing email but it's important um um the last thing we're just about out of time and i hope you're planning on doing an hour because you're gonna end up doing an hour um the last thing i wanted to ask you about because you have a lot of android background the other thing that i've been thinking a lot about is the bealie workflow and and the things that we can do to complement it um on the app side um you have ideas about that yeah i think that um i don't have a um i don't have an ios device yet i've actually been meaning to pick up a used iphone specifically so that i can use the newer pi leap and the uh the other one which is the name of it i'm forgetting but the glider uh and the demo demo one right um and so i know some of that stuff is out there on ios and the the app that trevor has been working on looks looks super awesome to me being able to download the examples and run them on the device i think that is like um really really amazing stuff that that helps out a lot um one of the first things i did when i kind of started getting involved with circuit python was make an android uh circuit python ide and this worked over usb um and it was nowhere near fully featured but it was good enough to like plug in your device you need some weird connectors and stuff if you want to do it into an android phone but um if you get it plugged in you could see the code pi and you could you know change the name of it or um you know quick change the code to make it do something else one of the big benefits i think there is from being able to program the devices with the phone is is being able to show them off so i think it actually helps the community grow because you can carry your circuit python device you already have your phone with you right um if you get to a talking with a person who's not familiar with you know anything about the project you can quickly show them a demo you know on a circuit playground express or blue fruit or whatever something like that and then you can quickly just be like okay now you've seen this demo let me just you know pop here scroll through this list and we're gonna pull up this other demo and run it and show them like you know within seconds the idea of switching over to an entirely different program right um i think that's a hugely beneficial thing so one of the specific things i would like to work on is trying to bring that same ability that now exists on ios over to android right yeah um yeah that would be and i i would say i don't i i would say the stuff that trevor has done that i've seen in the videos looks um amazing to me i don't have any particular ideas on really uh improving it off the top of my head but i also haven't had a chance to play with it with my own hands right the other thing i've been thinking a lot about is the the actual editing experience of editing python right and and especially because type annotations have really taken off across all the libraries thanks in large part to tech trick like i think that and i don't know if your existing android editor took that into account but thinking about like that sort of more assisted editing on a on a touchscreen is really interesting and something that not a lot of people have thought about yeah 100 100 percent agree i think we talked about that on a on a weekly meeting at some point and you brought up that idea and it really opened my eyes to the the thought because that is that is 100 true like cell phones don't make good idees because typing on a on a touchscreen is is not fun it's hard and it's slow and all of that stuff so um anything that the ide can do to try to guess what you are going to type and give you a big ol easy to press button to um to do it i think is is definitely going to make the experience a lot better and the types um i believe i'm of the same mind as you i think that will help us in the long term be able to make a much nicer experience for folks working on phones right awesome well yeah we'll keep we'll keep brainstorming on that i think that the beally workflow stuff is going to be a long term sort of thing right it's going to be a like it's going to be a slog it's going to take like because you need the the app side of it it's it's not as easy as like oh usb you plug it in and acts like this thing that you've been using forever right like yeah um it's going to be a bit of a slog but it's it's cool i think we're going to be really innovative and creative in that world it's just going to take some time yeah yeah i with the newest stuff that's out there i i mean i think i haven't seen anything quite like is it highly and glider the the one that i can't remember the specific name of the one that does the demos that trevor has been working on there's one that's where like is it highly okay that's what's ever working on yet i haven't seen anything else out there like that i definitely think that is um like one of the coolest things i've seen come out that brings together the world of mobile phones and microcontrollers which definitely i said at the intersection of yes you do you have a lot of good you have a lot of complementary skills to myself as well which is really helpful so it's been awesome thank you for taking my spot as i'm out and thanks for dropping by and chatting with me do you have anything else you want to wrap up with um no i don't think so yeah thank you for for having me on thank you to all the folks that are watching and and have watched me on saturdays um and yeah i look forward to to hanging out with you all uh on fridays right so will you be streaming tomorrow morning if folks want to get a preview yep i will be yep tomorrow morning at 10 a.m central time which is about 16 hours from right now if my math is right yeah awesome well uh so so folks will find your saturday and your random hacker time streams on your own stream right and then you'll take this slot on the ate a fruit stream yep that's correct awesome um all right so why didn't you drop a link oh uh web bsk is asking what's your handle on twitch yeah good question twitch it's foamy guy underscore twitch i'll put a link to it as well somebody some mine minecraft player something got foamy guy years ago before i ever got on the twitch game so why didn't you drop your links in the live broadcast chat and i'll you should actually be able to put them in youtube as well if you just want to try switching to the ate a fruit account to do that um to yeah um make sure everybody gets the links yeah i will uh i will definitely drop those in here's this one and i'll put the youtube as well the youtube again is better because it keeps the videos i think they disappear out of twitch yeah i think that's too long um i think i don't know if it was on my end i think i just heard a jingle if somebody just followed me on twitch thank you probably it feeds through obs which happens to be open my camera here and so it makes the jingle and i can hear it going off it would display a thing on the screen as well but the stream is not actually running right cool well i'm gonna try to i'm gonna try to make your friday streams uh before i actually go and leave nice so i'll try to be in the chat for that um i i see you occasionally on saturdays and i try not to do work on saturdays so i'm excited to be able to watch you in the slot on fridays uh before i i turn into a pumpkin yeah nice i'm happy to have you uh pop into the chat you're sure awesome well thank you again so much and uh yep folks are following you on twitch so have a great weekend and uh i'll say goodbye after i say goodbye to you cool sounds good thanks i'll see you guys foamy guy yep all right so i thought yeah i thought i i have to do cats too but um thank you all um it's been wonderful to have you hanging out and thanks again to foamy guy for for joining the stream and chatting it's been great to catch up and i feel i wish i knew when i meet people in person that who they are and well like what member of the community they're going to be um but uh that's what relationships are about right is like building them up over time so um excited to see you all um and uh i'll be around on discord um if you want to i get let me let me pull up my wrap up so don't forget anything um if you want to join the discord and chat with me or foamy guy uh or the other folks um you can go to adafru.it slash discord to hop in the discord channel if you enjoyed this both tim and i are sponsored by uh adafruit to work on circuit python and the broader ecosystem of circuit python so if you want to support me and support uh foamy guy uh you can go to adafruit.com purchase some hardware there um yep deep dyes happen every week uh they will be switching i we forgot to talk about what what uh foamy guy's gonna call them but uh foamy guy will be taking over the this time slot the tpm pacific time slot while i'm out and while i'm uh not doing the deep dyes uh thanks again to them for doing that we're and thank you all for for hopping in um if you want to go back and watch the back catalog of my streams um david dcd has been awesome in taking notes um and uh patrick has uh aggregated them into one github repo which makes it really easy to search and link into the videos for the the particular parts you want to see uh you can do that by going to github.com slash adafruit slash deep dash dive dash notes um and if folks want to hang out with foamy guy on fridays and take notes too that would be awesome as well and foamy guy says he's going to keep keep the deep dive name so we'll have deep dives with foamy guy on fridays uh going forward so thank thanks again uh to foamy guy for that and i'll see y'all on the discords i'll be popping into some show and tells and we'll still be doing the circuit python weeklies up until the baby comes and then i'll be taking six weeks off and when i'm back i'm not entirely sure when i'm going to start doing deep dives again myself that's kind of something to to talk with foamy guy and uh pt and lemore about so um if you want all the latest updates for me the discord's the place to be so thank you all i'll uh go to cat camp at the cats and uh we'll call it a week and we'll see you on the discords next week uh thank you all i gotta unhook myself ben started purring she was excited