Kick Out the Jams
S04:E29

Kick Out the Jams

•

Episode description

In this episode, Tod and Paul discuss hacking Flock cameras, the Adafruit Fruit Jam, Neural Networks in CircuitPython, some bad 3D printing legislation, and more.

Follow the show on Mastodon or Bluesky.

We have stickers! Request a free sticker here. (US Only, sorry!)

00:00 Intro

00:17 Flock Camera Hacking

5:46 Naya Connect

8:58 ESP32 supports 5GHz Wireless

13:19 The Adafruit Fruit Jam

18:04 Neural Networks in CircuitPython

21:17 Washington State’s proposed 3D printer laws

23:55 Wrap-up

Download transcript (.srt)
0:02

Welcome to The Bootloader, I'm Tod Kurt.

0:04

And I'm Paul Cutler.

0:06

The show works like this.

0:07

Tod and I have each brought three things to share, and we'll talk about each one for

0:10

about five minutes.

0:12

For detailed show notes and transcripts, visit thebootloader.net.

0:16

Tod, what's your first one for us?

0:17

All right, so if you're in the US, there is a private company, well, really a collection

0:21

of private companies, with 80,000 cameras displayed across the United States that track

0:26

your car and you and sell that information to local police. And a synth

0:31

YouTuber named Ben Jordan hacked them to show us how they work. If you're into

0:34

synthesizers and watch YouTube like me, you may have heard of Ben Jordan. Around

0:38

eight years ago he started doing music gear videos, I'm sorry, music gear reviews,

0:43

studio tips, music theory lesson vids. These videos were good, insightful, and

0:47

had a bit of legitimacy coming from a professional recording artist. About two

0:51

years ago he stopped doing gear reviews because the synth gear industry has

0:54

created a fairly toxic environment for these synth tubers, almost amounting to payola. So Ben just

1:00

opted out. Nowadays his videos still occasionally feature music production techniques, but he's also

1:05

turned his eye towards wider aspects of his world. Issues with AI, free software, hardware hacking,

1:11

and most importantly for the last six months he's been working with security researchers and

1:14

investigative journalists to look into these cameras and tracking systems made by a company

1:19

called Flock.

1:20

The first kind of these are cameras called ALPR, automatic license plate recognition

1:25

systems.

1:26

They blend into the various poles along the side of the road.

1:30

The startup Flock, who makes the majority of them and license the data to law enforcement,

1:34

claims they increase the number of arrests made and decrease crime.

1:38

But as has been reported several times in the last several years, these systems are

1:42

rife with OCR errors, because they've got like, you know, they're built in little machine

1:46

language things and glitches that lead to arrests of random people having nothing to

1:50

do with the crimes in question.

1:52

And if you drive in the US, your car has been logged into this system.

1:56

Like you don't even have a choice.

2:00

Back in August 2025, Ben posted a video that shows how just using a modern gaming GPU,

2:06

you can crack the Wi-Fi WPA2 encryption of these cameras.

2:10

But also the physical security of these cameras is a joke.

2:12

If you have access to one, you can just pull it off the pole really.

2:15

you can easily pop out its internal micro SD card

2:17

that contains unencrypted video it has recorded.

2:21

So yeah, if you're a creep in a neighborhood,

2:24

you can get access to all your neighbors, you know,

2:27

goings on.

2:28

But more concerning is what Ben posted in November, 2025,

2:32

with the help of security researchers and journalists

2:34

from 404 Media.

2:36

There are these newer Flock safety cameras,

2:39

that's capital Flock, capital safety.

2:41

They were fully open and viewable

2:43

from the IoT search engine, Shodan.

2:46

By the way, did you know there's a search engine for IoT devices?

2:49

You can go to and you can basically find various IoT things that are hooked up to the internet.

2:54

These Flock safety cameras are PTZ cameras and they're designed to track people.

2:59

They have built-in AI models to recognize and zoom in on people.

3:03

They even zoom in enough to see what people are watching on their cell phones.

3:07

He was able to just look at this stuff and see people using commercially available facial

3:12

recognition software, public databases, and data breaches that's publicly available, he

3:17

was able to identify several of these people that he saw, find their addresses, and discover

3:21

details about their finances, health, and family relations.

3:24

I mean, what the hell?

3:25

