Project Collaboration with Liz Clark and Noe Ruiz
S05:E42

Project Collaboration with Liz Clark and Noe Ruiz

Episode description

Liz Clark and Noe Ruiz join the show and share how they collaborate on projects, where they get inspiration, and share some of their favorite projects.

Follow the show on Mastodon or Bluesky.

Show Notes

00:00 Intro

00:21 Project inspirations

4:17 Iterating on a project

6:09 Working together to improve a project

8:01 Noe’s favorite project - Adabot

9:41 Liz’s favorite project - the Midi Fighter

11:00 The MX Guitarr

15:12 The The CircuitPython Motorized Camera Slider

17:09 The Jack-o-lantern PropMaker

19:24 The NFC Rapsberry Pi Media Player

24:02 The RP2350 Audio Reactive Video Synth

29:18 Wrap-up

Download transcript (.srt)
0:00

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

0:04

This episode, I'm joined by Liz Clark and Noe Ruiz from Adafruit Industries

0:08

to discuss how they collaborate on projects together.

0:12

Noe and Liz, welcome to the show.

0:14

Hi. Thanks for having us.

0:16

I'm so glad you're here. I've got so many questions for you about all the projects

0:20

that you've collaborated on. Let's start at the beginning. How do your projects

0:24

start? Where do you get inspiration from and how do they influence your projects?

0:28

It kind of depends on whose idea the project is,

0:33

because we kind of have different specialties.

0:36

Noe, of course, has the 3D printing and design background,

0:39

whereas I have more of the CircuitPython coding background.

0:44

So if it's a project idea that I have,

0:47

then I'm kind of collaborating with him on

0:50

how I want the enclosure to be and things like that,

0:53

versus if it's his idea, then we're kind of more discussing

0:56

like how we want the code to work.

0:58

We have a lot of these conversations on walks.

1:02

For those that don't know, we are married.

1:04

So we live together, of course,

1:07

and we take at least one walk a day.

1:09

And when we're out walking,

1:11

like we'll kind of discuss what we're working on.

1:14

And if we're starting a new project,

1:16

we'll kind of walk through what we're looking to accomplish.

1:23

- So for me, it's a little different.

1:25

- My inspiration comes from either from above,

1:29

which is Limor.

1:30

She'll give us an idea.

1:31

She's like, "Hey, I saw this," or, "Hey, would this be cool?"

1:34

And then we go from there.

1:35

If it's something that I come up with,

1:37

it's something I see on Instagram,

1:38

it's someone else's project,

1:40

or something that I see at Target or Ikea.

1:44

And then from there, it's like,

1:45

"Okay, we got these new parts.

1:47

Maybe we can fit this thing into that."

1:49

It's always coming back to like,

1:50

what is a new thing that Limor is working on

1:53

that would be cool?

1:54

So for example, we got this new stepper motor and I'm just going crazy with let's make everything

1:58

motorized.

1:59

Yeah.

2:00

Turntables, camera sliders, anything that spins.

2:03

At the end of the year, we did LEDs that are spinning as a POV motorized thing.

2:08

So I'm just all over the place with this stepper driver.

2:11

So that's kind of where my inspiration comes from.

2:13

A little more.

2:15

Yes.

2:15

Does she have an idea or she have a new product?

2:17

And then I go from there.

2:19

Or is it an Instagram?

2:20

I see this cool prop that someone else is making.

2:23

and I'm thinking, "Ooh, could I do something like that?"

2:25

And a fact, a shape, a lot of the times it's like,

2:27

"Oh, I just like this shape.

2:28

I wanna do this shape."

2:30

And then I go crazy with it.

2:31

I think you're kind of similar.

2:32

You see something that's a musical thing,

2:34

and hey, I wanna make a motorized robot thing.

2:37

- Yeah, often, you know, like now I'll be looking

2:40

on Instagram or Pinterest,

2:42

I might see something that looks unique and think,

2:45

"Hmm, you know, could I recreate this with CircuitPython

2:47

or stuff we have in the shop?"

