CircuitPython Day 2025
S03:E24

CircuitPython Day 2025

Episode description

Download transcript (.srt)
0:02

Welcome to the Bootloader, I'm Paul Cutler.

0:05

Along with my co-host Tod Kurt,

0:06

we were invited to participate in CircuitPython Day 2025

0:10

on August 15th,

0:11

and we recorded a live episode of the Bootloader.

0:13

This is a lightly edited replay,

0:15

and you can listen to the episode or watch us on YouTube,

0:18

which I've linked to in the show notes.

0:20

Now here's Tod and I with some of our favorite things

0:22

from CircuitPython and the community from the last year.

0:26

Welcome to the Bootloader, I'm Paul Cutler.

0:29

And I'm Tod Kurt.

0:30

We're coming to you live on the Adafruit YouTube channel

0:33

for CircuitPython Day 2025.

0:35

If you haven't heard of us,

0:36

Paul and I host a podcast called The Bootloader.

0:39

Each episode, we bring a few things to share

0:40

and chat about for a few minutes each,

0:42

no more than about five minutes.

0:44

And today we brought you some of our favorite things

0:45

that have happened in the CircuitPython community

0:47

in the last year.

0:48

You can learn more about us at thebootloader.net

0:51

or find us wherever you get your podcasts.

0:54

And if you wanna chat with us live,

0:55

you can find us in the live broadcast chat channel

0:57

on the Adafruit Discord at discord.gg/adafruit.

1:02

Tod, before we get started, I wanted to take a moment

1:05

and give a shout out to Anne Borella.

1:07

Anne is the editor of the Python on Hardware

1:09

weekly newsletter, and I don't think we could do this show

1:12

or my other podcast, The Circuit Python Show

1:15

without her and the newsletter.

1:17

It's the best way to stay on top of everything

1:19

related to Python and hardware.

1:21

I had the opportunity a couple of years ago

1:23

to help fill in for Anne when she was on vacation

1:25

for a couple of weeks, and let me tell you,

1:27

It is a ton of work to stay connected in multiple communities and bring you all the news every week.

1:33

So go sign up if you haven't and Anne, from us to you, a big thank you.

1:37

Yeah, thanks Anne. And it's not just CircuitPython.

1:39

It's like pretty much any time you see embedded Python.

1:42

It could be on a Raspberry Pi. It could be MicroPython.

1:44

Tod, what's your first thing to share?

1:46

Alright, so fonts. CircuitPython fonts.

1:51

So let me turn it to a little down shooter here.

1:54

Not these things, not yet.

1:55

this thing. So one of the really cool things about CircuitPython is that it's really easy

2:02

to get a display going. This is the little T-Display S3. The underlying Display.io framework

2:07

in CircuitPython makes it not matter whether you're using a TFT display like this or an

2:12

OLED or ePaper, LED matrix, your display code can really be the same for all these. And

2:17

that goes well as well to the fonts. The CircuitPython font system loads these BDF and PCF format

2:25

have been around for 30 plus years on Unix systems.

2:28

I used to worry about

2:29

my bitmap fonts back in the early days of Linux.

2:32

There are tools to convert

2:33

modern TrueType or OpenType fonts that are like

2:35

these scalable vectors to

2:38

the old bitmap format if you need to.

2:41

There's a great learn guide on

2:43

the Adafruit Learn Guide that tells you how to do this.

2:46

But doing this conversion is tricky,

2:48

it can be a drag at times.

2:50

So I was really excited when last year,

2:53

there was a effort by Jeff Epler to make a package,

2:58

a bundle of a bunch of pre-converted fonts.

3:03

The really cool thing is that

3:06

the bundle is set up such that you can use it with CircUp.

3:10

So all you have to do is,

3:12

the instructions are in the repo,

3:13

you just add this bundle to your CircUp setup.

3:16

By the way, CircUp, if you've not used it,

3:17

it's like PIP for CircuitPython,

3:20

a package manager for CircuitPython, really handy.

3:23

If you're using the CircuitPython plugin for VS Code,

3:28

I believe it also works the same way.

3:30

But once you have the bundle installed to Circup,

3:33

you can say Circup install font,

3:35

font name, whatever of the many fonts.

3:38

If you look in the number of fonts that's in this repo,

3:42

there are hundreds.

3:46

They're stored as true type,

3:47

so you could learn how the conversion process works,

3:50

by looking at this repo as well, which is pretty cool.

