Tod Kurt Part 2
S04:E31

Tod Kurt Part 2

Episode description

Tod Kurt joins the show. Tod shares his synthio boards and discusses his recent trip to Hackaday’s Supercon.

00:00 Welcome Tod

1:00 synthio CircuitPython Day Panel Discussion

1:10 What is synthio in CircuitPython?

2:00 Tod’s custom synthio micrococontroller boards (todbot/circuitpython-synthio-tricks: tips, tricks, and examples of using CircuitPython synthio

2:10 Tod’s Tindie store

4:30 Tod’s visit to Hackaday’s Supercon

5:22 Lux Lavalier on The Bootloader and in-person

6:30 CircuitPython at Supercon

7:02 Lightning Talks YouTube

8:40 Sprite_tm Jeroen Domburg: Building a Portable Vectrex, The Right Way

10:15 Cuddly Companion Bots Angela Sheehan: Cuddly Companion Bots

11:50 Stargirl’s KiCad Viewer talk

13:22 This year’s SuperCon Badge

15:44 Adding a capacitive touchpad - GitHub repository

17:30 Lack of speaker diversity at Supercon

17:55 Alpenglow’s Mastodon thread on Supercon speaker diversity Alpenglow Industries (@alpenglow@mstdn.social)

20:42 Which board do you reach for when starting a new project?

22:50 Wrap-up

Thank you for listening. Until next time, stay positive!

Download transcript (.srt)
0:00

Welcome to the CircuitPython Show. I'm your host, Paul Cutler. This episode I'm joined

0:06

by Tod Kurt. Tod is a co-founder of ThingM, a ubiquitous computing and Internet of Things

0:11

device studio based in Pasadena in San Francisco. He is creator of the popular BlinkOne USB

0:17

notification light in BlinkM, the smart LED prototyping device. Tod is a co-founder of

0:22

the Los Angeles hackerspace Crashspace, the author of the book Hacking Roomba, and an

0:27

active member in the CircuitPython community with his CircuitPython Tricks webpage. Tod,

0:33

welcome back to the show. Hi, thanks for having me again. This is great. I used to listen

0:37

to a podcast that when they had a repeat guest, they would officially become a friend of the

0:41

show. I'd like to welcome you as my first official friend of the show. Thank you. I

0:47

feel very honored. It's been almost two years since we first chatted and way back in Season

0:53

One. And one of the big things that's changed in CircuitPython since you were last on the

0:56

show is the addition of Synth.io. This past August, we were on a panel together where

1:02

we discussed Synth.io. And I'll link to that in the show notes for anyone who wants to

1:05

do a deep dive into Synth.io. But really briefly, what is Synth.io in CircuitPython? Yeah,

1:11

that was CircuitPython Day. That was a great sort of constructed holiday. It's a great

1:16

time period now. But Synth.io is a synthesis, an audio synthesis, musical synthesis library,

1:23

core module, I should say, in CircuitPython. And in CircuitPython, core modules are things

1:28

that are built into CircuitPython. They're written in C usually. And it means you don't

1:33

have to do anything. It's just there. And it's incredible. It's polyphonic. It's got

1:38

filters. It can do arbitrary waveforms. It's got LFOs and modulators. Pretty much all the

1:43

things you would want in a synthesizer, it's got. And I've been having lots of fun with

1:46

it since it was in a pull request in like January, February. Yeah, you've put together

1:52

a tips and trick page for Synth.io, just like you did for CircuitPython. And you've also

1:55

designed a couple of boards to take advantage of Synth.io. Tell me about some of the boards

1:59

that you've worked on. Oh, sure. Yeah. So I've designed a whole ton of boards, like

2:05

the ones that are kind of useful. I usually do an extra run and put the remainders up

2:09

on my Tindy store. So people that want to get those, they can get them there. I sort

2:14

of have two main interests in these boards. One is to make the sort of really easy to

2:20

build learning platforms that people with like a QDPI or a Raspberry Pi Pico can just

2:27

drop it down, add a few extra other easy to add parts. And they've got a little synthesizer

2:33

board, and they can like write their own synthesizers. I've not been working too hard and making

2:38

a fully fledged thing for these kinds of boards because I think of it more as a, for me, it's

2:43

like an experimentation platform, though that like, you know, some other, like, like these

2:46

Arduino experimenter kits from, you know, several years ago. And the other, the other

2:50

kind of focus I've been on are what's the thinnest circuit board microcontroller, sorry,

2:57

circuit board synthesizer MIDI controller that I can make because I have often carried

3:02

a little MIDI controller or a little synthesizer gizmo in my backpack or my book bag. And,

3:08

you know, I don't want it to get damaged. So I don't want knobs sticking out. I don't

3:11

want things, I don't want to be a bare circuit board. And so a lot of my stuff has been like,

3:15

that's the thinnest thing I can do. And so on my tiddie store, there's a couple of examples

3:19

of these very thin MIDI controllers. And the most recent one has been this fully enclosed

3:23

little cap touch synthesizer that I had 50 built that I gave out as to the 50 attendees

3:29

of our sketching and hardware conference that happened a couple months ago, because there's

3:32

a bunch of friends that I know for like the last almost 20 years, and I wanted to infect

3:36

them with synthesizers.

3:38

And what was their reaction to it?

3:41

I think I think a lot of them are pretty good. Of course, now we're all old enough that a

3:43

lot of them have kids, so they kind of gave them off to their kids. But I should be having

3:48

I should be having a version of that board up on the tiddie store as well. It's um, it's

3:52

basically you know, what is it a octave and a half cap touch keyboard with a couple of

3:57

modifier keys. It's got some reverse mount LEDs to let you know when you're touching

4:01

the pads. And then a couple of examples synthesizers that you can install onto it like one's a

4:06

wavetable synthesizer that makes really weird, cool, like space noises. And another is a

4:10

drum machine. And I'm hoping that I'm going to do a bit more and get a little bit more

4:14

interesting examples up there that are like kind of full synthesizers because I think

4:18

you can do a lot with this little platform and it's like, no parts that stick up. So

4:23

you can just like slide it in like you would a pencil case into your bag. And it'll be

4:27

safe.

4:28

That's cool. Last year on our old podcast, the bootloader you shared your experience

4:31

attending Hackaday Supercon. You were there this year too, just a couple of weeks ago.

4:36

What were some of your of your favorite talks at Supercon?

4:39

Yeah, Supercon is really great. Have you like you should come some year.

4:43

I should I really should.

4:46

Like you and me, we only know each other online. We don't we've not been in the same physical

4:51

room in the same place. We've been in the same Discord channel tons of times. Right.

4:56

And so there are so many people that I know in the larger sort of hardware hacking community

5:00

that I only know in this way. And Supercon has been the one of the few cases where I

5:04

get to meet some of these people, you know, and so like one of the cool things is, is

5:08

like a geek mom who Deborah Ansell, she lives in Los Angeles. And so I've seen her a few

5:13

times in reality. But she has a small business with Ben Henke, I think, and Jason Koons.

5:21

I think we covered them, their product, the LuxeLavier in one of our bootloader podcasts.

5:26

We did.

5:27

And so Jason Koon, he makes these beautiful pieces of LED art that fit in the palm of

5:32

your hand. These little like they're not grids of LEDs. They're like a Fibonacci spiral of

5:37

LEDs. And they just are jewels. It's like and because he uses such small LEDs, these

5:42

little like one millimeter by one millimeter LEDs, but they're like new pixels. The LEDs

5:47

become a surface like a sorry, a texture rather than like individual LEDs. It's like it's

5:52

just incredible. And so I got to actually meet him and hang out with him and and hold

5:57

some of these things in my hand. Just just marvel at them. Like it's it's one thing to

6:00

see what see pictures of them on websites. Another thing to actually like, you know,

6:03

gaze into it. Right.

6:06

And that was as I was just just seeing all these people that I've only only interacted

6:10

with on Mastodon or or Discord or whatever is really great.

6:13

I know looking looking at Super Con from afar, even some of my former guests have been there,

6:18

right? The Flowers was there.

6:19

Oh totally.

6:20

Castillo was there. You're there.

6:21

Oh yeah.

6:22

So it's like that gives me a reason to go when I actually know a couple of people already

6:26

too. So I so like you said, I have to I have to find a way to get there in the next year

6:30

or two.

6:31

Yeah. One of the things I noticed hadn't seen before is in some of the talks and some of

6:35

the idle conversation, people would just say, oh yeah, and we programmed this with Circuit

6:38

Python. Like it was it wasn't it was no longer a special thing. We're like, you know, we're

6:43

out of this evangelization phase where it's like, hey, you should try this weird thing

6:46

called CircuitPython. It's like now now people are just using it because, oh, it's a good

6:50

enough tool and we can use it now to do a lot of the projects that we've done in the

6:54

past. And that was really nice that it was just like, oh yeah, it's just another tool.

6:59

That's great to hear. Tell me about some of the lightning talks that you attended.

7:03

One of the coolest things they did this year was lightning talks. So not everyone not everyone

7:08

has the time to like prepare an hour long talk in front of hundreds of people. That's

7:14

pretty intimidating. And so during one of the days, they just said, hey, if anybody

7:18

wants to give a lightning talk for like 10 minutes, come on up. And maybe you had prepared

7:25

slides. I think most people had had to prepare some slides. I think some people didn't didn't

7:29

so much, but they were all great. It was like, it was, it was like hour and a half, 10 people.

7:34

And it was everything from, you know, Scotty of strange parts talking about his, how his

7:39

brain injury led him to whole, whole new hacking experiences to, you know, Allie was up there

7:46

with her, her Pokemon ball purse. It was just like a purse, purse Pokemon ball, but it also

7:51

is remotely controlled light up Neo pixel craziness to Tina Belmont taught us all how

7:59

synthesizers worked from, and she, and she's been doing synthesizers for like over a decade.

8:03

So it's like, you know, there's, there's, here's someone who actually knows no sense.

8:06

And yeah, it just was every, from all over. It was like one of the best kind of condensed

8:11

group of talks and the videos up on YouTube right now because hackaday streamed the, the

8:17

super con has sort of two stages, the main stage and the design lab stage and the main

8:22

stage they live stream and keep the live streams up for awhile. And so for the time being,

8:27

you can go to the youtube.com slash hackaday and click on the live tab and then there's

8:31

all the talks from the, from the main stage of the super con so you can, you can get those.

8:36

And so that was great. The other one, another one was on the main stage was this hacker

8:40

named sprite. I forget his real name. It's like your own maybe. Yeah, I can't. We'll

8:47

find it and link to it in the show notes and give them credit. Yeah, yeah. He, he's one

8:52

of the, he's one of the, the Uber hackers. He works for, for expressive. He is responsible

8:56

for a bunch of the really cool FPGA hacks you might've seen on hackaday. And he continued

9:01

that trend with his talk was about taking the old 1982 vector video game system called

9:07

vectrix that, you know, back then took cartridges, everything to cartridges and he reverse engineered

9:13

how it all worked and then recreated how that worked in an FPGA and to be a, an appropriate

9:20

emulation instead of boringly driving a LCD screen, he figured out how to, he found a

9:26

little like tiny portable right angle CRT and had an analog stage that drove the CRT

9:33

the way that like the real vectrix vector scope did. So it was like an analog output

9:36

of these, you know, a very clean lines that that's indicative of a, of a vector scope

9:42

output and it is, it was all handheld ran off a battery. It just amazing how these little

9:46

car, it would play actual vectrix cartridges, but also would play all of these. There's

9:50

apparently there's a vectrix, a demo scene of people making new stuff and he found a

9:55

bunch of that and was able to slot in those custom demo scene cartridges and it just was

10:02

like this tour de force of engineering. That's so cool. Really brand new stuff. Yeah, really

10:08

brand new stuff and FPGAs driving really old stuff of like tiny old CRTs from, from video

10:13

phones. Now I gotta ask you about a talk that was about the cuddly companion bots with a

10:18

title like that I have to know more. Yeah. So, so Angela Sheehan, she makes this really

10:24

interesting sort of snake, not a snake. It's like a fuzzy boa companion bot. So a companion

10:30

bot, if you've never heard, is a robot that you have on your person somehow. Usually wear

10:35

it kind of on your shoulder or maybe it's kind of like you, it's a slung thing, like

10:39

kind of in kind of the way a purse would be or you'd wear, maybe it's a backpack and it's

10:42

sort of the, the people who make these call them, call them like you companion robots.

10:46

So the way you have maybe a companion animal, I find it fascinating because robots are hard

10:53

and they're noisy and they take a lot of power and they are not really amenable to being

10:59

so close to a person, but here they are making these devices that, that will sit on their

11:04

shoulder and, and have to interact with the more soft human world. You know, that means

11:09

that like in the way they move and the way they, they interact with the, with the other

11:13

people, with the person that they're, that's, that they're on. So Angela's talk was about

11:18

like how to do some of that. And that was, that was, that was really fascinating because

11:21

I love robots. I'm not interested in making us, making a companion bot, but all the people

11:26

in the bot community are really cool. It's like, it's Angela and Ajay, which, which,

11:31

you know, and Allie who's the Pokemon ball thing and geek mom, like as representatives

11:35

of the, of the, of the companion bot community, they're just, you know, wonderful. Oh, that's

11:40

great. Yeah. Yeah. And, and so, yeah, so it's just a, that, that is, that video is also

11:44

up on, on YouTube so you can watch her talk right now too. I mentioned the flowers earlier.

11:49

What was her talk on? Oh man. Okay. Star girl, AKA Theo flowers for the last year or so she's

11:54

been working on making a web viewer for key CAD schematics and PCBs. You think like, oh,

12:01

that's pretty easy. You know, you just read the file format and you just, you know, turn

12:06

that into an SVG and no, like her talk was, her talk was hilarious. It should have been

12:12

a main stage talk so we could have a video of it right now. It'll like the, they'll upload

12:15

the video of it eventually. It was just, just amazing. Cause cause you know, key CAD it's

12:19

30 years old, you know, it's, it's this amazingly long lived code base that's been touched by

12:26

hundreds of people. And so the fact that it runs as well as it does is amazing. Yeah.

12:32

I had no idea that it's been around that long. Yeah. Yeah. It's just, um, I mean, granted

12:37

the people that, that wrote most of it, uh, work at CERN, you know, there's some of the

12:41

smartest people on the planet. So, but it's, it's like any, any long live long live code

12:47

base has a bunch of different ways of doing a single thing because you know, you do it,

12:53

you do it one way and then like sometime later you figure out a better way to do it, but

12:56

you have to keep the old way because of compatibility issues. And then suddenly it's a couple of

13:01

decades later and you've got a couple of piles of legacy stacks you have to deal with. And

13:06

so in navigating that to make it so the web viewer works, she had to figure a lot of that

13:13

out. Her talk about how she went through it was, was really, was really nerdy and really

13:18

fun and really funny. That's pretty cool. Supercon is known for its badges. What was

13:24

the badge like this year? I don't know if you've seen pictures of it yet, but it looks

13:28

kind of like an old Tektronix scope and these scopes, they had a round CRT screen in like

13:37

the top left and then they had these big knobs and buttons that sounded kind of surrounded

13:42

it and it was a sort of a vertical orientation of the whole instrument. So like a lot of

13:46

the, a lot of the test equipment nowadays has sort of a horizontal orientation with

13:50

like the screen to the left and the knobs to the right. This thing was, is vertically

13:53

oriented where the screen was kind of the top left and the buttons were on the, on the

13:56

bottom. That's kind of what the badge looks like. It has this round LCD and then a bunch

14:01

of buttons and some little like connectors on the side. And then when you turn it over,

14:06

you see that it's a Raspberry Pi Pico and a couple of support chips and, and it's a

14:12

pretty brilliant little hack. There's an arbitrary waveform generator that I think is written,

14:16

so the whole thing is running MicroPython. Okay. The way you kind of interact with it

14:19

is there's an, there's sort of two parts to the badge. There's the arbitrary waveform

14:23

generator that outputs an X and a Y signal. And then there's the scope part that reads

14:28

an X and a Y signal. And so you can just use it as an oscilloscope. You can just feed in

14:32

an X and a Y and, and then get cool Lissajous vectorscope patterns. Or you can use the arbitrary

14:38

waveform generator to give you like an X scanning time base to then be your X and then have,

14:45

then your signal, whatever your signal you're measuring is your Y. And then you get like

14:48

more of a standard oscilloscope readout where the scan is a constant time and then the vertical

14:54

Y axis is showing you what the voltage is over time. And you can do all of that without

14:59

doing any code on the badge. You just like, like hook up wires and press a few buttons.

15:03

And it's, it's basically like a, like an old oscilloscope. It's all like got green phosphor

15:07

look and it's as the traces move, it's got this cool phosphor fade effect. This, it's

15:13

like this running is like a separate process on the second core of the RP 2040 that's in

15:17

the Pico or something. It's, it's incredible. But of course it's all open and you can hack

15:21

it all. And so I was like, I hacked around with a little bit, but I'm not very fast with

15:27

MicroPython. So one of the first things I did is they just blew MicroPython away and

15:30

so CircuitPython, cause I know how to run these GC nine a zero one round LCDs. I've

15:35

been playing with those for a couple of years. So I did, so I did, I did a bunch of little

15:40

dumb hacks with that. And then you created a capacitive touch sensor to go along with

15:45

it. I sort of, I've been, I've been playing around like, like I mentioned with the boards

15:49

that I made, I've been playing around with cap touch buttons for a long time now because

15:53

in CircuitPython it's so easy. You just use the touch IO core module that's built in and

15:57

you say, Hey, I want to turn this pin into a touch pad and then it'll give you a true

16:02

faults value whenever somebody touches the pad. And so it's super simple. But I knew

16:07

that there was ways of doing more complex sensors with just a couple of cap touch pins.

16:14

And so you can actually make a slider, a capacitive touch slider with just two pins if the pads

16:20

are shaped in a certain way so that you get sort of a ratio between the two pins depending

16:26

on where your finger touches. And similarly you can make a rotary control, a touch wheel,

16:31

sort of like the old iPod touch wheels with just three pins. And so I'm like, and this

16:35

is a, this is a thing that's been known for like 20 years or something. I've not played

16:38

with it much. I'm like, okay, I'll just, I'll just spin up a quick board and I'll have it

16:42

so that the pin out matches the little expansion pin out of the badge. So that in theory you

16:48

can just plug it onto the badge and have it work. I got the boards back like two or three

16:52

days before SuperCon started up real quick. Went once I got the badge and uh, yeah, it

16:57

worked great. I was like so surprised. Yeah. It was like, it was like, you know, 20 lines

17:02

of CircuitPython to do the, do the, the, the, the, the simple math to turn the three

17:06

sensor readings into a angle. Yeah. So that's up on, on the GitHub. There'll be a link to

17:10

it hopefully in the show notes. Absolutely. And I'm working on a board cause cause I'm

17:14

so excited now by like, Oh, I can do like various types of interfaces with, with capacitive

17:19

touches, not just buttons that I'm working on a little, a sort of cap touch explorer

17:23

board that'll have some wheels and some sliders and some other things. See how that turns

17:29

out. Now there was some controversy around the lack of diversity in the speaker lineup

17:33

at SuperCon this year. Not having been there myself, was it fair criticism? Uh, yeah, yeah.

17:39

There's, I mean you can just go to the, go to the, uh, SuperCon website and you'll see

17:44

that all the speakers, they're mostly white guys, you know, it's um, there's a Carrie

17:52

of Alpen glow has a really good thread on Mastodon about this and cause she, she, she's

17:58

been a speaker in the past and she comes every year and she was there this year. But it's

18:01

just, it's, it's really hard because when, when a community has sort of a default kind

18:07

of member, you know, like, like, like you and me, we're kind of the default kind of

18:11

member. We're sort of middle aged white guys. Right. Um, you know, that's, that's, that's,

18:15

that's kind of your, your, you know, they're stereotypical hacker and, and when you're that,

18:21

it doesn't, it's not hard to get the default to, to submit talk proposal when, when they

18:29

just say, Hey, here are talk proposal website is open, submit a talk, you know, cause you

18:33

know, we'll have, we feel we, we have the time. We also feel comfortable in submitting

18:38

a talk if we can, if we can get over our own personal, like, Oh, I have a fear of public

18:42

speaking, but like, but like, but like, but like we mostly feel welcome in the community,

18:47

but there are so many other people that are part of the community, but they don't feel

18:51

welcome. And you know, usually these are the non non white guys. And so like, how do we

18:56

get more of those people that are in the community, but don't feel welcome? How do we welcome

19:03

them in? And we really have to do the effort to, to make sure they know they're welcome.

19:11

And and that's hard. It's a, it's a proactive reaching out rather than a, than a, Hey, come

19:17

submit your talk to us. You have to actually go out and get people. And that's hard.

19:23

You're absolutely right. Yeah. It's very hard. And even with the podcast, I'm always trying

19:27

to keep that diversity, you know, and inclusion top of mind and making sure that I try and

19:32

balance those guests out. And there's been some criticism of the Python podcast ecosystem

19:38

as well of not being as diverse as it, as the Python community is. So you're right.

19:43

It's something that you have to work on. You have to have it top of mind and you have to

19:47

keep working on it and you have to let people know that you're going to be fine. You're

19:51

going to do great. And welcome them with open arms. Yeah. It's, it's really hard because

19:55

it's a lot of us are introverts. It's hard. It's hard to reach out to people in general,

20:01

you know, and just say, just say, Hey, you know, it's like, like, this is the problem

20:04

that we had at crash space. The hackerspace that I founded, sorry, co-founded that, you

20:11

know, people, people would come in off the street and just say, Hey, is this a hackerspace?

20:14

And we'd be like, yeah. And then we would all turn back to whatever project we're working

20:18

on. You know, it's like, that's not how, that's not how you welcome new people to welcome

20:23

new people. If they come in the door, you have to like get up and, and welcome them

20:26

and show them around and say, here's where the laser cutter is. Here's where the 3d printer

20:30

is, you know? Exactly. You're absolutely right. But it's, but it's so easy when you're, when

20:34

you're in your head, you're, you know, you're focused on a thing and you're like, I just

20:38

want to solve my problem. Well, we're almost out of time. And the last question I always

20:43

ask is which board do you reach for when starting a new project? And in over two dozen episodes,

20:48

you're the only person that's chosen a fun house and an itsy bitsy. Are those still your

20:53

go-to picks or is there a different board that you reach for these days? Yeah, probably

20:57

these days for, I'd say general CircuitPython work, I would choose a Raspberry Pi Pico because

21:03

of the fact that they're sort of sold at cost at $4. They're, they're like a really cheap

21:07

way of just trying stuff out and lowering that barrier of fear of like, Oh, what if

21:14

I, what if I fry something? What if I burn this board up? It's like, well, you've burned

21:17

up $4 if you have. But also like the, the space of things you can do with a Raspberry

21:23

Pi Pico is really, is really large. And so it's a really great board. Even if you're

21:27

not doing CircuitPython, like you can do a lot of really great stuff in Arduino. You

21:30

can use the Pico SDK to get really low level. It's got that PIO functionality that's sort

21:36

of like a little bit of programmable logic inside of the Pico that you can, you do to

21:41

do, do like really fast protocol type stuff. And so it's, it's a very interesting board.

21:45

You can do the PIO stuff in CircuitPython even, which is amazing, but it doesn't have

21:49

wifi and there's the Pico W that has wifi. But I think, I think that the, an ESP 32 board

21:55

would be better if you want to do wifi. And for, for, for wifi CircuitPython, I like

22:05

something, I'd probably recommend an S3 board. Yeah. Yeah. ESP 32 S3. And then like which

22:10

one? So like, like my default is a, a QDPI ESP 32 S3, but I think wifi devices need some

22:19

sort of a display because there's this whole onboarding problem of how do you get it onto

22:24

your net? And like having a display is really useful for that. So I guess maybe the, like

22:29

if we're talking at Adafruit products, the reverse feather, the reverse TFT ESP 32 S3

22:36

feather, I think there's also a really good Lilygo board that has an ESP 32 S3 in it.

22:41

I think there's so many choices, ESP 32 S3. And if you display pick one, if not a QDPI,

22:50

those are all good picks. Tod, thanks so much for being on the show. Thanks Paul. Thank

22:55

you for listening for show notes, visit www.circuitpythonshow.com and transcripts are available in your favorite

23:02

podcast app. Until next time, stay positive.

23:05

♪♪

23:07

for the next session.