2:48

And then same thing too, when there's new things

2:51

the shop, I tend to write most of the new product guides. So I kind of get a crash course

2:56

in every new product. So I'll run the examples. And then as I'm running the examples for the

3:02

guide and looking at all the pins, I'll kind of get my gears turning of like, how could

3:06

we use this and something or, oh, you know, we've always talked about wanting to build

3:11

this thing. This part really makes it possible. As Noy just said, there's a new stepper driver.

3:16

So that's been on our minds. And you know, we've wanted to do a lot of stepper motor

3:20

projects and the new drivers are kind of getting our gears turning and you know motor spinning.

3:26

We watch a lot of TV and when it's a sci-fi show it's like okay you wanted to do this

3:33

prop from Severance. It's coming back and you're like okay the timing is good here.

3:37

Yeah so in Severance there's um these like weird terminals that the people work at and

3:44

there are these like kind of floating letters on the screen and they're using a little ball mouse

3:48

to scroll around.

3:50

And so that's something I've wanted to try to recreate in CircuitPython for a while.

3:53

And now we kind of can, hopefully, with the RP2350,

3:58

because it has the HSTX peripheral for DVI output.

4:01

And then that frees up the PIO for USB host.

4:04

And in like two weeks from when we're recording right now, early January,

4:08

the new Severance Season's coming out.

4:10

So like that's all the pieces are kind of coming together.

4:13

So hopefully I'll be able to work on that, use that as a project inspiration.

4:17

Oh, that's great.

4:18

So you've had inspiration, you've gone for a walk and you've kind of talked it through.

4:23

You come back to the home office.

4:24

What's next?

4:25

That's when we'll kind of iterate.

4:27

So often if we've discussed things, you know, we'll work on a Fritzing diagram for code.

4:33

I'll do kind of a step by step thing where, um, if it's complicated code, I like to break it down into different parts.

4:39

So if there's multiple things going on, then I'll kind of test everything and then put them together.

4:46

So like if we have sound and lights, you know, I'll do the lights first sound and then bring them together

4:51

Make sure it's gonna work as we expect

4:53

Especially with props and you expect it to work a certain way for the end user

4:57

you want to make sure there aren't gonna be any like blocking delays or anything that make it kind of weird and

5:03

Then we just kind of chat back and forth. Yeah, I'll open a bunch of tabs on Google Chrome and look for

5:10

Reference images if it's a physical thing, I'll go to Pinterest and see what's out there

5:16

I'll just look at where has anyone made this before

5:19

and see what people have done.

5:21

If anything, if it's never been done,

5:22

it gets a little hard, but there's always something out there that I can reference.

5:27

Even like you're talking about the severance terminal,

5:29

I can look at real things that were computer enclosures in the '70s,

5:33

because it's the vibe.

5:35

Then I'll just collect things.

5:37

I don't have a particular app where I'll collect images,

5:39

just save images to my folder.

5:42

>> Yeah, I end up just with a million tabs.

5:44

A million tabs, yeah.

5:46

And also, I often will then also have a million tabs

5:50

of different learn projects too,

5:52

either ones I've written or other folks have written

5:54

to be getting different code snippets and stuff.

5:56

So I try to reuse as much code as I can

5:59

without having to start from scratch.

6:01

And that is good in that I know this code worked previously

6:05

and then I'm not having to do too much new testing out

6:09

and stuff.

6:09

Sure.

6:10

So working together,

6:12

How does that improve the finished project?

6:15

- I like that we can kind of immediately get feedback

6:17

from one another, it's more of a conversation.

6:20

Whereas like if we were not in the same space,

6:25

it would be a little tricky

6:26

'cause you have to wait for that response and everything.

6:28

- Yeah, I don't have much of a background

6:30

in code and development,

6:32

so I would really not be able to do any of the things

6:35

that you can do.

6:37

So I think the marriage of our different skill sets

6:40

really make the project possible.

6:42

It's like two very experienced people in these two realms come together,

6:46

and then you get this cool kind of thing that does a cool thing and looks really