3:53

This little demo I have in the bottom right

3:55

is showing me loading a bunch of fonts.

3:57

What that code looks like, it's really simple.

4:00

I'll show you using my favorite terminal program,

4:03

or my favorite text program, Emacs.

4:05

You circ up install a bunch of fonts,

4:08

like whichever font you want.

4:09

In this case, I'm installing all these fonts.

4:11

Then in your code,

4:12

you just load them like Python packages,

4:15

which is pretty nice.

4:16

Then you can do whatever you want.

4:18

In this case, I've made

4:19

a little list of all the packages,

4:20

and I'm just going through this list

4:22

to display the fonts with various colors.

4:25

And that's what the rest of this code is.

4:26

It's not very exciting.

4:27

It's basically just standard display IO stuff.

4:30

It does also obey the buttons

4:32

so I can speed up or reverse the scrolling.

4:34

Oops, except I can't go that way

4:35

'cause I haven't actually fixed that part.

4:37

(laughs)

4:38

So yeah, we can scroll really fast.

4:40

And some of these fonts are really great.

4:42

Like you get some really pro-looking results,

4:45

but just by having a really good font.

4:47

So it's really cool.

4:48

I really love this the CircuitPython fonts package. I've been using it for some of my things.

4:52

By the way, if you want a good CircuitPython board that has a beautiful display, this T-Display S3 is really nice.

4:59

Let me make it a little bit bigger. And this is pretty cheap, but it runs,

5:02

it's an ESP32 S3 that can do Wi-Fi and stuff like that. But anyway, that's the CircuitPython

5:09

font package. Try it out if you have to do anything with displays.

5:14

So when you're installing that via circup, how do you decide what size fonts to install or to try first?

5:20

Whoo. Yeah, that's a good that's a good point

5:23

Like in this case, I'm doing a big demo and I just wanted the biggest fonts possible

5:27

So I chose size 48 and I didn't I haven't figured out if 48 means 48 points or 48 pixels high

5:34

Oops, I think it means 48 pixels high just from the resolution of the screen, but I'm not sure

5:38

So it's one of the things that he'd look at he's he's pre created a bunch of different common sizes

5:44

12, 24, 36, 48, eight for really small display,

5:49

like status display type of fonts.

5:52

But this is what 48 looks like on a 320 by 240 display,

5:57

I think.

5:58

Sure.

5:59

I forget what the resolution is of this one,

6:01

it's nice, oh actually maybe it says on the box.

6:03

Nope.

6:05

Anyway, I'll put a link to this gizmo,

6:09

they've got a pretty good wiki about it,

6:12

And I'll put a link to my code in the show notes or the Discord.

6:19

But yeah, so it kind of depends on the kind of the information you're wanting to display. If it's something big and big and

6:25

label-y like this to be seen across the room, then a 48 size is pretty good. For the CircuitPython REPL,

6:32

which I can show that real quick here.

6:36

If we go into the REPL.

6:38

So I think that's a size 8 font. So you can get a lot of information on the screen,

6:41

but it's really hard to read from across the room.

6:44

So pick your poison.

6:46

What works for your particular application,

6:48

I think is the real answer.

6:50

>> Sure. Makes sense.

6:53

>> All right. So what do you have for us this time?

6:57

>> Late last November,

6:58

Will Merkins released version 0.2

7:01

of the CircuitPython extension for VS Code.

7:04

This is a fork of the original extension by Joe DeVivo,

7:07

which hadn't been updated since late 2023.

7:09

A thank you to Joe DeVivo for creating this extension and licensing it under the MIT license.

7:14

That allowed Will Merkins to fork it, and a big shout out for taking this on.

7:18

It's never easy to fork someone's project, figure out someone else's code, and then add

7:22

to it.

7:23

And every time CircuitPython has had a major release, the extension has been updated.

7:28

If you're a VS Code user, you can install the extension by going to View Extensions

7:32

and search for CircuitPython.

7:34

Let me bring up VS Code.

7:36

You can click on the extensions, type CircuitPython,

7:40

and you'll see that it comes up with the V2 and the original.

7:43

Make sure that you choose the V2, which I have installed.

7:46

Once you have it installed,

7:48

all you need to do is open your directory,

7:53

open a folder that contains your CircuitPy drive,

7:56

and the extension will automatically kick in.

8:01

Oh, that's all you do is just open up

8:03

the whole CircuitPy drive as a folder in VS Code.

