1 00:00:00,000 --> 00:00:06,940 Welcome to the CircuitPython Show. I'm your host, Paul Cutler. This episode I'm joined 2 00:00:06,940 --> 00:00:11,760 by Tod Kurt. Tod is a co-founder of ThingM, a ubiquitous computing and Internet of Things 3 00:00:11,760 --> 00:00:17,200 device studio based in Pasadena in San Francisco. He is creator of the popular BlinkOne USB 4 00:00:17,200 --> 00:00:22,800 notification light in BlinkM, the smart LED prototyping device. Tod is a co-founder of 5 00:00:22,800 --> 00:00:27,300 the Los Angeles hackerspace Crashspace, the author of the book Hacking Roomba, and an 6 00:00:27,300 --> 00:00:33,580 active member in the CircuitPython community with his CircuitPython Tricks webpage. Tod, 7 00:00:33,580 --> 00:00:37,520 welcome back to the show. Hi, thanks for having me again. This is great. I used to listen 8 00:00:37,520 --> 00:00:41,560 to a podcast that when they had a repeat guest, they would officially become a friend of the 9 00:00:41,560 --> 00:00:47,240 show. I'd like to welcome you as my first official friend of the show. Thank you. I 10 00:00:47,240 --> 00:00:53,520 feel very honored. It's been almost two years since we first chatted and way back in Season 11 00:00:53,520 --> 00:00:56,880 One. And one of the big things that's changed in CircuitPython since you were last on the 12 00:00:56,880 --> 00:01:02,340 show is the addition of Synth.io. This past August, we were on a panel together where 13 00:01:02,340 --> 00:01:05,400 we discussed Synth.io. And I'll link to that in the show notes for anyone who wants to 14 00:01:05,400 --> 00:01:11,180 do a deep dive into Synth.io. But really briefly, what is Synth.io in CircuitPython? Yeah, 15 00:01:11,180 --> 00:01:16,440 that was CircuitPython Day. That was a great sort of constructed holiday. It's a great 16 00:01:16,440 --> 00:01:23,800 time period now. But Synth.io is a synthesis, an audio synthesis, musical synthesis library, 17 00:01:23,800 --> 00:01:28,700 core module, I should say, in CircuitPython. And in CircuitPython, core modules are things 18 00:01:28,700 --> 00:01:33,400 that are built into CircuitPython. They're written in C usually. And it means you don't 19 00:01:33,400 --> 00:01:38,160 have to do anything. It's just there. And it's incredible. It's polyphonic. It's got 20 00:01:38,160 --> 00:01:43,160 filters. It can do arbitrary waveforms. It's got LFOs and modulators. Pretty much all the 21 00:01:43,160 --> 00:01:46,240 things you would want in a synthesizer, it's got. And I've been having lots of fun with 22 00:01:46,240 --> 00:01:52,240 it since it was in a pull request in like January, February. Yeah, you've put together 23 00:01:52,240 --> 00:01:55,840 a tips and trick page for Synth.io, just like you did for CircuitPython. And you've also 24 00:01:55,840 --> 00:01:59,640 designed a couple of boards to take advantage of Synth.io. Tell me about some of the boards 25 00:01:59,640 --> 00:02:05,080 that you've worked on. Oh, sure. Yeah. So I've designed a whole ton of boards, like 26 00:02:05,080 --> 00:02:09,860 the ones that are kind of useful. I usually do an extra run and put the remainders up 27 00:02:09,860 --> 00:02:14,640 on my Tindy store. So people that want to get those, they can get them there. I sort 28 00:02:14,640 --> 00:02:20,000 of have two main interests in these boards. One is to make the sort of really easy to 29 00:02:20,000 --> 00:02:27,640 build learning platforms that people with like a QDPI or a Raspberry Pi Pico can just 30 00:02:27,640 --> 00:02:33,240 drop it down, add a few extra other easy to add parts. And they've got a little synthesizer 31 00:02:33,240 --> 00:02:38,120 board, and they can like write their own synthesizers. I've not been working too hard and making 32 00:02:38,120 --> 00:02:43,440 a fully fledged thing for these kinds of boards because I think of it more as a, for me, it's 33 00:02:43,440 --> 00:02:46,880 like an experimentation platform, though that like, you know, some other, like, like these 34 00:02:46,880 --> 00:02:50,680 Arduino experimenter kits from, you know, several years ago. And the other, the other 35 00:02:50,680 --> 00:02:57,720 kind of focus I've been on are what's the thinnest circuit board microcontroller, sorry, 36 00:02:57,720 --> 00:03:02,040 circuit board synthesizer MIDI controller that I can make because I have often carried 37 00:03:02,040 --> 00:03:08,640 a little MIDI controller or a little synthesizer gizmo in my backpack or my book bag. And, 38 00:03:08,640 --> 00:03:11,320 you know, I don't want it to get damaged. So I don't want knobs sticking out. I don't 39 00:03:11,320 --> 00:03:15,320 want things, I don't want to be a bare circuit board. And so a lot of my stuff has been like, 40 00:03:15,320 --> 00:03:19,000 that's the thinnest thing I can do. And so on my tiddie store, there's a couple of examples 41 00:03:19,000 --> 00:03:23,720 of these very thin MIDI controllers. And the most recent one has been this fully enclosed 42 00:03:23,720 --> 00:03:29,000 little cap touch synthesizer that I had 50 built that I gave out as to the 50 attendees 43 00:03:29,000 --> 00:03:32,680 of our sketching and hardware conference that happened a couple months ago, because there's 44 00:03:32,680 --> 00:03:36,180 a bunch of friends that I know for like the last almost 20 years, and I wanted to infect 45 00:03:36,180 --> 00:03:38,600 them with synthesizers. 46 00:03:38,600 --> 00:03:41,000 And what was their reaction to it? 47 00:03:41,000 --> 00:03:43,680 I think I think a lot of them are pretty good. Of course, now we're all old enough that a 48 00:03:43,680 --> 00:03:48,480 lot of them have kids, so they kind of gave them off to their kids. But I should be having 49 00:03:48,480 --> 00:03:52,240 I should be having a version of that board up on the tiddie store as well. It's um, it's 50 00:03:52,240 --> 00:03:57,220 basically you know, what is it a octave and a half cap touch keyboard with a couple of 51 00:03:57,220 --> 00:04:01,080 modifier keys. It's got some reverse mount LEDs to let you know when you're touching 52 00:04:01,080 --> 00:04:06,480 the pads. And then a couple of examples synthesizers that you can install onto it like one's a 53 00:04:06,480 --> 00:04:10,840 wavetable synthesizer that makes really weird, cool, like space noises. And another is a 54 00:04:10,840 --> 00:04:14,880 drum machine. And I'm hoping that I'm going to do a bit more and get a little bit more 55 00:04:14,880 --> 00:04:18,520 interesting examples up there that are like kind of full synthesizers because I think 56 00:04:18,520 --> 00:04:23,400 you can do a lot with this little platform and it's like, no parts that stick up. So 57 00:04:23,400 --> 00:04:27,160 you can just like slide it in like you would a pencil case into your bag. And it'll be 58 00:04:27,160 --> 00:04:28,160 safe. 59 00:04:28,160 --> 00:04:31,720 That's cool. Last year on our old podcast, the bootloader you shared your experience 60 00:04:31,720 --> 00:04:36,420 attending Hackaday Supercon. You were there this year too, just a couple of weeks ago. 61 00:04:36,420 --> 00:04:39,440 What were some of your of your favorite talks at Supercon? 62 00:04:39,440 --> 00:04:43,840 Yeah, Supercon is really great. Have you like you should come some year. 63 00:04:43,840 --> 00:04:46,960 I should I really should. 64 00:04:46,960 --> 00:04:51,480 Like you and me, we only know each other online. We don't we've not been in the same physical 65 00:04:51,480 --> 00:04:56,040 room in the same place. We've been in the same Discord channel tons of times. Right. 66 00:04:56,040 --> 00:05:00,120 And so there are so many people that I know in the larger sort of hardware hacking community 67 00:05:00,120 --> 00:05:04,480 that I only know in this way. And Supercon has been the one of the few cases where I 68 00:05:04,480 --> 00:05:08,360 get to meet some of these people, you know, and so like one of the cool things is, is 69 00:05:08,360 --> 00:05:13,120 like a geek mom who Deborah Ansell, she lives in Los Angeles. And so I've seen her a few 70 00:05:13,120 --> 00:05:21,220 times in reality. But she has a small business with Ben Henke, I think, and Jason Koons. 71 00:05:21,220 --> 00:05:26,160 I think we covered them, their product, the LuxeLavier in one of our bootloader podcasts. 72 00:05:26,160 --> 00:05:27,160 We did. 73 00:05:27,160 --> 00:05:32,280 And so Jason Koon, he makes these beautiful pieces of LED art that fit in the palm of 74 00:05:32,280 --> 00:05:37,000 your hand. These little like they're not grids of LEDs. They're like a Fibonacci spiral of 75 00:05:37,000 --> 00:05:42,880 LEDs. And they just are jewels. It's like and because he uses such small LEDs, these 76 00:05:42,880 --> 00:05:47,760 little like one millimeter by one millimeter LEDs, but they're like new pixels. The LEDs 77 00:05:47,760 --> 00:05:52,160 become a surface like a sorry, a texture rather than like individual LEDs. It's like it's 78 00:05:52,160 --> 00:05:57,120 just incredible. And so I got to actually meet him and hang out with him and and hold 79 00:05:57,120 --> 00:06:00,600 some of these things in my hand. Just just marvel at them. Like it's it's one thing to 80 00:06:00,600 --> 00:06:03,720 see what see pictures of them on websites. Another thing to actually like, you know, 81 00:06:03,720 --> 00:06:06,560 gaze into it. Right. 82 00:06:06,560 --> 00:06:10,160 And that was as I was just just seeing all these people that I've only only interacted 83 00:06:10,160 --> 00:06:13,840 with on Mastodon or or Discord or whatever is really great. 84 00:06:13,840 --> 00:06:18,520 I know looking looking at Super Con from afar, even some of my former guests have been there, 85 00:06:18,520 --> 00:06:19,720 right? The Flowers was there. 86 00:06:19,720 --> 00:06:20,720 Oh totally. 87 00:06:20,720 --> 00:06:21,720 Castillo was there. You're there. 88 00:06:21,720 --> 00:06:22,720 Oh yeah. 89 00:06:22,720 --> 00:06:26,720 So it's like that gives me a reason to go when I actually know a couple of people already 90 00:06:26,720 --> 00:06:30,240 too. So I so like you said, I have to I have to find a way to get there in the next year 91 00:06:30,240 --> 00:06:31,240 or two. 92 00:06:31,240 --> 00:06:35,120 Yeah. One of the things I noticed hadn't seen before is in some of the talks and some of 93 00:06:35,120 --> 00:06:38,840 the idle conversation, people would just say, oh yeah, and we programmed this with Circuit 94 00:06:38,840 --> 00:06:43,240 Python. Like it was it wasn't it was no longer a special thing. We're like, you know, we're 95 00:06:43,240 --> 00:06:46,000 out of this evangelization phase where it's like, hey, you should try this weird thing 96 00:06:46,000 --> 00:06:50,900 called CircuitPython. It's like now now people are just using it because, oh, it's a good 97 00:06:50,900 --> 00:06:54,680 enough tool and we can use it now to do a lot of the projects that we've done in the 98 00:06:54,680 --> 00:06:59,520 past. And that was really nice that it was just like, oh yeah, it's just another tool. 99 00:06:59,520 --> 00:07:03,720 That's great to hear. Tell me about some of the lightning talks that you attended. 100 00:07:03,720 --> 00:07:08,600 One of the coolest things they did this year was lightning talks. So not everyone not everyone 101 00:07:08,600 --> 00:07:14,320 has the time to like prepare an hour long talk in front of hundreds of people. That's 102 00:07:14,320 --> 00:07:18,120 pretty intimidating. And so during one of the days, they just said, hey, if anybody 103 00:07:18,120 --> 00:07:25,760 wants to give a lightning talk for like 10 minutes, come on up. And maybe you had prepared 104 00:07:25,760 --> 00:07:29,600 slides. I think most people had had to prepare some slides. I think some people didn't didn't 105 00:07:29,600 --> 00:07:34,160 so much, but they were all great. It was like, it was, it was like hour and a half, 10 people. 106 00:07:34,160 --> 00:07:39,040 And it was everything from, you know, Scotty of strange parts talking about his, how his 107 00:07:39,040 --> 00:07:46,100 brain injury led him to whole, whole new hacking experiences to, you know, Allie was up there 108 00:07:46,100 --> 00:07:51,780 with her, her Pokemon ball purse. It was just like a purse, purse Pokemon ball, but it also 109 00:07:51,780 --> 00:07:59,020 is remotely controlled light up Neo pixel craziness to Tina Belmont taught us all how 110 00:07:59,020 --> 00:08:03,440 synthesizers worked from, and she, and she's been doing synthesizers for like over a decade. 111 00:08:03,440 --> 00:08:06,400 So it's like, you know, there's, there's, here's someone who actually knows no sense. 112 00:08:06,400 --> 00:08:11,440 And yeah, it just was every, from all over. It was like one of the best kind of condensed 113 00:08:11,440 --> 00:08:17,680 group of talks and the videos up on YouTube right now because hackaday streamed the, the 114 00:08:17,680 --> 00:08:22,200 super con has sort of two stages, the main stage and the design lab stage and the main 115 00:08:22,200 --> 00:08:27,400 stage they live stream and keep the live streams up for awhile. And so for the time being, 116 00:08:27,400 --> 00:08:31,620 you can go to the youtube.com slash hackaday and click on the live tab and then there's 117 00:08:31,620 --> 00:08:36,120 all the talks from the, from the main stage of the super con so you can, you can get those. 118 00:08:36,120 --> 00:08:40,420 And so that was great. The other one, another one was on the main stage was this hacker 119 00:08:40,420 --> 00:08:47,900 named sprite. I forget his real name. It's like your own maybe. Yeah, I can't. We'll 120 00:08:47,900 --> 00:08:52,040 find it and link to it in the show notes and give them credit. Yeah, yeah. He, he's one 121 00:08:52,040 --> 00:08:56,920 of the, he's one of the, the Uber hackers. He works for, for expressive. He is responsible 122 00:08:56,920 --> 00:09:01,360 for a bunch of the really cool FPGA hacks you might've seen on hackaday. And he continued 123 00:09:01,360 --> 00:09:07,960 that trend with his talk was about taking the old 1982 vector video game system called 124 00:09:07,960 --> 00:09:13,480 vectrix that, you know, back then took cartridges, everything to cartridges and he reverse engineered 125 00:09:13,480 --> 00:09:20,960 how it all worked and then recreated how that worked in an FPGA and to be a, an appropriate 126 00:09:20,960 --> 00:09:26,520 emulation instead of boringly driving a LCD screen, he figured out how to, he found a 127 00:09:26,520 --> 00:09:33,120 little like tiny portable right angle CRT and had an analog stage that drove the CRT 128 00:09:33,120 --> 00:09:36,800 the way that like the real vectrix vector scope did. So it was like an analog output 129 00:09:36,800 --> 00:09:42,000 of these, you know, a very clean lines that that's indicative of a, of a vector scope 130 00:09:42,000 --> 00:09:46,440 output and it is, it was all handheld ran off a battery. It just amazing how these little 131 00:09:46,440 --> 00:09:50,840 car, it would play actual vectrix cartridges, but also would play all of these. There's 132 00:09:50,840 --> 00:09:55,960 apparently there's a vectrix, a demo scene of people making new stuff and he found a 133 00:09:55,960 --> 00:10:02,000 bunch of that and was able to slot in those custom demo scene cartridges and it just was 134 00:10:02,000 --> 00:10:08,080 like this tour de force of engineering. That's so cool. Really brand new stuff. Yeah, really 135 00:10:08,080 --> 00:10:13,120 brand new stuff and FPGAs driving really old stuff of like tiny old CRTs from, from video 136 00:10:13,120 --> 00:10:18,360 phones. Now I gotta ask you about a talk that was about the cuddly companion bots with a 137 00:10:18,360 --> 00:10:24,620 title like that I have to know more. Yeah. So, so Angela Sheehan, she makes this really 138 00:10:24,620 --> 00:10:30,780 interesting sort of snake, not a snake. It's like a fuzzy boa companion bot. So a companion 139 00:10:30,780 --> 00:10:35,400 bot, if you've never heard, is a robot that you have on your person somehow. Usually wear 140 00:10:35,400 --> 00:10:39,120 it kind of on your shoulder or maybe it's kind of like you, it's a slung thing, like 141 00:10:39,120 --> 00:10:42,880 kind of in kind of the way a purse would be or you'd wear, maybe it's a backpack and it's 142 00:10:42,880 --> 00:10:46,640 sort of the, the people who make these call them, call them like you companion robots. 143 00:10:46,640 --> 00:10:53,240 So the way you have maybe a companion animal, I find it fascinating because robots are hard 144 00:10:53,240 --> 00:10:59,540 and they're noisy and they take a lot of power and they are not really amenable to being 145 00:10:59,540 --> 00:11:04,300 so close to a person, but here they are making these devices that, that will sit on their 146 00:11:04,300 --> 00:11:09,700 shoulder and, and have to interact with the more soft human world. You know, that means 147 00:11:09,700 --> 00:11:13,420 that like in the way they move and the way they, they interact with the, with the other 148 00:11:13,420 --> 00:11:18,280 people, with the person that they're, that's, that they're on. So Angela's talk was about 149 00:11:18,280 --> 00:11:21,900 like how to do some of that. And that was, that was, that was really fascinating because 150 00:11:21,900 --> 00:11:26,940 I love robots. I'm not interested in making us, making a companion bot, but all the people 151 00:11:26,940 --> 00:11:31,260 in the bot community are really cool. It's like, it's Angela and Ajay, which, which, 152 00:11:31,260 --> 00:11:35,940 you know, and Allie who's the Pokemon ball thing and geek mom, like as representatives 153 00:11:35,940 --> 00:11:40,700 of the, of the, of the companion bot community, they're just, you know, wonderful. Oh, that's 154 00:11:40,700 --> 00:11:44,920 great. Yeah. Yeah. And, and so, yeah, so it's just a, that, that is, that video is also 155 00:11:44,920 --> 00:11:49,540 up on, on YouTube so you can watch her talk right now too. I mentioned the flowers earlier. 156 00:11:49,540 --> 00:11:54,620 What was her talk on? Oh man. Okay. Star girl, AKA Theo flowers for the last year or so she's 157 00:11:54,620 --> 00:12:01,900 been working on making a web viewer for key CAD schematics and PCBs. You think like, oh, 158 00:12:01,900 --> 00:12:06,180 that's pretty easy. You know, you just read the file format and you just, you know, turn 159 00:12:06,180 --> 00:12:12,220 that into an SVG and no, like her talk was, her talk was hilarious. It should have been 160 00:12:12,220 --> 00:12:15,960 a main stage talk so we could have a video of it right now. It'll like the, they'll upload 161 00:12:15,960 --> 00:12:19,580 the video of it eventually. It was just, just amazing. Cause cause you know, key CAD it's 162 00:12:19,580 --> 00:12:26,100 30 years old, you know, it's, it's this amazingly long lived code base that's been touched by 163 00:12:26,100 --> 00:12:32,340 hundreds of people. And so the fact that it runs as well as it does is amazing. Yeah. 164 00:12:32,340 --> 00:12:37,660 I had no idea that it's been around that long. Yeah. Yeah. It's just, um, I mean, granted 165 00:12:37,660 --> 00:12:41,820 the people that, that wrote most of it, uh, work at CERN, you know, there's some of the 166 00:12:41,820 --> 00:12:47,960 smartest people on the planet. So, but it's, it's like any, any long live long live code 167 00:12:47,960 --> 00:12:53,080 base has a bunch of different ways of doing a single thing because you know, you do it, 168 00:12:53,080 --> 00:12:56,840 you do it one way and then like sometime later you figure out a better way to do it, but 169 00:12:56,840 --> 00:13:01,240 you have to keep the old way because of compatibility issues. And then suddenly it's a couple of 170 00:13:01,240 --> 00:13:06,680 decades later and you've got a couple of piles of legacy stacks you have to deal with. And 171 00:13:06,680 --> 00:13:13,020 so in navigating that to make it so the web viewer works, she had to figure a lot of that 172 00:13:13,020 --> 00:13:18,440 out. Her talk about how she went through it was, was really, was really nerdy and really 173 00:13:18,440 --> 00:13:24,580 fun and really funny. That's pretty cool. Supercon is known for its badges. What was 174 00:13:24,580 --> 00:13:28,680 the badge like this year? I don't know if you've seen pictures of it yet, but it looks 175 00:13:28,680 --> 00:13:37,320 kind of like an old Tektronix scope and these scopes, they had a round CRT screen in like 176 00:13:37,320 --> 00:13:42,420 the top left and then they had these big knobs and buttons that sounded kind of surrounded 177 00:13:42,420 --> 00:13:46,880 it and it was a sort of a vertical orientation of the whole instrument. So like a lot of 178 00:13:46,880 --> 00:13:50,200 the, a lot of the test equipment nowadays has sort of a horizontal orientation with 179 00:13:50,200 --> 00:13:53,840 like the screen to the left and the knobs to the right. This thing was, is vertically 180 00:13:53,840 --> 00:13:56,840 oriented where the screen was kind of the top left and the buttons were on the, on the 181 00:13:56,840 --> 00:14:01,760 bottom. That's kind of what the badge looks like. It has this round LCD and then a bunch 182 00:14:01,760 --> 00:14:06,060 of buttons and some little like connectors on the side. And then when you turn it over, 183 00:14:06,060 --> 00:14:12,080 you see that it's a Raspberry Pi Pico and a couple of support chips and, and it's a 184 00:14:12,080 --> 00:14:16,720 pretty brilliant little hack. There's an arbitrary waveform generator that I think is written, 185 00:14:16,720 --> 00:14:19,920 so the whole thing is running MicroPython. Okay. The way you kind of interact with it 186 00:14:19,920 --> 00:14:23,160 is there's an, there's sort of two parts to the badge. There's the arbitrary waveform 187 00:14:23,160 --> 00:14:28,620 generator that outputs an X and a Y signal. And then there's the scope part that reads 188 00:14:28,620 --> 00:14:32,580 an X and a Y signal. And so you can just use it as an oscilloscope. You can just feed in 189 00:14:32,580 --> 00:14:38,780 an X and a Y and, and then get cool Lissajous vectorscope patterns. Or you can use the arbitrary 190 00:14:38,780 --> 00:14:45,080 waveform generator to give you like an X scanning time base to then be your X and then have, 191 00:14:45,080 --> 00:14:48,360 then your signal, whatever your signal you're measuring is your Y. And then you get like 192 00:14:48,360 --> 00:14:54,800 more of a standard oscilloscope readout where the scan is a constant time and then the vertical 193 00:14:54,800 --> 00:14:59,220 Y axis is showing you what the voltage is over time. And you can do all of that without 194 00:14:59,220 --> 00:15:03,400 doing any code on the badge. You just like, like hook up wires and press a few buttons. 195 00:15:03,400 --> 00:15:07,360 And it's, it's basically like a, like an old oscilloscope. It's all like got green phosphor 196 00:15:07,360 --> 00:15:13,080 look and it's as the traces move, it's got this cool phosphor fade effect. This, it's 197 00:15:13,080 --> 00:15:17,980 like this running is like a separate process on the second core of the RP 2040 that's in 198 00:15:17,980 --> 00:15:21,160 the Pico or something. It's, it's incredible. But of course it's all open and you can hack 199 00:15:21,160 --> 00:15:27,120 it all. And so I was like, I hacked around with a little bit, but I'm not very fast with 200 00:15:27,120 --> 00:15:30,420 MicroPython. So one of the first things I did is they just blew MicroPython away and 201 00:15:30,420 --> 00:15:35,400 so CircuitPython, cause I know how to run these GC nine a zero one round LCDs. I've 202 00:15:35,400 --> 00:15:40,100 been playing with those for a couple of years. So I did, so I did, I did a bunch of little 203 00:15:40,100 --> 00:15:45,680 dumb hacks with that. And then you created a capacitive touch sensor to go along with 204 00:15:45,680 --> 00:15:49,080 it. I sort of, I've been, I've been playing around like, like I mentioned with the boards 205 00:15:49,080 --> 00:15:53,380 that I made, I've been playing around with cap touch buttons for a long time now because 206 00:15:53,380 --> 00:15:57,360 in CircuitPython it's so easy. You just use the touch IO core module that's built in and 207 00:15:57,360 --> 00:16:02,960 you say, Hey, I want to turn this pin into a touch pad and then it'll give you a true 208 00:16:02,960 --> 00:16:07,380 faults value whenever somebody touches the pad. And so it's super simple. But I knew 209 00:16:07,380 --> 00:16:14,560 that there was ways of doing more complex sensors with just a couple of cap touch pins. 210 00:16:14,560 --> 00:16:20,820 And so you can actually make a slider, a capacitive touch slider with just two pins if the pads 211 00:16:20,820 --> 00:16:26,120 are shaped in a certain way so that you get sort of a ratio between the two pins depending 212 00:16:26,120 --> 00:16:31,060 on where your finger touches. And similarly you can make a rotary control, a touch wheel, 213 00:16:31,060 --> 00:16:35,780 sort of like the old iPod touch wheels with just three pins. And so I'm like, and this 214 00:16:35,780 --> 00:16:38,720 is a, this is a thing that's been known for like 20 years or something. I've not played 215 00:16:38,720 --> 00:16:42,700 with it much. I'm like, okay, I'll just, I'll just spin up a quick board and I'll have it 216 00:16:42,700 --> 00:16:48,600 so that the pin out matches the little expansion pin out of the badge. So that in theory you 217 00:16:48,600 --> 00:16:52,400 can just plug it onto the badge and have it work. I got the boards back like two or three 218 00:16:52,400 --> 00:16:57,840 days before SuperCon started up real quick. Went once I got the badge and uh, yeah, it 219 00:16:57,840 --> 00:17:02,480 worked great. I was like so surprised. Yeah. It was like, it was like, you know, 20 lines 220 00:17:02,480 --> 00:17:06,080 of CircuitPython to do the, do the, the, the, the, the simple math to turn the three 221 00:17:06,080 --> 00:17:10,680 sensor readings into a angle. Yeah. So that's up on, on the GitHub. There'll be a link to 222 00:17:10,680 --> 00:17:14,340 it hopefully in the show notes. Absolutely. And I'm working on a board cause cause I'm 223 00:17:14,340 --> 00:17:19,700 so excited now by like, Oh, I can do like various types of interfaces with, with capacitive 224 00:17:19,700 --> 00:17:23,660 touches, not just buttons that I'm working on a little, a sort of cap touch explorer 225 00:17:23,660 --> 00:17:29,020 board that'll have some wheels and some sliders and some other things. See how that turns 226 00:17:29,020 --> 00:17:33,780 out. Now there was some controversy around the lack of diversity in the speaker lineup 227 00:17:33,780 --> 00:17:39,780 at SuperCon this year. Not having been there myself, was it fair criticism? Uh, yeah, yeah. 228 00:17:39,780 --> 00:17:44,440 There's, I mean you can just go to the, go to the, uh, SuperCon website and you'll see 229 00:17:44,440 --> 00:17:52,400 that all the speakers, they're mostly white guys, you know, it's um, there's a Carrie 230 00:17:52,400 --> 00:17:58,000 of Alpen glow has a really good thread on Mastodon about this and cause she, she, she's 231 00:17:58,000 --> 00:18:01,380 been a speaker in the past and she comes every year and she was there this year. But it's 232 00:18:01,380 --> 00:18:07,160 just, it's, it's really hard because when, when a community has sort of a default kind 233 00:18:07,160 --> 00:18:11,140 of member, you know, like, like, like you and me, we're kind of the default kind of 234 00:18:11,140 --> 00:18:15,660 member. We're sort of middle aged white guys. Right. Um, you know, that's, that's, that's, 235 00:18:15,660 --> 00:18:21,520 that's kind of your, your, you know, they're stereotypical hacker and, and when you're that, 236 00:18:21,520 --> 00:18:29,000 it doesn't, it's not hard to get the default to, to submit talk proposal when, when they 237 00:18:29,000 --> 00:18:33,560 just say, Hey, here are talk proposal website is open, submit a talk, you know, cause you 238 00:18:33,560 --> 00:18:38,640 know, we'll have, we feel we, we have the time. We also feel comfortable in submitting 239 00:18:38,640 --> 00:18:42,600 a talk if we can, if we can get over our own personal, like, Oh, I have a fear of public 240 00:18:42,600 --> 00:18:47,560 speaking, but like, but like, but like, but like we mostly feel welcome in the community, 241 00:18:47,560 --> 00:18:51,320 but there are so many other people that are part of the community, but they don't feel 242 00:18:51,320 --> 00:18:56,940 welcome. And you know, usually these are the non non white guys. And so like, how do we 243 00:18:56,940 --> 00:19:03,220 get more of those people that are in the community, but don't feel welcome? How do we welcome 244 00:19:03,220 --> 00:19:11,700 them in? And we really have to do the effort to, to make sure they know they're welcome. 245 00:19:11,700 --> 00:19:17,480 And and that's hard. It's a, it's a proactive reaching out rather than a, than a, Hey, come 246 00:19:17,480 --> 00:19:23,240 submit your talk to us. You have to actually go out and get people. And that's hard. 247 00:19:23,240 --> 00:19:27,700 You're absolutely right. Yeah. It's very hard. And even with the podcast, I'm always trying 248 00:19:27,700 --> 00:19:32,760 to keep that diversity, you know, and inclusion top of mind and making sure that I try and 249 00:19:32,760 --> 00:19:38,180 balance those guests out. And there's been some criticism of the Python podcast ecosystem 250 00:19:38,180 --> 00:19:43,580 as well of not being as diverse as it, as the Python community is. So you're right. 251 00:19:43,580 --> 00:19:47,420 It's something that you have to work on. You have to have it top of mind and you have to 252 00:19:47,420 --> 00:19:51,480 keep working on it and you have to let people know that you're going to be fine. You're 253 00:19:51,480 --> 00:19:55,940 going to do great. And welcome them with open arms. Yeah. It's, it's really hard because 254 00:19:55,940 --> 00:20:01,160 it's a lot of us are introverts. It's hard. It's hard to reach out to people in general, 255 00:20:01,160 --> 00:20:04,820 you know, and just say, just say, Hey, you know, it's like, like, this is the problem 256 00:20:04,820 --> 00:20:11,140 that we had at crash space. The hackerspace that I founded, sorry, co-founded that, you 257 00:20:11,140 --> 00:20:14,800 know, people, people would come in off the street and just say, Hey, is this a hackerspace? 258 00:20:14,800 --> 00:20:18,140 And we'd be like, yeah. And then we would all turn back to whatever project we're working 259 00:20:18,140 --> 00:20:23,240 on. You know, it's like, that's not how, that's not how you welcome new people to welcome 260 00:20:23,240 --> 00:20:26,460 new people. If they come in the door, you have to like get up and, and welcome them 261 00:20:26,460 --> 00:20:30,540 and show them around and say, here's where the laser cutter is. Here's where the 3d printer 262 00:20:30,540 --> 00:20:34,920 is, you know? Exactly. You're absolutely right. But it's, but it's so easy when you're, when 263 00:20:34,920 --> 00:20:38,120 you're in your head, you're, you know, you're focused on a thing and you're like, I just 264 00:20:38,120 --> 00:20:43,460 want to solve my problem. Well, we're almost out of time. And the last question I always 265 00:20:43,460 --> 00:20:48,480 ask is which board do you reach for when starting a new project? And in over two dozen episodes, 266 00:20:48,480 --> 00:20:53,140 you're the only person that's chosen a fun house and an itsy bitsy. Are those still your 267 00:20:53,140 --> 00:20:57,120 go-to picks or is there a different board that you reach for these days? Yeah, probably 268 00:20:57,120 --> 00:21:03,360 these days for, I'd say general CircuitPython work, I would choose a Raspberry Pi Pico because 269 00:21:03,360 --> 00:21:07,800 of the fact that they're sort of sold at cost at $4. They're, they're like a really cheap 270 00:21:07,800 --> 00:21:14,240 way of just trying stuff out and lowering that barrier of fear of like, Oh, what if 271 00:21:14,240 --> 00:21:17,380 I, what if I fry something? What if I burn this board up? It's like, well, you've burned 272 00:21:17,380 --> 00:21:23,340 up $4 if you have. But also like the, the space of things you can do with a Raspberry 273 00:21:23,340 --> 00:21:27,380 Pi Pico is really, is really large. And so it's a really great board. Even if you're 274 00:21:27,380 --> 00:21:30,820 not doing CircuitPython, like you can do a lot of really great stuff in Arduino. You 275 00:21:30,820 --> 00:21:36,700 can use the Pico SDK to get really low level. It's got that PIO functionality that's sort 276 00:21:36,700 --> 00:21:41,420 of like a little bit of programmable logic inside of the Pico that you can, you do to 277 00:21:41,420 --> 00:21:45,860 do, do like really fast protocol type stuff. And so it's, it's a very interesting board. 278 00:21:45,860 --> 00:21:49,460 You can do the PIO stuff in CircuitPython even, which is amazing, but it doesn't have 279 00:21:49,460 --> 00:21:55,500 wifi and there's the Pico W that has wifi. But I think, I think that the, an ESP 32 board 280 00:21:55,500 --> 00:22:05,420 would be better if you want to do wifi. And for, for, for wifi CircuitPython, I like 281 00:22:05,420 --> 00:22:10,980 something, I'd probably recommend an S3 board. Yeah. Yeah. ESP 32 S3. And then like which 282 00:22:10,980 --> 00:22:19,700 one? So like, like my default is a, a QDPI ESP 32 S3, but I think wifi devices need some 283 00:22:19,700 --> 00:22:24,180 sort of a display because there's this whole onboarding problem of how do you get it onto 284 00:22:24,180 --> 00:22:29,780 your net? And like having a display is really useful for that. So I guess maybe the, like 285 00:22:29,780 --> 00:22:36,020 if we're talking at Adafruit products, the reverse feather, the reverse TFT ESP 32 S3 286 00:22:36,020 --> 00:22:41,900 feather, I think there's also a really good Lilygo board that has an ESP 32 S3 in it. 287 00:22:41,900 --> 00:22:50,480 I think there's so many choices, ESP 32 S3. And if you display pick one, if not a QDPI, 288 00:22:50,480 --> 00:22:55,220 those are all good picks. Tod, thanks so much for being on the show. Thanks Paul. Thank 289 00:22:55,220 --> 00:23:02,400 you for listening for show notes, visit www.circuitpythonshow.com and transcripts are available in your favorite 290 00:23:02,400 --> 00:23:05,700 podcast app. Until next time, stay positive. 291 00:23:05,700 --> 00:23:07,620 ♪♪ 292 00:23:07,620 --> 00:23:09,620 for the next session.