6:49

cool and can be built in a relatively easy way.

6:53

Yeah.

6:53

And you're able to do such cool design tricks and iterate so quickly in Fusion

7:00

360, and you can easily tweak things with the way that you set up your projects.

7:04

I will do a little bit of 3D modeling, but my timeline, I know, stresses

7:08

him out when he looks at it.

7:09

So he does it like the right way so that if we get to the assembly stage, it's like,

7:15

"Oh, you know what? We need like two more millimeters here."

7:18

He can easily just add that to the design and then it's perfect instead of having to redo it all over again.

7:24

Likewise, I'll ask, "Hey, can we make it so that when this thing is shaken,

7:30

can we have it do an extra animation?"

7:32

And you can go in there and figure out how to make it happen.

7:36

Yeah, because often, I know this is your experience too,

7:40

sometimes you get the working prototype of the project

7:42

and just with how we work,

7:44

we're kind of documenting as we go,

7:46

just 'cause we do try to publish at least once a week

7:49

with Adafruit and sometimes it's not until

7:51

you're documenting and really using it that you think,

7:53

oh, you know what, I would love if it did

7:55

this one extra thing or had this one extra feature.

7:57

So it's nice to be able to quickly iterate like that.

8:01

- That's great.

8:02

Let's talk about some of your favorite projects.

8:04

Noe, what's one of your favorites?

8:06

start with you.

8:07

- Yeah, one of my favorite projects is probably the Adabot RP2040 toy robot.

8:12

Just because it ticks all the boxes of something.

8:15

It's a fun, interactive little robot.

8:18

It has a glowing mouth.

8:20

It has sound effects, has built-in accelerometers so you can kind of turn it upside down and

8:26

it kind of does this sleep mode.

8:28

That's kind of my favorite.

8:29

And it's just got like the mascot, right?

8:31

Adabot is Adafruit's mascot.

8:33

So it's got all the little pieces.

8:36

It's so cute as well.

8:37

Having something cute is a big factor for me

8:40

when I'm making a project.

8:41

How do I make it cute?

8:42

And you can't get cuter than Adabot.

8:44

That's one of my favorites.

8:45

And from the code perspective, I believe

8:48

when we made that, the RP2040 prop maker feather was new.

8:52

So for the code, it was a really good project

8:57

to be able to show off everything

8:58

that the feather could do.

9:00

Because it has the accelerometer,

9:01

it has the onboard speaker.

9:02

you know, everything. And so with that code, it was a nice way to show off, like, you can

9:08

control all these different components with just one board. It makes the wiring really

9:12

neat. And yeah, it's huge. Yeah.

9:16

Yeah, I interviewed Aaron Penley a while back and the PropMaker Feather is his favorite

9:20

board. I think for a lot of people, it just does so many different things so well.

9:25

Yeah, yeah. It's great to especially I find for audio projects too, because the PropMaker

9:31

name might make people think like, Oh, I'll use this for

9:33

props. But actually, I think it's a great music board to

9:35

just because it has the I2S amp on board and then terminal

9:38

block to connect up a speaker. Really cool board.

9:41

Is there a favorite project that comes to mind for you, Liz?

9:44

Oh, there's so many. Um, one collab that we had a lot of fun

9:48

with was the Pico MIDI fighter. And at that point, the Raspberry

9:53

Pi Pico was kind of new. It was cool to have like all these GPIO

9:58

available on it. So we were able to do this four by four grid of arcade buttons. We had the screen

10:06

so you're able to assign different MIDI note numbers to each button and you could change them

10:11

on the fly. And that was such a fun collaboration. Noe did this great case with a handle on it so

10:17

it looks kind of like a lunchbox and which is kind of like teenage engineering kind of style.

10:23

One design house that we both get a lot of inspiration from and folks in the community

10:27

have also remixed it and changed up the code and stuff.

10:32

So it's, I really like that project because I felt like it kind of laid a good foundation

10:37

for RP2040 MIDI projects to reference for and also kind of show like what you could

10:42

