From Arcade to Synth
S02:E12

From Arcade to Synth

Episode description

Welcome to a new episode of The Bootloader. For detailed show notes and transcripts, check out TheBootloader.net. Join our new newsletter or check out the archives.

00:00 Welcome

00:26 Recap: The Bootloader live on CircuitPython Day

3:00 MICRORACK (Tod #1)

08:16: Pimoroni’s Picade Max (Paul #1)

13:17 A bug in the Raspberry Pi RP2350 (Tod #2)

18:36 Stratasys sues Bambu Lab (Paul #2)

22:18 Wrap-up

Download transcript (.srt)
0:00

Welcome to The Bootloader. I'm Paul Cutler.

0:06

And I'm Tod Kurt. If you want to learn more about this podcast, visit thebootloader.net

0:10

for show notes and transcripts, and where you can also find our new newsletter.

0:14

Paul, two weeks ago on 16th of August was CircuitPython Day. We were honored to be an

0:19

official part of it with a special live video version of our podcast. You can check that

0:23

out on YouTube, and we provide a link in the show notes. I just thought we'd like maybe

0:27

talk a little bit about the experience of the entire CircuitPython Day in our live show.

0:31

But first, I'd like to say thank you so much for organizing all of that.

0:35

Oh, it was nothing.

0:37

Like not all of CircuitPython Day, but like for our part of it was all organized by you.

0:42

I just kind of showed up. So thank you so much.

0:43

It was my pleasure.

0:45

The format was we first talked about what CircuitPython had been doing for the last

0:49

year in terms of like its features and updates and how it's in its relationship to MicroPython.

0:54

We each talked about one project that each of us had done. It was really nice to hear

0:59

your Song Matrix thing because it straddled so many different technologies because it

1:06

was a network project that dealt with MQTT and the Shazam API. I don't do much internet

1:12

stuff with my little electronic devices that run CircuitPython. So it was really cool to

1:16

see all that and to see like real Python working in concert with CircuitPython.

1:21

Yeah that's one of the really neat things about the project. I've got a couple of projects

1:24

that do that, but actually writing real Python on a Raspberry Pi and then writing CircuitPython

1:31

and having those talk to each other is just, that's what excites me about CircuitPython

1:36

is that those physical devices that you can touch and feel. It's just something better

1:41

than just seeing code on a screen.

1:43

Totally. And it kind of reminds me of the synergy that a lot of web developers got when

1:48

we were able to write JavaScript code that ran in the browser and also JavaScript code

1:53

that ran on the backend using Node or something. So it's like we're getting that same level

1:58

of like, "Oh I don't have to switch gears too much because I'm still writing Python."

2:02

Just different flavors of it.

2:04

And then my project, I made this like two weeks before CircuitPython Day, I made this

2:09

like plan that I'm going to design and build and code a little playing card sized drum

2:14

machine and it didn't quite turn out because I made some tiny mistakes. So I've got 10

2:18

of these boards and I'm wondering, should I even like fix them up and put them in the

2:22

store? But it was a fun experiment. I tried doing a similar thing a couple of years previous

2:28

with CircuitPython Day and that worked out pretty well. So this was a good learning experience

2:33

for me. And if anybody has seen this little drum machine playing card thing that I made,

2:38

if anyone is interested in one, let me know and I'll see if I can send you one.

2:42

And I think it's cool that the project didn't actually work out and you talked about it.

2:46

So many projects are, "Look, I did this and it just all worked," but that's not how it

2:50

is in real life, right? We all have challenges and things break and it's good to actually

2:54

show that side of a project.

2:56

Yep.

2:57

Well, what's your first one this episode for us?

2:59

All right. Synthesizers. Have you heard of them? So one of the things that I've been

3:05

into is modular synthesis. So it's the kind of mad scientist synthesizers you might see

3:12

with all the knobs and lights and all the cables that plug in. And the way this all

3:17

works is that each little module does one specific part of the whole synthesis process.

3:24

And so you have something that might make a noise and then you have something else that

3:27

shapes that noise's loudness and another module that shapes that noise's frequency response,

3:34

sort of a tone control. And then things that will produce different pitches that control

3:39

the thing that makes noise. And so it can get really expensive really fast. And so people

3:43

when I've talked about modular synthesis, they're like, "Oh, that sounds really cool.

3:47

I want to get into it." It's like, well, it's really expensive to get into if you're not

3:51

building the stuff yourself or if you've just decided to sort of like, "This is my hobby

3:56

and I'm going to sink a couple hundred dollars into it every couple of months."

4:01

And so if you wanted something else that was modular synthesis but was not as expensive,

4:09

what were your options? It's like, well, there are some of these software programs out there

4:13

like VCV Rack that will do the sort of virtual on your screen modular synth. And that's actually

4:18

a really cool way to get started. But it's a thing on a screen. And one of the whole

4:22

points of modular synthesizers and physical synthesizers and physical things in general

4:26

is to get yourself away from screens. And there's also the other problem of if you're

4:30

trying to build some of this stuff yourself, the things that you will be interacting with,

4:35

like the jacks you plug cables into and the knobs you turn, those don't work well on a

4:40

breadboard. There's always problems where you're like, as you're turning the knob, the

4:44

potentiometer will come out of the breadboard because they're just really not made to be

4:47

plugged in like that. And so what's the solution? And I've been seeing some noise about this

4:51

thing called MICRORACK from this synth get-together, the synth conference called Super Booth a

4:55

few months ago in Germany. And lately I've been inundated by Instagram ads for its Kickstarter

5:01

campaign, which I'm like, man, Instagram has me targeted. And so MICRORACK is a collection

5:08

of little PCB modules that plug into a breadboard, just like all these other things we might

5:14

have that like Adafruit sells, except they are modular synthesis modules. So instead

5:19

of being several hundred dollars for each little module, it's a little like each little

5:23

module does the same functionality as these synth modules, but they just plug in and you

5:29

wire them together, little jumper wires like you do on a breadboard. And so it's really

5:33

nice. It's inexpensive. The way you interact with it is very much the way you interact

5:39

with stuff on breadboards. So if you're used to doing stuff on breadboards, this is like,

5:42

oh, this will fit right in. And they've got a pretty rich set of modules, it looks like.

5:46

And they're using the Solaris breadboard mostly as a power distribution and a mounting platform,

5:52

which is great. It's like, oh, here's this very common plastic thing with lots of holes.

5:56

Let's use it as a mounting board, essentially. I've become a backer of it. I'm going to hopefully

6:00

it'll be out. They've been making modules for like six months or a year, and they've

6:06

been showing them off for several months now. And so I'm hoping it's a real thing. It looks

6:10

pretty real. And if anything, it's going to be a nice way of solving some of these problems

6:16

of how do I get the knobs to not move around when I'm prototyping something? Because I

6:21

prototype my own little synthesizers on breadboards, and their modules, like some of their modules

6:25

are just like little knobs that have outputs. I'm like, that's perfect.

6:31

Like you were saying at the beginning, I looked into EuroRack a couple of years ago when I

6:34

had some interest, and it was just so overwhelming. I had no idea where to start. And like you

6:40

mentioned, the cost quickly went up and up. And I thought about just buying a couple of

6:44

modules from just Winterbloom and starting there, but I still found it pretty overwhelming.

6:48

But this is something I might check out. Do you remember how much it was roughly on Kickstarter?

6:54

I think for like, they've got like a starter kit that's around like 80 bucks or whatever

6:59

that contains like a good handful of modules. I think the most expensive thing you can get,

7:03

which contains all their possible modules is like 300 or 400, which is the cost of one

7:10

modular synth module if you go to a store that sells them. So in terms of I think modules

7:16

per dollar, it's one of the highest that's out there. I'm mostly interested in it since

7:20

I developed some of my own little music gizmos. I'm mostly interested in using it as little

7:26

pieces of potential UI that I will have in my synthesizer. I'll just like use their knobs,

7:31

use their jacks, that kind of stuff. There have been other similar, let's make some of

7:36

this audio stuff more breadboard friendly little things that have been out there. I'll

7:40

put some links to some previous ones in the show notes. One of those famous ones is called

7:44

Breadboard Friends by Mutable Instruments, Emily Gillette. It's like two of the main

7:50

problems with the synth stuff on when you're prototyping some stuff is how do you do jacks

7:54

and knobs? The other one is how do you do power? Because the Eurorack standard is all

8:00

the signals are plus minus 10 volts. And your breadboard, like everything you do on a breadboard

8:04

is usually like three volts or five volts. So it's like one of the main things it solves

8:10

is how do you make that work?

8:12

Very cool. So how about you? What's your number one today?

8:16

I've been talking about building a standup arcade for probably 20 years from when I first

8:20

got a set of ROMs, the actual arcade games you load into an emulator to play. About five

8:25

or six years ago, I finally started it. And living here in the Twin Cities, we have a

8:29

local company called Paradise Arcade, who has a focus on the community around fighting

8:33

sticks, fight stick controllers for fighting games. But they have a wide selection of arcade

8:38

parts, including buttons, joysticks, and the hardware to hook them all up to a computer.

8:43

I drove down to their shop, which is more of a warehouse and not a retail shop, which

8:46

I didn't know at the time. But they were pretty awesome and helped me out. From there, I bought

8:51

plans on the internet to actually build the cabinets and then bought the MDF to do it.

8:56

But I've never done woodworking. So this has all been in fits and starts over the last

9:00

couple of years. I haven't worked on it in a year or two, though I plan to pick it up

9:04

again in the next few weeks as I have that itch again.

9:07

The point of the story is, if I had to do it all over again, there's a solution that

9:11

looks to be a lot easier. Pimoroni is taking pre-orders for the PiCade Max, a bar top arcade,

9:17

not a stand up, that sits on top of a desk or a bar, hence the name. It includes everything

9:23

you need to build it, just add a Raspberry Pi 5. The kit includes 6mm powder coated MDF,

9:29

two player controls, and a 19 inch screen and 5/4 aspect ratio, just like original arcade

9:34

monitors.

9:35

What's really innovative about the PiCade Max are the add-on boards that come with it.

9:40

There's the PiCade Max Power Hat, which powers both the Pi and the screen at 5V and 12V.

9:46

The PiCade Max USB controller board supports up to 24 buttons and two 4-way joysticks that

9:52

connect via USB-C. This itself is a deal, as the wiring harness I bought for mine was

9:57

about $100 just by itself.

10:02

And then lastly, there's the PiCade Max USB audio board, which has two screw terminals

10:07

for a pair of speakers and is an I2S audio DAC with a 3W amplifier and volume control

10:13

via a separate encoder board. What's really innovative is that these last two boards are

10:17

powered by the RP2040 and connect via USB-C to the Raspberry Pi 5. Pimoroni mentioned

10:23

in an interview with Les Pounder at Tom's Hardware that they'll be selling these two

10:27

standalone boards in the future, and I know I want to check out the audio board for sure.

10:32

The PiCade Max kit retails for £495, or about $650 with the current exchange rate. That's

10:40

really not that much compared to how much it would cost to build it yourself and take

10:44

it from me. And it's about 50% lighter and not nearly as heavy as using normal MDF to

10:49

build the cabinet. Of course, I don't want to know what shipping would cost across the

10:53

pond for that. I'll link to a couple articles from Tom's Hardware with their coverage, as

10:58

well as the PiCast show on YouTube, where host Les Pounder had Paul and Phil from Pimoroni

11:02

on to talk all about it.

11:04

That's really cool. There have been a few retro arcade using a Raspberry Pi things over

11:10

the years, but they've always been sort of, "Oh, if you can find these random parts that

11:15

I happen to have in my garage, if you can find the exact clones, you can use my plans."

11:20

But having something like this PiCade Max could make it really easy just to, "I'm going

11:23

to build it this weekend."

11:25

Yep. And you do need to set aside time. Paul from Pimoroni joked on the stream that they

11:32

did that his speed run of doing a complete installation was like two hours. And that's

11:38

someone who knows what they're doing and has probably done it before. So you need to put

11:41

a good chunk of time to do it. But then again, it's taking me years and years to work on

11:47

mine. So this sounds like it would probably be a lot faster.

11:51

No kidding. Yeah. And I'd love to get the link to the place in your area where you actually

11:57

got some real arcade hardware. Because I used to be really into that. I used to have a couple

12:02

of stand-up arcade machines. They were old Atari Vector things that were always dying

12:07

because that was kind of their normal state of things. They were in, once these old games

12:12

get past a certain age, they're kind of always failing, it seems like.

12:16

Yeah. And it's really neat. They have everything from PCBs for a couple of games to mounting

12:22

hardware to they custom make some PCBs. And then they've got the whole fighting stick

12:28

stuff. But I'll make sure to link to Paradise Arcade in the show notes too, because they

12:31

ship internationally.

12:32

Yeah. And the cool thing about the PiCade Max being separate boards is you can take some

12:38

of the Pimoroni stuff and use it with an existing sort of arcade platform that you've already

12:46

partially built. If you are kind of stuck on the wiring harness problem of how do you

12:50

get these joysticks and buttons and speakers hooked up to whatever you want.

12:55

And I've been worried about sound because just doing the 3.5 millimeter out from a Raspberry

12:59

Pi isn't, you know, it's still a little tinny. But yeah, I'm excited about that because I

13:05

really want to check out the audio board. It's got the two pairs of speaker terminals

13:09

so you can use a real pair of speakers with it, not just some cheap computer speakers.

13:13

Totally. Yeah.

13:14

What's your next one for us?

13:17

So yeah, well, OK. So at the beginning of August, on August 8th, Raspberry Pi introduced

13:26

a new microcontroller board, a successor to their popular RP2040 Pico. It's the Pico 2

13:33

and a new chip that powers the RP2350, which is a great chip. It's like they've improved

13:39

it in almost every manner. Like it's it's got a like a twice as fast dual core set of

13:47

CPUs in it. It's got extra PIO if you're doing that sort of weird protocol stuff. It's got

13:52

twice the memory. Just oh, it's a lower power. You know, even though it's twice as fast,

13:56

it's lower power. So it's just all around a really good update. And I've been really

14:01

excited as I've been slowly getting some of these RP2350 based boards in to test. Since

14:08

it's twice as fast and almost all the stuff I do with the chip is in CircuitPython or

14:13

synthesizer stuff, both of which are really compute intensive. Having a chip that's twice

14:17

as fast means I can do essentially twice as much, twice as many synth voices or something

14:22

or twice as fast response time. And as I was testing it out, I learned that the capacitive

14:28

touch library in CircuitPython called TouchIO wasn't working with it. And I looked, started

14:32

looking into it, found a bug on the CircuitPython GitHub. As I was looking at it with my oscilloscope,

14:38

I discovered that there's this errata that was in the data sheet called E9 that is a

14:46

problem with the actual hardware, where if you're using a GPIO pin on this chip in a

14:53

certain way, mostly as an input, it will latch up and stay at 2.2 volts instead of like high

15:01

or low. And so the way the capacitive touch sensing works in CircuitPython and a lot of

15:08

other systems is you have a pin and it drives that pin high for like 10 microseconds. And

15:16

then it turns that GPIO pin into an input and watches how long it takes for that pin

15:21

to go low. And that time that it takes is basically it's discharging the capacitance

15:28

of whatever the line is connected to, like a little capacitive pad. And when you human

15:33

touch that pad, that changes that capacitance. And so the time it takes to go from high to

15:38

low changes. And so with that, you can get a really good sense of like, oh, was something,

15:43

has something touched the capacitive pad or not. But because of this pin is sort of like

15:47

staying high or not staying high, staying at 2.2 volts, which is kind of not quite high,

15:53

but it's definitely not low. It means that touch I/O doesn't work. It also means that

15:58

certain kinds of button inputs won't work either that have like certain low or certain

16:04

high of resistance pulldown resistors, or if you've configured internal pulldowns in

16:10

the chip. And so I'm at this point, I'm not recommending people use the Pico 2 or the

16:18

RP 2350 if they're newbies, because it's got this weird input problem where you don't

16:25

know is it not working because of my wiring or is it not working because you're tickling

16:31

this weird input bug on the chip. And thankfully, Dan Halbert has looked at, Dan Halbert, who's

16:37

a core CircuitPython developer, he looked into it in much more detail than I, and he's

16:41

created a bunch of really good test cases that he's opened issues up on the Raspberry

16:46

Pi GitHub and on the MicroPython GitHub. And so there's a bunch of good data and the relevant

16:54

people have been notified. So hopefully there'll be a fix. I don't know if there'll ever be

16:57

a software fix. We might have to wait for the next version of the Pico 2 chip to come

17:01

out. But if you want to read more about this, Haxter wrote an article about it that talks

17:07

a bit, I think they downplay the problem a bit, because I think the problem is actually

17:11

more of an issue than some people say, "Oh, it only happens if you have internal pulldowns

17:17

enabled, da da da." But no, I think it's a problem any time you're doing any kind of

17:22

input with high resistance pulldowns on the output, which if you're doing low power work,

17:28

if you're doing certain kind of bit bang protocols like I2C, if you're doing those by hand, would

17:33

that require an external pulldown resistor? So yeah, just be warned, there'll be lots

17:39

of links in the show notes about all this if you want to look into it more.

17:41

Yeah, it's disappointing to hear on such a popular chip, right at the beginning to run

17:46

into a showstopper bug like that. Does it occur on all the pins, all the GPIOs?

17:52

Yeah.

17:53

Oh, okay.

17:54

Yeah, yeah, yeah. I mean, I think maybe the ADC pins in some cases, it doesn't affect

18:01

them because the analog buffer gets turned on instead of the digital GPIO buffer. But

18:09

all the digital pins, definitely. Yeah, pretty frustrating. I think most people won't see

18:15

a problem, but I've seen a problem with buttons and I've seen a problem with the cap touch.

18:20

Which is one of your favorite things to do.

18:21

Yeah. No, it's like, I was like, "Oh, I'm going to just use this as a drop-in replacement

18:25

for some of my existing boards on Tindy," and nope.

18:30

Just kidding.

18:31

Yeah, lol. So yeah, what's your number two this week?

18:36

I've mentioned a couple of times on the show that I have a 3D printer from Bambu Lab and

18:39

they're back in the news again after Stratasys has sued them for patent infringement. Stratasys

18:45

created 3D printing back in the late 80s and through that and their acquisition of MakerBot

18:50

just over 10 years ago, hold most of the patents related to 3D printing today. I've linked

18:54

to two articles from Ars Technica and Tom's Hardware that have really good coverage in

18:58

the show notes that go into far more detail than I will. In question are 10 patents and

19:03

two jumped out at me, the heated build platforms in Purge Towers. Both of these are pretty

19:09

standard in 3D printers, which raises the question, are their patents still valid or

19:13

is there prior art that may invalidate the patents? Phil Torrone of Adafruit asked this

19:18

question a few weeks ago when this hit the news. He suggested that someone like the Open

19:23

Source Hardware Association should start a database to catalog prior art to see if the

19:27

patents could be invalidated. I'm wondering if it actually needs to be a database or could

19:31

prior art be tracked in something simpler, similar to an awesome list and simple markdown

19:37

on a GitHub page, for example. I'm half tempted to start a list myself, but I don't think

19:42

I have the context in the industry to get the list right. This isn't the first time

19:47

a prior art search has been done against Stratasys' patents either. Doing some search engine queries

19:52

prepping for the show, there were calls just over 10 years ago for prior art to fight some

19:56

of these patents, but I couldn't tell if anything ever came out of it. I'll link to the articles

20:01

that I mentioned with coverage of the story in a Reddit thread with some speculation about

20:05

why Stratasys is going after Bambu Lab and not other companies. Again, it's just speculation.

20:11

I'm not going to say they're conspiracy theories, they're just theories. It probably just comes

20:16

down to the fact that Bambu Lab has had a large amount of success in a very short amount

20:22

of time. They're afraid of losing market share of their large commercial 3D printers to an

20:27

upstart consumer 3D printing company. I've heard so many patent issues with Stratasys.

20:34

One of the things I think that started the whole consumer 3D printing revolution back

20:40

in 2006 or 2007 was that one of the key patents that was about the, "Oh, I'm going to melt

20:47

plastic and squirt it out using a CNC-controlled nozzle," that went out of patent in the mid-2000s

20:55

or something. Thus, we got RepRap and then we got MakerBot and Prusa and all these others.

21:02

Every 3D printer is because of this patent being finally expired. I remember hearing

21:08

one of the reasons why a lot of these consumer 3D printers don't have heated build chambers

21:14

is because Stratasys still had the patent on heated build chambers, and so everyone

21:17

just had heated platforms. Then, people would say, "Well, you know, if you put your heated

21:25

platform 3D printer in a small box from Ikea, your prints would be much better."

21:31

Right. Stratasys' headquarters is about 15 minutes from my house here in the Twin Cities,

21:36

and I'm just half tempted to drive over there, knock on the door and go, "What the hell

21:39

are you doing?"

21:40

"What?"

21:41

But obviously, they look at this as defending their patents and their revenue streams, so

21:47

I see both sides of it. It's still very frustrating for things that are very common today to still

21:52

have patents against them.

21:54

Yeah, super frustrating, especially for things that seem pretty obvious, but this is the

22:00

world we have to play inside of, I guess.

22:03

And I did look. A number of those patents don't expire until the mid-2030s, so there's

22:09

still over 10 years to go on some of them, which is quite a long time.

22:13

Yeah. I'm on the crossfingers that we'll find a way.

22:17

Well, that's our show. Thank you for listening. Visit TheBootloader.net for detailed show

22:23

notes, transcripts, and to sign up for our new newsletter. If you like the podcast, you'll

22:27

like the newsletter as we give you some behind-the-scenes and some extra links that we didn't cover

22:31

in the show, and we promise there's no spam, no tracking, so check it out. Thanks for listening

22:38

and stay positive.