What's damning is after all these vulnerabilities were reported to Flock, they did nothing.

3:30

So Ben went on to one of these publicly available cameras and read the official response from

3:35

Flock saying there was no security problem as the creepy AI camera zoomed in on him reading

3:40

it.

3:41

It's kind of a beautiful example of the hack.

3:44

And it wasn't even a hack.

3:45

It was just going to a public website, searching and seeing public URLs.

3:50

But thanks to his reporting, some police departments sold on Flux promises have been canceling

3:55

their contracts.

3:56

So change is possible.

3:58

I recommend that everyone go bug their city representatives and figure out if they're

4:02

using these systems and get them to stop.

4:04

From a privacy perspective, these things are bad, that they exist at all.

4:09

And from a technical perspective, as a hacker, as an engineer, having them implemented so

4:13

poorly is just embarrassing.

4:16

So let's get them turned off and put Flock and similar companies out of business.

4:19

Links to all this stuff and all the reporting from 404 is in the show notes.

4:23

I've been a member of the EFF for about 20 years and they've been covering Flock for

4:28

a while.

4:28

They've got a number of blog posts just over the last six months about how scary it is.

4:32

And it's none of the government's business.

4:35

You can't tell me that Flock isn't selling this information sideways to data brokers as well as law enforcement.

4:41

And we know that the government, the federal government, buys information from data brokers.

4:47

Well, it's no one's business if someone's going to an abortion clinic, for example, or any kind of medical appointment.

4:54

And it's pretty easy just using metadata like he did to figure out where people are going and what they're doing

5:00

when you start cross-referencing the license plates with the facial recognition.

5:03

And it's just scary.

5:05

Yeah, I mean, one of the examples he had was just he saw a couple come out of a Home Depot

5:11

with a bunch of brand new fancy tools loaded up into their SUV.

5:15

And he could then see what the license plate of the SUV is and find out where they lived.

5:20

So he could go and get those brand new tools, you know, if he was so inclined.

5:24

Man, it's just like, you know, that Flock and the companies that use the Flock data

5:28

are correlating all this video and AI detected information with other public

5:33

datasets or even private datasets. And so it's just yeah let's let's try to knock

5:38

this down a peg and make it not so easy for these people to do this sort of

5:42

stuff. Anyway Paul what's your first one for this time? I'm a sucker for a good

5:47

mechanical keyboard going back to an old IBM replica I had 25 years ago and I

5:52

recently found out that my code keyboard is no longer made as WASD keyboards has

5:56

gone out of business. I don't need a new keyboard, but I'm always window shopping

6:01

and the Naya Connect caught my eye. The Naya Connect is the second product

6:05

launch from Naya who has a Kickstarter campaign for their new modular keyboard

6:08

the Naya Connect. They previously launched their split keyboard also on

6:12

Kickstarter. The Naya Connect features a low-profile keyboard that's ultra thin

6:16

at just under 15 millimeters. But what's innovative about it is that it's modular

6:21

allowing users to customize their keyboard layout and functionality. You

6:26

including a multi-pad, a 4x4 macro pad that can work as a number pad or anything you program it for,

6:33

an extra column of six keys laid out vertically,

6:36

four different input modules to let you replace your mouse, including a trackball, touchpad, a dial, and a floating joystick.

6:43

And what's really neat about all of these modules is they're made for both right and left-handed users,

6:48

with connections for each module on either side.

6:51

It also includes Naya Flow, their custom software that allows you to program your keyboard layout and all of the modules.

6:58

If you're quick, you can jump on the Kickstarter as it has about a week left from when this episode is being released.

7:05

Options start at about $180 and quickly go up from there depending on which modules you choose.

7:11

One of the options was over $400, so you're paying for it, but it's still a discount from what they're going to charge from a retail price.

7:19

>> Yeah. One of the really cool things I love about this is

7:23

their little mouse module,

7:25

their input module is one thing that has

7:28

a little round space in the middle and then four keys on the bottom.

7:31

That round space in the middle can be

7:33

a touchpad area or it can be a trackball,

7:37

or it can be one of those six-dimensional nubbins

7:43

like you use in CAD programs like the Space Mouse.

7:46

All those parts can be swapped.

7:48

So you can have one sort of input module,

7:50

but then you can swap out,

7:51

oh, I wanna have a touchpad, I wanna have a trackball.