do with CircuitPython and you know, a lot of GPIO pins.

10:46

I like that project.

10:47

I mean, yeah, it's got 16 buttons, but I like the way that you showcase the Pi Pico in that

10:51

see-through case.

10:53

And then you mentioned the handle, which also doubles as a kickstand for it, which is just

10:57

an ingenious design.

11:01

Speaking of MIDI projects, tell me about the MX Guitar.

11:04

Yeah, so there's two MX Guitars.

11:08

The first one was a MIDI controller, and we released that kind of the week that COVID-19

11:16

started the lockdown.

11:17

Yeah, we shut down, everybody shut down.

11:20

The week of Friday the 13th of March.

11:22

But that was our first guitar project and we wanted to do a MIDI guitar and we thought

11:29

of the Guitar Hero controllers because the Guitar Hero controllers have like the whammy

11:33

bar and it has that really cool strum mechanism.

11:36

At the time we did not live together so I took apart a Guitar Hero controller, I took

11:41

like a bunch of photos and we're sending them to him so he can have it as like a design

11:45

reference and it was really fun but a real bear to wire.

11:49

Yeah, it was.

11:50

Because each button was individually wired up.

11:53

>> We ended up using the Grand Central because it has all the GPIO.

11:56

For the shape, I got a crash course on all the different guitar bodies.

12:00

I actually am not a guitarist,

12:02

I'm more of a drummer, but you are a guitarist.

12:05

So you know all the things about guitar anatomy.

12:07

I'm like, what's the coolest guitar?

12:09

I think we narrowed it down to the Flying V.

12:11

>> Yes. We used the Flying V for that one.

12:14

I remember that night that we were chatting,

12:15

we were just going through all these different guitar shapes together and everything.

12:20

and we used a real guitar whammy bar in the final design.

12:24

>> That's right. It just screws into

12:27

this 3D printed little adaptive thing that turns into a,

12:32

what was it? Is it a potentiometer?

12:34

>> Yes, it was a potentiometer.

12:36

Because if you open up the Guitar Hero controllers,

12:39

that's actually what it is. It's like

12:40

this spring mechanism that's turning a potentiometer.

12:44

That was our first MX guitar.

12:46

We always feel a little bad because it was the week of

12:50

pandemic, like truly. So I know for myself, too, I had other things to worry about. Like

12:54

once I get once the guide went up, it got to the point where I was like, I got I got

12:58

too much going on. So we always wanted to revisit it because we really liked the concept.

13:04

So when synth.io was added to the core, we thought, you know, what a great opportunity

13:08

to make another guitar, but instead of it being a MIDI controller, make it like an actual

13:13

synthesizer, and especially we have two young nephews, so the idea that like, you know,

13:20

someone could use it as a music making tool, but then, you know, kids could also use it

13:23

as a toy.

13:25

And with what we learned with the first MX Guitar, we wanted to try to simplify the wiring.

13:31

So we were able to use two 1x4 Neokey Seesaw breakouts.

13:37

So that's I squared C breakouts, so really simplifies the wiring.

13:41

And you still get eight notes.

13:42

And then that was also the prop maker feather.

13:45

- Yeah, it was.

13:46

Yeah, it made a lot of the wiring easy with StemmaQT.

13:50

You could just kind of connect those two

13:51

one by four keys together.

13:54

And you still gotta wire, you know, some potentiometers.

13:56

But yeah, I think it was a fun one

14:00

'cause everything's self-contained.

14:01

You got a built-in speaker in the head,

14:03

which was completely different.

14:05

We have built-in batteries that are AA

14:08

that are easy to change out.

14:09

So it's like kid-friendly.

14:10

You don't have to worry about puncturing a battery

14:12

'cause there are these nice AA batteries.

14:14

- Yeah.

14:15

- And the body's different.

14:16

I kind of forgot the name of it,

14:17

but do you know what it is?

14:18

- It's like a Gibson SG,

14:19

so it has those two horns kind of at the top.

14:22

- Yeah.

14:23

- You know, that's a great example of, you know,