8:06

I haven't used it yet.

8:06

>> That's all you do. It sees that if it's

8:10

main.py or code.py or a couple others,

8:12

it automatically enables the extension.

8:15

So from there, you want to choose a board,

8:17

and I've got a couple of boards plugged in,

8:19

but one board that I'm using right now is

8:22

the seed.jow.senseboard.

8:25

Once you have that selected,

8:28

you can do fun things like auto-completes.

8:30

So here's the pins, the charge rate,

8:32

the charge status.

8:33

I bet there's a microphone one in here somewhere.

8:35

If I'm, yep, there's the mic power.

8:38

So all of that auto-complete,

8:40

what you would expect in an IDE

8:42

comes to life through this extension.

8:44

That's cool.

8:45

Now, if you bring up the command palette

8:47

with shift command P

8:49

and then type circuit Python as well,

8:51

you can see all the different commands

8:53

that are available to you.

8:54

So you can show available libraries.

8:57

That shows all libraries that are installable.

9:00

You can list the project libraries

9:01

that you have installed on your device,

9:04

it automatically downloads and checks for the latest bundle

9:07

that of libraries when you first install the extension

9:10

and every time you open VS Code as well.

9:12

You can choose the board,

9:14

you can mess with the serial monitor,

9:16

and you can update all libraries,

9:18

which is probably one of my favorite things.

9:20

This was inspired by the circup update --all command,

9:24

but this works just for the VS Code extension.

9:26

>>Yeah, that's really handy

9:27

'cause right now we're at this cusp

9:29

between CircuitPython 9 being the regular official version,

9:33

CircuitPython 10, and the library file format changes

9:37

between big versions like that.

9:38

So we're going to have to update our library soon

9:41

if you're not already playing with version 10.

9:44

And then the other thing you can do

9:46

is it's really easy to open the serial monitor.

9:48

You just hit the little button

9:49

in the bottom right-hand corner.

9:51

You can see that I have a couple different boards plugged in.

9:55

Oh, doesn't like that.

9:57

I don't know why that board isn't working.

9:58

Of course, doing it live, something's got to go wrong.

10:01

>> Live demo.

10:02

>> Exactly.

10:03

But that's the CircuitPython v2 extension for VS Code.

10:07

A big shout out to Will Markins for bringing it back

10:09

and keeping it updated this past year.

10:11

And if VS Code isn't your thing,

10:13

check out Professor Gallagher's YouTube channel

10:15

for a great guide on setting up PyCharm and TO

10:17

as an alternative as well.

10:19

>> Totally.

10:20

Yeah, so how do you change the different board types?

10:24

Because I use a bunch of different CircuitPython boards.

10:26

Like I think you covered it quickly,

10:28

but I kind of missed it.

10:29

What was the, like, where do you go

10:31

and select which board kind you're using?

10:35

If you haven't chosen a board yet

10:36

where it says CXO and NRF 52.840 cents here

10:41

would say choose board.

10:43

Oh, wow, okay.

10:43

So you'd click that and then you can scroll through

10:47

and you'll see every board that has had a release

10:49

on circuitpython.org.

10:51

Okay, I see, yeah.

10:52

So the extension's only up to using CircuitPython 9.2.x.

10:57

that doesn't include the 10.0 betas.

10:58

It only has the full releases.

11:00

So for example, the fruit jam won't be in there

11:03

until the 10.0 final comes out

11:05

and the extension is updated with that.

11:07

And then it will pull in all the latest boards as well.

11:10

Yeah. Okay.

11:11

That's pretty cool.

11:13

That was the main thing that stymied me when I tried it.

11:17

And I might've been trying the version one.

11:18

I just could not get like, how do we select the board?

11:22

Yup. And it's one of the more popular questions

11:24

in the Discord is which IDE should I use?

11:26

With mu being sunset this year. It's nice to see that someone in the community

11:31

Stood up took this on and shared it with everyone. So it's just great to have another alternative out there as well. No kidding

11:38

All right. What's your next one for us Tod? I'm getting my I get my demo ready here

11:42

Um, see if it comes up. All right, so this is a fruit jam product project

11:48

So the fruit jam, it's like a little computer. It's got video out. It's got

11:53

keyboard and mouse in basically

11:54

You really want to treat it like a little computer

11:57

But man doing doing all this what the free gem does is is it's kind of hard

12:02

especially acting as a USB host like one of the things that USB does did is it put a lot of the