7:54

And it's just really clever.

7:56

- Yeah, if you're using FreeCAD,

7:57

you might want the space type joystick thing,

8:00

I can't even describe it.

8:02

And then you want a touchpad for your everyday use.

8:04

And like you said, you just swap them in and out.

8:07

And you can put them on either side of the keyboard.

8:09

- Yeah, yeah, yeah.

8:09

- Which I think is great.

8:10

- Get one of each and put one on each side.

8:12

- Right.

8:13

(laughing)

8:14

- Yeah, a friend of mine is a real big believer

8:18

of the, they've got the Mac Magic Trackpad thing,

8:21

which is like a really big trackpad,

8:23

and they have that on one side,

8:25

and they have just a normal fancy mouse on the other side,

8:28

because doing some trackpad-y gestures are really natural,

8:32

kind of like pinch and zoom and moving windows around

8:35

is really nice with the trackpad.

8:36

And so I see them doing no keyboard things

8:39

where they're just mouse and trackpad,

8:41

and they're really fast.

8:43

So I think that's what I would do

8:44

if I had to get this keyboard.

8:45

- Yeah, I use the Apple trackpad too,

8:47

It does make a lot of stuff easier though. There's there's times where I wish I had a mouse for really detailed use

8:54

But I could go either way

8:55

Totally. What's your next one for us?

8:58

Okay, so very exciting news the ESP 32 finally supports 5 gigahertz Wi-Fi. Yay

9:05

Everybody get your streamers

9:07

So if you don't know ESP 32 chips and the dev boards that have them are pretty much the best way to do Wi-Fi with

9:12

microcontrollers in my opinion. They're fast, they have lots of memory, they have

9:16

a rich built-in set of peripherals for driving things like displays, doing audio

9:20

I/O, you know buttons, all that kind of stuff. And you can program them either

9:24

using the vendors supplied ESP-IDF SDK, or you can use Arduino or MicroPython,

9:30

CircuitPython, you can even use the really modern languages like Rust and

9:33

Swift. But the term ESP32 is pretty misleading. It's not a description of a

9:37

chip architecture, it's more like a brand, kind of like saying Ford for a car.

9:42

there are multiple chip architectures in the ESP32 family,

9:46

with the current more modern one

9:47

being the RISC-V based ones.

9:50

And it used to be, if you were to say ESP32,

9:52

you meant Wi-Fi microcontroller.

9:55

But even now that's not true

9:56

because they recently announced an ESP32-P4

10:00

that doesn't even have Wi-Fi.

10:02

It has a ton of GPIO,

10:03

it seems really good at driving big displays,

10:05

but it's not a Wi-Fi chip.

10:07

In fact, their dev board ships with two ESP32s on it,

10:10

this new P4 chip and then like a ESP32-C6 or something little Wi-Fi coprocessor, kind of like

10:17

what Adafruit does with their AirLeft boards. The problem with all these different variations

10:21

of the ESP32 Wi-Fi chips though is they've all been 2.4 gigahertz Wi-Fi. Even the most recently

10:28

announced ESP32-C6 chip that boasts Wi-Fi 6 support is still only on 2.4 gigahertz.

10:35

This 2.4 gigahertz spectrum is the original one that the Wi-Fi was on. It's what like the old

10:41

cordless cell phones are on, it's what Bluetooth is on, it's what your microwave

10:44

oven is on, and it's still pretty good for Wi-Fi for longer distance stuff, but

10:49

if you want higher data rates, then 5 gigahertz is pretty much the norm

10:53

that everyone uses in their home and office setups. And it's to the point

10:57

where a lot of Wi-Fi access points will encourage you to turn off the 2.4

11:02

gigahertz side of things. So some people have gotten home with their little

11:06

ESP32 dev board trying to get on their local Wi-Fi, and they've not been able to

11:09

because they've had their 2.4 gigahertz side of things turned off. But now there's the ESP32-C5

11:17

chip. It's a dual band Wi-Fi 6 ESP32 that does both 2.4 gigahertz and 5 gigahertz.

11:24

And while both Espressif, who makes the ESP32, and Waveshare have had these larger dev boards,

11:31

the sort of big for like testing out stuff, that use the ESP32-C5, just recently, like two weeks

11:37