14:25

we did one project and then we were able

14:27

to kind of revisit it, like, okay, what did we like?

14:30

What didn't we like?

14:31

And kind of remix it.

14:33

- Yeah.

14:33

- I like when we get the opportunity to do that.

14:35

- And then I got to reuse the same mechanism.

14:39

We didn't need a whammy bar because we have the built-in accelerometers.

14:41

We could just move the guitar.

14:43

Yes.

14:43

So that was different.

14:45

But yeah, we had a lot of fun playing around with

14:47

all the different modulation things that you can do with Synth.io.

14:50

And are they rotary encoders?

14:52

Those are rotary encoders.

14:53

Yeah, they're again, the Stemma QT rotary encoders.

14:56

There's three of them.

14:57

Yeah.

14:58

We're looking at it on our wall right now.

14:59

Yeah.

15:00

We're like, what is this thing?

15:01

Oh, yeah, that's great.

15:02

Yeah.

15:02

Well, I'll make sure I link to all of these learn guides in the show notes as well,

15:05

if people want to dig in and see the guides.

15:08

Thank you.

15:09

Yeah, I'd love to see more people build it.

15:11

Yeah.

15:12

The next project is another remix or something you visited from the past, but it's a little

15:17

more utilitarian.

15:18

What is the CircuitPython Slider?

15:21

Oh, yeah.

15:22

Yeah, the CircuitPython Slider is a remake of a motorized slider that we did with Arduino

15:30

and a BLE module.

15:32

So we both love doing videos and cinematography and getting these nice sliding shots is something

15:39

we always wanted to do.

15:40

They're pretty pricey, motorized sliders.

15:44

I thought it'd be cool to redo that Arduino project with a feather, a motor feather wing,

15:49

and this time in CircuitPython with an onboard screen so you can control it all without having

15:54

to like futz around with your phone and remembering like, what does this number do?

15:58

Or what does the keypads do?

16:01

So that was the idea behind that one.

16:04

And we are actually hoping to make a third version

16:07

this time with the silent stepper motor driver.

16:10

But yeah, that was a lot of fun to do.

16:12

- And I would love to redo that code.

16:15

That was probably the biggest CircuitPython project

16:17

I had done at that point, and that's back in November 2019.

16:21

And I was not working full time with Adafruit yet.

16:24

I was still just kind of in the community.

16:26

And that was a huge level up for me

16:29

as far as the coding went and also working with stepper motors

16:33

and there's a whole menu system and everything.

16:35

And I've looked at the code every once in a while since then,

16:39

and I know there's definitely a way it could be condensed

16:41

and be a little bit more streamlined.

16:43

So I would love to be able to go back

16:46

and kind of have a full circle moment with that.

16:48

- Hopefully this year.

16:48

- Hopefully this year, yeah.

16:50

- Well, that's true of any project.

16:51

You get done, you look back at it and you go,

16:53

oh, I could do this differently

16:54

or I could simplify the code here.

16:57

- And parts are just better.

16:58

Like it's so loud.

16:59

It's like, eh, eh, eh, eh,

17:01

'cause it's like an eight bit chip or something,

17:03

you know, it's very loud, you know, stepper driver.

17:07

- Yeah, yeah, so it'd be good to have a silent one.

17:09

- Yeah.

17:10

- Let's talk about some of your more recent projects.

17:13

Let's start with the prop maker,

17:15

Jack-O-Lantern from this past Halloween.

17:17

- Yeah. - Yeah.

17:19

- That one was actually inspired by, I guess, you, Liz.

17:23

You got an email 'cause you're subscribed

17:26

to the IKEA newsletter and you saw that there's this new pumpkin that they started selling.

17:33

Yeah, in August, IKEA, which we also love and get a lot of inspiration from, and also

17:39

the breakfast at IKEA is excellent.

17:41

They're on target.

17:42

I know.

17:43

But IKEA this year had this pumpkin light and I said to Noe, I was like, "Oh, you know,

17:51

that could be a cool Halloween prop maybe."

17:54