12:07

processing of the USB protocol on the computer side of things rather than the peripheral side of things so that your your mouse can be

12:13

You know pretty pretty dumb

12:15

but it means that now we have the free gem means the free gem has to do a lot of work on the USB side to

12:19

Pretend to be a computer to the to the whatever things you plug into it

12:23

So I was really gratified to see that Sam Blenny on the Adafruit playground site has been doing some really cool stuff with USB host

12:30

specifically USB MIDI since I'm a real USB MIDI person. One of the

12:36

things he made is this USB host MIDI tester

12:41

and so the way it works is you've got a little display of notes here and

12:48

and the vertical axis is MIDI channel,

12:50

and then this is like a little status area

12:52

for like if your thing got plugged in or not.

12:54

And so I have a lot of these little cheap

12:57

USB MIDI controllers, which are great,

12:59

except they're USB only.

13:01

You can find these, they're so cheap,

13:03

they're like 20, 30 bucks,

13:04

but because they're just USB,

13:07

because they're just USB MIDI and not just MIDI MIDI,

13:10

it's really hard to use with some of my stuff.

13:12

But thankfully, we're getting to the point now

13:13

where we can have microcontrollers that do USB host.

13:16

And so here's one of Sam's,

13:19

here's a demo of Sam's little project working,

13:21

where if I plug in the device,

13:24

you should see the scanning.

13:25

Ah, look, it recognized it.

13:27

And if I start playing on the keyboard,

13:30

you'll see the little lights on the display figure.

13:32

And this is an HDMI monitor, right?

13:33

So like I'm basically being a full computer here,

13:37

but it's a special purpose MIDI computer.

13:41

And so if I turn it off and turn it back on again,

13:43

it actually comes up much faster

13:44

a computer would come up, like boom, there, it's running again.

13:47

You know, now one of the downsides of the current way that USB host works on Circuit

13:57

Python, by the way, this is all Circuit Python, which is just amazing, is it doesn't do device

14:02

removal detection very well.

14:04

Like you saw it detected immediately the USB device plug-in, but if I plug in something

14:10

else, it also does not necessarily do that.

14:12

It's like there's a ghost of the previous connection hiding

14:17

in the system and so this doesn't quite work.

14:19

But you know, right now you can just reset

14:22

and just in two seconds, it comes back up

14:25

and now the new device is detected.

14:27

And so this is, I think, is what I said,

14:28

it's gonna be fixed as things get more and more developed.

14:31

This has been one of the first real,

14:33

the FreeJams have been one of the first real

14:36

good things to play with USB.

14:37

And so I think we're gonna see USB hosts get better

14:39

and better really quickly.

14:41

This is really exciting because now this is a path

14:43

towards making all these random little MIDI keyboards

14:46

I have that are just USB and you do something better.

14:51

Oh, and also I wanted to give a shout out

14:54

to Sam's Adafruit Playground page in general

14:59

'cause there's a lot of really good stuff there

15:02

for learning just techniques in CircuitPython

15:05

and he's just publishing all the details.

15:07

For instance, his somewhere way down here

15:11

is the Fruit Jam MIDI tester,

15:13

but he published this months ago.

15:15

Since then, he's made this full portable MIDI synth.

15:19

It runs off a battery,

15:20

uses the Fruit Jam and a USB MIDI keyboard.

15:22

So you could put in your backpack, go play somewhere.

15:25

One of the other really useful things is here's a gamepad tester.

15:30

So it's like two USB gamepads.

15:32

I think Adafruit sells some.

15:34

So this helps you test out,

15:36

do these gamepads actually work with the Fruit Jam.

15:38

So yeah, thank you, Sam, for doing all this great work.

15:41

I can't wait to play more with the Fruit Jam with some of the USB host stuff.

15:46

That's a great segue because I know Sam helped out on my next pick.

15:50

Oh yeah.

15:52

So my, we'll just jump into it. My next pick might suffer from some recency bias just like yours,

15:57

but it's just so cool I have to talk about it.

16:00

It's so new that it hasn't even been in the Python on Hardware newsletter yet,

16:04

though it was demoed on Show & Tell this week.

16:06

And that is Fruitress, a Tetris clone for the fruit jam that is running over my shoulder

16:11

on my fruit jam on my extra monitor on my workbench.

16:14

The fruit jam has only been out for just two weeks, and already a community member, Cooper

16:20

Dalrymple has created a Tetris clone.