ago, Seed started selling a Xiao board with the ESP32-C5. This is great if you already have a

11:45

Wi-Fi project using a CutiePie or a Xiao, you might be able to just pop it out and swap in this new

11:50

ESP32-C5 Xiao to get your project on 5 gigahertz Wi-Fi. And the other cool thing is that the ESP32-C5

11:59

also supports Matter and Thread protocols, so I suspect you will be seeing this chip in this Xiao

12:05

board and maybe Adafruit will make a cutie pie version of it.

12:09

We'll be seeing those in a lot of home automation projects in the future.

12:12

Links to the C Studio blog post about this in the show notes.

12:18

And I can't wait to get one.

12:18

They're currently sold out because I didn't get there fast enough.

12:22

Do you know if the C5 you can choose which band to use in software?

12:27

I think so.

12:28

One of the really cool things about the ESP-IDF, which is the SDK that Espressif uses, that

12:33

Specifics is written for their their chips is they cover all the chips

12:37

You just want to use one API, but they'll have different flags to specify things

12:42

I'm pretty sure I saw in the ESPN it thing

12:45

There's this way to specify what what band you want to be on

12:47

I do know you can tell what band you're on when you after you've connected. So there's that at least I

12:54

Was one of those users that when I first got into microcontrollers four or five years ago

12:58

I had 2.4 gigahertz turned off and it took me probably a week to figure out why I couldn't get this thing on a network

13:06

Drove me crazy. So I

13:08

Bet I'm not the only one out there. Yeah. Yeah. No, it's it's a harder. It's a harder problem

13:13

So I'm glad I'm glad that that hurdle has been overcome at least a little bit. All right Paul. So what's your what's your second one?

13:19

It's no secret that we're fans of CircuitPython and Adafruit products on the show

13:23

So let's take a moment and celebrate the Adafruit fruit jam

13:26

The Fruit Jam was first released at the end of July in 2025 and then went out to thousands of Adabox subscribers last November.

13:33

If you haven't heard of the Fruit Jam, it's Adafruit's take on building a mini-computer using the RP2350B microcontroller.

13:41

With all the extra GPIO in the RP2350B, Adafruit was able to add DVI out using an HDMI port,

13:48

Two USB ports for USB hosts to hook up gamepads, mice, and keyboards.

13:53

A microSD card slot.

13:55

And a Stemma QT port to add additional sensors.

13:58

All in a size that's barely bigger than a credit card.

14:00

This literally turned it into a microcomputer.

14:03

Not only is the product innovative, I'm blown away by the community's response

14:07

and all the cool software that is available to run on the Fruit Jam.

14:11

First up is Fruit Jam OS.

14:13

Once you have CircuitPython 10 installed on your Fruit Jam,

14:16

you can install the OS like you would any other CircuitPython program.

14:19

It includes a few games like Breakout, Minesweeper, and a Flappy Bird clone, an IRC client of

14:25

all things, utility apps like PyPaint, a text editor, and LarsIO Paint, which you can use

14:31

to create MIDI music, and a couple screensavers like the Flying Toaster and the Matrix, and

14:36

more.

14:38

Sean Carolan wrote a Pac-Man clone originally for the SeedWIO terminal, and Cooper Delrimple

14:44

ported it to work on the Fruit Jam and Fruit Jam OS.

14:47

I never would have thought you could write Pac-Man

14:49

in just CircuitPython, but that's what Sean did.

14:52

- Yeah, it's really good too. (laughs)

14:55

- I'll be having Sean on a future episode

14:56

of the CircuitPython show just to talk about Pac-Man.

15:00

Speaking of Cooper,

15:01

who is a CircuitPython community member,

15:04

he's been doing a ton of stuff with the Fruit Jam

15:06

and doing it behind the scenes.

15:08

He was one of the first to create a game for it

15:10

with Fruitress, a Tetris clone.

15:11

He's also worked on game pad support,

15:13

a Fruit Jam store, and more things that I can list.

15:17

Back in December, my last guest on the CircuitPython show

15:20

was Dan Cogliano.

15:21

Dan ported the Z Machine, the engine that runs Zork,

15:24

to the Fruit Jam so he can play Zork 1-3

15:27

or other Z Machine games.

15:28

He also has made a Moon Miner game,

15:30

and he's working on a maze game

15:34