And then you kind of ran with it and you totally made this unique thing.

17:58

At first I was like, I don't know what I'm going to do with this.

18:00

Yeah, at first you weren't into it.

18:01

Yeah.

18:02

At all.

18:02

I forget how, but at some point I thought it'd be cool to make the head turn.

18:07

And in order to do that, I need a base.

18:09

So then I went down this route of like, what's a cool base that the pumpkin could sit on?

18:13

And then I kind of ran with that and figuring out how do I take out the guts of it, just

18:18

like a little lamp and then like fit it into a new base,

18:22

add a gear, add a motor.

18:24

And then were you the one who was like,

18:26

let's make it interactive.

18:27

We can use a time of flight sensors

18:30

so that as you approach it, it has different sound effects.

18:34

- I think that was Lamore.

18:35

- That was Lamore, okay.

18:36

- Yeah, so again, like what's great is like,

18:38

we might have kind of a base idea

18:40

and then when we pitch it to Lamore Ladyada

18:43

in our meetings or, you know, internal communications,

18:46

she'll often have ways to use other components

18:50

or just really flush out the project

18:51

to make it like a better, basically.

18:54

- Yeah. - Yeah.

18:55

What was great too, when we filmed the project video,

18:58

friend of mine recently bought a house,

19:01

so they had like a nice stoop we were able to use

19:03

'cause we're still in an apartment

19:05

and they have a little kid,

19:06

so a little kid was able to see the pumpkin and everything.

19:09

And then we manned their door for trick or treat

19:12

and Noe was able to set it up on the stoop,

19:14

so all the trick or treaters were seeing it and everything.

19:16

So it was a really cool project to be able to then use to on Halloween.

19:22

Oh, that's great.

19:24

Longtime listeners know that I'm a big fan of physical media, whether it's,

19:28

you know, my vinyl music collection or collecting movies.

19:31

So I love these next two projects.

19:33

The NFC Raspberry Pi media player uses Blinka for CircuitPython.

19:39

How did that project come about?

19:41

- So I believe that L'amour saw on a blog

19:46

someone else had done kind of a similar concept,

19:49

which is basically you have an NFC card

19:53

and you scan it on the NFC reader

19:56

and then it triggers a movie or TV show to play.

20:00

And we're like, you know, we could do this

20:02

with just a Raspberry Pi and Blinka.

20:04

And so we have the NFC breakout in the shop.

20:09

So we use that over Spy.

20:11

and then the Raspberry Pi 5 has the SSD hat,

20:16

which lets you have a lot of storage on there.

20:20

So it was a full Raspberry Pi project.

20:23

The hat was kind of new to, I think for Adafruit,

20:26

we hadn't really done a project that used it yet.

20:28

- Is it the M.2?

20:29

- M.2 hat, yeah.

20:31

- So basically the way it works is you've got the NFC card,

20:34

you scan it, and then the movie starts playing

20:37

on the monitor connected to the Raspberry Pi.

20:39

- Yes, yes.

20:41

That sounds very simple in theory,

20:43

but then in practice, it was a little tricky

20:46

on the software end of things.

20:48

Not the Blinka part.

20:49

The Blinka part just worked 'cause the NFC

20:51

and you can play the video file in VLC.

20:54

But it got more into almost a Linux project really

20:58

because you had to, well, I had to in the Python script

21:01

figure out, okay, how do I have kind of a graphical

21:04

interface, how do I get the movie to read properly from the

21:10

disk? How and how do I get to mount it boots and all that. So

21:14

that was, it was tricky. But I'm glad that now it's documented

21:19

for folks if they want to do that with the m.2 hat, or you

21:23

know, anything like that, because

21:25

there's like a dedicated page on setting up your your Python

21:28

environment. Yes, five is like, Okay, here's a whole new way to

21:33

do Python.

21:33

Yes, the Pi 5, the new version of Raspberry Pi OS,

21:37

you have to have the virtual Python environment

21:38

and yada, yada, yada.

21:41

So that was very tricky.

21:43