16:23

I got to know Cooper earlier this year when he was a guest twice on the CircuitPython

16:27

show, and you might know of him from his work with Synth.io.

16:30

Fruitress has already had four releases this week and is still considered alpha, but I

16:35

run into any bugs and no I'm not going to admit to how much time I've played this week when I

16:40

probably should have been prepping for the show. There's a few different things that are really

16:45

neat about Fruitress. First, Cooper did some work to detect the display and it now supports

16:50

widescreen displays and the resolutions and the gameplay region adjusts depending on your

16:54

resolution. Second, the music is fantastic. Plug in some headphones. It's perfect and retro in an

17:05

to update synth.io and add a tempo variable,

17:08

which he puts to good use in Fruitress

17:10

as the music speeds up as the levels get harder and faster.

17:14

Third, you can use a game pad or mouse

17:16

to rotate and drop the bricks.

17:18

You can find the keyboard shortcuts

17:20

on the project's Adafruit Playground page,

17:22

which I have up right here.

17:25

So he's got a great page that shows everything

17:28

you need to know about the game,

17:29

what it's running on, a video demo.

17:33

Here's the controls, how to configure the display

17:36

and the NeoPixels, what parts to use,

17:38

and then about 1600 lines of code.

17:41

(laughing)

17:42

Yeah, it is a full application.

17:46

Yup, yup.

17:47

It's not for the faint of heart,

17:50

but he makes excellent use of async IO in here.

17:53

One of the questions I was asked

17:54

when I told someone I was playing was if the game was laggy

17:57

because I was running a game on a microcontroller.

17:59

And no, it's not, not at all.

18:02

from the graphics to the sounds to the gameplay,

18:04

it's really well done.

18:06

If and when you get a Fruit Jam,

18:07

make this one of the first things that you install.

18:09

Totally.

18:10

Yeah, we've seen a lot of,

18:13

like ever since Arduino could drive displays,

18:15

we've seen people implement little video games,

18:17

like old ladies video games, like Tetris, whatever.

18:20

But this is running, it's driving a display.

18:24

It's using a USB keyboard or game pad as input,

18:27

and it's all written in CircuitPython.

18:30

(laughs)

18:30

Just the levels of complexity.

18:31

We've reached the vision that Scott has talked about

18:33

for years, right?

18:34

It's just like the old days.

18:35

You can plug and play.

18:36

You plug it into the display like you said earlier,

18:38

and it instant turns on.

18:40

And then here we've got a game console.

18:42

We've got Fruit Jam OS coming

18:43

where you can have multiple different apps

18:45

installed at the same time.

18:46

It's a really exciting time for CircuitPython.

18:49

Yeah, one of the cool things,

18:50

it's a really good, as someone who's a Synthio fan,

18:53

one of the cool things is to, if you're into Synthio,

18:56

you should look into how he does the music

18:58

because it really shows the power of what you can do

19:01

with music synthesis in CircuitPython

19:03

because he sets up these little synthesizers,

19:06

little Synth.io synthesizers,

19:08

and then he has these just standard MIDI files,

19:12

and he tells Synth.io,

19:13

"Hey, Synth.io, play this MIDI file with this synthesizer."

19:16

And so, and you can do that with multiple synthesizers

19:19

and multiple MIDI tracks,

19:20

so that's how he gets the interesting,

19:22

nice sound out of it.

19:24

And yeah, it's just like, cool,

19:25

that's just something you can do

19:26

a couple lines of CircuitPython.

19:29

Yep. And he put together a whole game in just a matter of weeks.

19:32

It's just amazing. Yeah.

19:35

What's your next pick for us?

19:37

All right. So do you know that there are four, at least four different ways

19:41

to program your CircuitPython devices?

19:43

I'm sure you're aware of the one of the original differences

19:45

between CircuitPython and MicroPython.

19:48

CircuitPython only supported devices with native USB.

19:51

That means devices that could emulate a USB storage device, USB thumb drive

19:55

and provide us with a CircuitPy drive

19:57

that we'd normally save our code.py file on.

20:00

This restriction is really good though,

20:02

because with just a text editor and the terminal program,

20:05

you can write CircuitPython programs.

20:06

Got an old Windows 95 laptop with notepad.exe and putty,

20:11

you can code on a CircuitPython board.

20:14

And this is actually not too much different than my setup,

20:16

which I use TO and Emacs,

20:18