that you'll be able to play on it as well.

15:36

But where the Fruit Jam really shines is as an emulator.

15:40

So many of the early computers have been ported

15:42

work with the Fruit Jam. Mac emulator? Check. It can run System 2.0 through System 7.5.5.

15:50

Apple II emulator? Check. Intel 286? Check. But my favorite emulator is the RetroJam by

15:57

Frank Hoedemakers. It's written in C using the Pico SDK and can emulate most 8-bit gaming

16:03

system from the 80s, as well as my favorite 16-bit system, the Sega Genesis/Mega Drive.

16:11

Emulators include the Nintendo Entertainment System, the Sega Game Gear, and Master System,

16:16

and the Nintendo Game Boy and Game Boy Color.

16:19

It works with both a gamepad or a keyboard, which is wild.

16:22

I would have never thought you could use a keyboard to play some of these old 8-bit games.

16:27

It also includes the ability to save your games with some of the emulators.

16:31

The Fruit Jam is only $40 and is available directly from Adafruit, though it's out of

16:35

stock at the time of this recording.

16:37

For $40, it really packs a punch.

16:40

Yeah, and if you if you want to play this play this kind of stuff right now

16:42

And you don't have you can't get a free gem

16:45

you can cobble together like most of the functionality of a fruit jam by using a

16:50

RP 2350 feather and the TLB 320 DAC and and the RP 2350

16:58

HST to DVI

16:59

Connector like like you can basically like before before the food free gem existed

17:03

We were all trying to get this stuff to work by using these like like five or six parts

17:08

And it's like they're actually pretty cheap to get it all assembled. So if you want to do it right now you can still

17:15

Also

17:16

for other cool or I mean like most of or many of the

17:20

things you listed are on the adafruit - playground comm site and

17:25

There's a lot of other really cool

17:28

Projects that are for there for fruit jam on there

17:29

If you just search for fruit jam, like one of the ones that I I've seen that I really liked is Sam Blaney

17:34

He's made a couple of MIDI projects that use like you plug in a USB MIDI device into the fruit jam

17:40

And you can like use it to do stuff

17:43

but also he's created some like

17:45

video test patterns and sort of video screensaver type things to help you sort of like

17:50

Learn how the fruit jam does video and I found those very very useful. Yeah, both Sam and Cooper

17:56

I've really knocked it out of the park with with all their community driven programs that they've written for the fruit jam

18:01

Totally. What's your next one for us?

18:04

All right, neural networks in CircuitPython with native code.

18:09

A few weeks ago, I came across a really interesting blog post by Ashish Patel on

18:13

how to embed native code versions of trained TensorFlow or

18:16

PyTorch models in a CircuitPython.

18:19

So if you're interested in machine learning or

18:21

embedding native code in a CircuitPython, this is a really useful read.

18:24

TensorFlow and PyTorch are both Python-based machine learning tools for

18:28

building neural networks and other learning models.

18:30

Normally, these run on real computers, but

18:31

we've seen TensorFlow models being run on embedded dev

18:34

boards for several years now.

18:36

In fact, Adafruit made an Edge Badge version

18:39

of their PyGamer board that could do TensorFlow-based voice

18:42

recognition using TensorFlow Lite in Arduino.

18:46

These models are trained on a large, fast computer.

18:48

And then the resulting models exist

18:50

as a blob of generated code with essentially a single function

18:54

that takes an input and returns a result.

18:56

This code is small enough to run on microcontrollers.

18:59

And there are several mechanisms for sticking them

19:01

into your Arduino code or Rust code or Python code

19:05

or whatever, but getting them into CircuitPython

19:07

has been tricky.

19:09

You can run a pure Python version of your model,

19:12

and Ashish shows you how to do this,

19:14

but that runs pretty slowly as you might expect.

19:17

But Ashish's blog post gives a step-by-step process

19:20

starting with the training of the model

19:22

and converting the result into C

19:24

using this tool called onnx2c.exe, whatever.

19:30

Onnx is the Open Neural Network Exchange,

19:33

something I didn't know about.

19:34

It's a standard way of representing machine learning models.

19:37

Once you run this tool, you have a resulting C code

19:40

that's just a bunch of tensor vectors

19:44

and no CircuitPython-specific code in it.

19:47

So the next step is to show how you can embed that C code