So that was definitely some frustration moments

21:47

because also when we were documenting the project

21:50

and we'd go to test it, sometimes we'd find that,

21:52

oh, actually this part still isn't quite configured right.

21:55

But that's good because then,

21:57

in the guide we have it totally right

21:59

and hopefully folks won't have to go to the forums

22:02

to be like, "Hey, this isn't actually working."

22:04

- From the enclosure standpoint,

22:08

the Pi 5 gets hot.

22:09

And it turns out it can melt PLA.

22:12

So I had to go back and redesign the case

22:14

to allow some room for the active cooling fans.

22:18

Like any Pi project that we do now,

22:20

you've gotta have the active cooling fan.

22:21

It just gets too hot.

22:22

- Yeah, which we hadn't run into before

22:24

when we've done other Raspberry Pi projects.

22:27

- I can still smell the burning PLA turning back

22:29

and be like, "Is it the case?

22:31

Oh my God, it is.

22:33

And it was all warped and stuff.

22:35

So it's good to test your project long-term,

22:37

not just for five minutes, play a whole movie.

22:39

And you know, find out, is this thing working?

22:41

Not just from the code, but is my enclosure melting?

22:43

- But much like you, Paul, I love physical media

22:46

and I have a really big movie collection.

22:49

So, and I've always been trying to find like ways to,

22:52

you know, digitize it or, you know,

22:55

make it so that it's like streaming, but still using it.

22:58

So I really liked the opportunity to kind of test that out.

23:02

And then you also had a really fun design thing

23:05

with the cards.

23:06

- Yeah, we could have always just put like a sticker

23:09

on the NFC card, but I thought it'd be cool

23:11

to turn the card into a little mini VHS themed enclosure.

23:16

So I created this little case that the card would fit into.

23:19

And that was fun to kind of throw back to VHS

23:24

'cause that's kind of what we grew up on

23:25

in the 90s with VHS.

23:28

and then you got to use all those kind of throwaway

23:31

NFC cards that you collected.

23:33

And you're like, one day I'm gonna use these cards.

23:34

What kind of cards are they?

23:35

- They were MBTA,

23:37

which is Massachusetts Bay Transit Authority,

23:40

cards for taking the train in Massachusetts.

23:42

I used to have a new train pass every month

23:45

and I never got rid of them

23:47

'cause it felt kind of wasteful

23:48

'cause I knew there were electronics in it.

23:49

And turns out they use the same protocol

23:52

that the NFC cards that we sell in the Adafruit shop uses.

23:57

stack of these cards.

23:58

Yeah, so we have a bunch if we want to extend.

24:02

The last project I want to ask about is this is how I started in CircuitPython was doing

24:07

audio reactive projects.

24:09

You created the audio reactive video synth with the new RP-2350.

24:14

Yeah, so that was my third video synth that I've done for Adafruit.

24:19

And for me, it felt like this really kind of fun full circle thing.

24:22

I'd always wanted to do an audio reactive one,

24:26

but for whatever reason, it was either too resource intensive

24:29

or whatever programming language I was using

24:32

didn't quite work out.

24:32

And this was the first time I was able to do it

24:34

in CircuitPython.

24:35

And the Feather RP2350 with the HSTX made that possible.

24:40

So that was really awesome.

24:42

I was really excited that everything I wanted to do

24:45

in CircuitPython was able to be accomplished

24:47

and it was working exactly how I wanted it to.

24:50

And then I kind of turned to you for the enclosure.

24:53

And you had a good start.

24:55

I like when you make an enclosure has like angled faces.

24:58

And that's really cool.

24:59

Yeah. But when we when I started to remake it,

25:03

I found it difficult to mount the mic just because the mounting holes

25:07

are in this weird spot and they're a little close together.

25:10

So it's very cool to put the mic in its own enclosure

25:13

and then fit that on top of the main base of the enclosure.

25:16

And that way you can have kind of fun.

25:18

And I went with like this kind of like mics from the 50s,

25:22

like they have like the kind of the steel enclosure.

25:25