but I'm not yet into the IDE space.

20:21

But if you wanna do other ways,

20:24

If you only use other chips,

20:26

it used to not be possible,

20:27

but now there's all these CircuitPython capable boards

20:31

that don't have native USB, so how do they work?

20:34

So for the ESP32, the old original ESP32 devices,

20:37

there's the web workflow where it starts up

20:40

a little entire web server with file transfer capability

20:43

and serial emulation.

20:45

It's pretty amazing, but it does take some CPU resources

20:48

that maybe you want,

20:49

'cause it is just a little microcontroller.

20:52

Also, the Wi-Fi reception on

20:56

these little boards is usually not that great compared to

20:58

what we're expecting from our laptops and stuff.

21:01

So trying to edit files can get a little frustrating.

21:05

So I actually have the web workflow stuff

21:06

turned off just because I'm like,

21:08

I'll figure out some other purpose.

21:09

Sorry, I figured out some other way and there's

21:11

like some command line tools you can use,

21:12

but it's fiddly.

21:14

There's also a BLE workflow

21:17

for the InterF52 Bluetooth-based devices.

21:20

That's pretty cool. It means you can use

21:21

potentially to use to edit CircuitPython.

21:24

I've not tried that much.

21:26

I have used the serial part of

21:30

Bluetooth to play with CircuitPython devices,

21:32

but that's about it. But both of these are wireless.

21:37

If your connection isn't perfect, it can be frustrating.

21:40

But now there is a way to do

21:43

native USB saving and loading of files and editing

21:48

code on things like on originally ESP32 devices.

21:53

This is like the way Thonny works with

21:55

MicroPython if you ever use that,

21:57

where you have to use the special program to talk

21:59

to the file system that's somewhere hidden on the device.

22:03

But the code.circuitpython.org

22:07

web-based editor does this now too, and it works great.

22:11

If you use one of the new Sparkle Motion

22:15

LED driver boards like this one here,

22:20

you can now edit the code files on this pretty easily.

22:23

This is all running CircuitPython.

22:25

Where's my little piece of paper?

22:26

It's a diffuser. This is all in CircuitPython.

22:29

The way this works is in the browser,

22:33

you see now there are these three.

22:36

I'm seeing these three options because currently there's

22:38

not a normal CircuitPython device plugged in.

22:42

But now I've got the three other options

22:45

the normal one and I can pick USB and I can then say which of the serial devices that I think the

22:52

device is at and now it'll connect up and you can see that I have both a terminal window,

22:59

sorry a terminal window and an editor code editor window just as you'd expect.

23:02

So I can open up the code.py file. This is all pretty standard now what you'd expect.

23:07

I can go over here and I can ctrl+c the program and restart the program and I can edit the program.

23:13

Let's make this happen much slower.

23:16

And then I save and it should restart the code.

23:21

If not, I can just do this.

23:23

And so now this happens much slower.

23:25

And so this is a really pretty good way of editing code

23:30

on an ESP32 board that doesn't have native USB.

23:34

And so I'm a big fan.

23:35

I've been wanting to play with these little

23:38

Sparkle Motion boards.

23:39

And now I have an easy way to do it.

23:44

Yeah, CircuitPython's really known for

23:46

presenting as a flash drive, right?

23:48

That's one of the greatest things about it.

23:49

But there's, to your point,

23:50

there's multiple different ways.

23:52

You have choice now in how you want to interact

23:54

with your drive when you're programming it.

23:56

Yeah, yeah.

23:57

And I think a lot of people were throwing aspersions

24:00

at CircuitPython early on because the old ESP32,

24:04

the original ESP32 was really popular

24:07

and it was really popular in micro Python uses in it.

24:10

And suddenly CircuitPython was like not.

24:12

So everyone was like, why?

24:13

Oh, this is not a good thing.

24:16

Clearly we should use something else

24:17

other than CircuitPython.

24:18

But now it's just as easy as using

24:21

kind of any other CircuitPython style of interaction.

24:24

So thumbs up.

24:25

That's right.

24:26

Well, that's our show.

24:27

A big thank you to Adafruit for having us today

24:29

for CircuitPython day

24:30

and to Liz for being on camera control.

24:32

You can learn more about us by visiting our homepage

24:35

at thebootloader.net

24:37

show wherever you get your podcasts.

24:39

Coming up next is Game Jam with Phonmyguy at 6 30 PM Eastern.

24:43

Until next time, stay positive.