19:50

in a CircuitPython.

19:51

And he does it in a way

19:52

that's pretty clean and understandable.

19:54

There's several little niggly details you need to do

19:57

to make the CircuitPython source tree see your code

20:02

to add your new native code that you're putting in there.

20:05

It's more frustrating than just sticking your code

20:07

in your board's definition directory,

20:09

which is kind of what I would hope.

20:11

But it shows exactly how all they need to do.

20:14

So even if you're not interested in machine learning,

20:17

but are interested in adding native code to CircuitPython,

20:20

this post is pretty useful.

20:22

It goes into much more detail than a gist I put up a couple years ago.

20:26

And I think it's actually more up to date because the way that CircuitPython is compiled

20:31

kind of evolves over time.

20:33

And so what I wrote in 2022 in a gist is probably out of date now.

20:37

But yeah, thank you Ashish for that blog post.

20:39

Super handy.

20:40

My partner is the smart one in the house.

20:42

She's getting her doctorate in machine learning.

20:44

So I read Ashish's article and most of it went over my head, but she would probably

20:48

understand it.

20:50

But I need to reach out to Ashish because he needs to be on the CircuitPython show.

20:55

What he's done is pretty cool.

20:57

And the instructions do make sense because he does take you through it step by step.

21:02

Yeah.

21:02

Yeah.

21:02

And it's so nicely embeddable, these little models, because they are literally just a

21:08

single C function that takes one input and returns one output.

21:13

So it's really handy, really useful.

21:15

All right, Paul, what's your final one for this time?

21:17

I've been following on social media Washington State's proposed bill that basically adds

21:22

DRM to all 3D printers so they can't print ghost guns.

21:27

On January 25th Adafruit published a must-read blog post that has all the details and more.

21:33

Washington State Representative Osman Salahuddin has proposed two bills.

21:37

HB 2320 adds criminal liability around digital firearm manufacturing code and classifies

21:43

the machines that make these parts as part of the firearms law.

21:47

HB 2321 requires any 3D printer sold or transferred in Washington after July 1, 2027 to include

21:56

mandatory DRM that has blocking features that can detect a firearm's blueprint.

22:01

As Adafruit wrote and shared, printers would have to examine every file, compare it against

22:06

a centrally maintained list of prohibited designs, reject flag jobs, and be engineered

22:12

to resist bypass by users with significant technical skill.

22:17

Which is pretty much everyone who owns a 3D printer.

22:22

While I'm all for gun control, this is just crazy.

22:25

You can't outlaw the tools to create something just because it creates something you don't

22:29

like.

22:29

What's next?

22:30

Outlawing drill presses and milling tools as well?

22:33

Exactly.

22:35

You can't tell me that people won't find a way around this.

22:38

When it comes to DRM, they always do.

22:40

What's stopping someone from adding a Raspberry Pi or a custom microcontroller and flashing

22:45

Clipper on it, which is done all the time in the 3D printing community?

22:49

DRM never works and this is a terrible idea.

22:53

If you live in Washington state, reach out to your elected representatives and tell them

22:57

that this is a terrible idea.

22:59

This is definitely something to keep an eye on because if one state is thinking about

23:03

it, I bet others will be too.

23:05

The language as it's proposed is way too broad, and I'll leave you with this quote

23:09

from the Adafruit blog post.

23:12

None of these controls stop determined actors.

23:14

What they do is burden lawful users, destroy open source innovation, and force proprietary

23:20

stacks and cloud services, not safety.

23:24

Yeah, it's so dumb.

23:27

This sort of stuff seems to pop up every couple of years.

23:29

And it seems like every time I see the video of the little desktop mill, not even a CNC

23:36

mill, just a manual mill of like someone who can create a gun in a couple of hours just

23:41

out of bar stock.

23:42

And it's like, it's not the tools, man.

23:47

Right.

23:50

We just don't need more DRM in the world.

23:53

Yeah, yeah, no doubt.

23:55

Well, that's our show.

23:56

Before we go, I'd like to take a moment.

23:58

I live in the outer suburbs of Minneapolis, which is currently occupied by ice.

24:03

If you're looking for ideas on how you can help support those on the ground, please visit

24:08

StandWithMinnesota.com.

24:09

Thanks for listening, and until next time, stay positive.

24:13

(bright music)