So it was fun to kind of break that out and make it its own thing,

25:28

because that's kind of kind of calling attention to this is where the audio goes into.

25:33

Right. So it's kind of cool.

25:34

And then we could use different colors.

25:35

We always come up with these fun kind of Fisher Price colors.

25:39

Yeah, I always want a bunch of colors.

25:42

Yeah. And the enclosure is also kind of inspired by Love Holton,

25:45

who's another designer we like a lot.

25:48

And for those who don't know, he takes these, you know,

25:51

off the shelf synths or guitar pedals, and he makes these completely new

25:55

housings that look a lot like, you know, postmodern kind of stuff.

25:59

Yeah, kind of 70s vibe. Yeah. Yeah.

26:02

So in the enclosure, there's built three or four pots

26:07

and you can change modes.

26:08

What are the different modes in the video synth?

26:10

Yeah. So I used a rotary encoder for mode changing.

26:13

And so the first one is kind of audio reactive bars, like your classic audio EQ.

26:20

And that was kind of cribbed by Phil B had done some code using

26:24

our, one of the matrix breakouts.

26:26

And that was kind of my test to see like, okay, will the audio reactive

26:29

stuff work with the DVI output from the RP 2350, or am I going to like

26:35

run into memory errors because.

26:37

Yeah, you're asking the board to do a lot when you're, you know, displaying

26:40

out DBI and you're using audio reactive, which is FFT, but it

26:44

did it. And so then I went from there and I made a kind of

26:49

bouncing circles, one that had the circles change shape,

26:53

depending on the audio spectrum, those coming in, and they're

26:56

bouncing around the screen. And then the third animation is a

27:01

party parrot. So you have the party parrot in the back and the

27:05

he's kind of bopping around to the lower frequency. So if you

27:08

had a bass drum beat going, then he would move his head for every beat.

27:12

So you kind of get this syncopated vibe from him.

27:15

And then there are these two circles on either side of him that are going to the overall

27:20

amplitude.

27:21

So depending on how loud the music is, that affects their size.

27:25

And then I had three potentiometers that were changing color for different shapes or how

27:31

reactive it was.

27:32

Because the thing with the audio reactive stuff is with the music, like your music will

27:36

be different levels, obviously. So I wanted to be able to control like how sensitive things were,

27:41

so you wouldn't have to have the music blasting. And yeah, it was just really fun to be able to

27:47

have it all come together in CircuitPython. I'd done one in Arduino before, but

27:53

waiting to compile everything for testing was always really tricky. So to be able to

27:58

test those three animations quickly, the CircuitPython also made it really enjoyable.

28:03

Do you have any advice for people when collaborating?

28:08

I think just based on not great collabs I've had and then versus really good collabs, because

28:15

I've been in bands too where you're working together with people, is always be open to

28:21

other folks' point of view and always be willing to kind of step back and let other folks work

28:31

on different aspects that maybe aren't your strongest suit.

28:33

So sometimes, like, for example, with the video synth,

28:37

I was thinking it was going to be a project I just worked on by myself.

28:41

So I had sketched up the enclosure.

28:44

But I knew almost immediately that the enclosure wasn't that great.

28:48

I knew, no, I could do a better job.

28:49

So I was like, hey, let's actually collab on this and have him come in.

28:53

And he makes this beautiful enclosure that is just fantastic

28:57

and greater than anything I could have done on my own.

28:59

And also he did it faster than I could have as well.

29:01

Resisting the urge to stay in your silo

29:04

and just power through and get stuff done,

29:06

kind of open things up and yeah,

29:09

just be open to other folks.

29:12

- Liz, that's a great answer.

29:13

Noe and Liz, thanks so much for coming on the show.

29:16

- Thanks so much for having us.

29:17

- Thank you.

29:20

- Thank you to Liz and Noe for sharing

29:21

how they work together and collaborate on their projects

29:24

and discussing some of their awesome collabs.

29:26

For show notes and transcripts, visit www.circuitpythonshow.com.

29:31

Until next time, stay positive.