- Welcome to The Bootloader, I'm Tod Kurt.
- And I'm Paul Cutler.
The show works like this.
Tod and I have each brought three things to share
and we'll chat about each one for about five minutes.
For detailed show notes and transcripts,
check out thebootloader.net,
which also just got a shiny new coat of paint
as we're now using MKDocs for the website.
Tod, what's your first one for us this episode?
- This is about getting faster Raspberry Pis
by ditching the SD card.
If you use Raspberry Pis regularly
running off micro SD card have I got a treat for you.
Short version, use the RPI clone script to a USB thumb drive.
You may know that Raspberry Pi is running off SD cards
can get slower over time.
SD cards can get flaky with age too.
But SD cards are so easy to get a Pi going,
just write it with the imager and boot it up
and you're gone.
But with a modern thumb drive and the RPI clone script,
my Raspberry Pi that I depend on
is faster than it's ever been.
It's amazing.
I run a small group of Raspberry Pis for testing
of my products in various CircuitPython builds.
One critical Raspberry Pi has four different
CircuitPython boards permanently hooked up to it
that I use to test different,
how the different CircuitPython firmwares work.
And when I'm doing CircuitPython development,
I copy to it and I do it all remotely.
It's just on a rack somewhere.
I actually don't look at this computer very much.
But over the last couple of months,
I've noticed the server has been getting increasingly slow.
Get checkouts took twice as long.
Even logging in via SSH took a few seconds.
Normally, we just log in.
There are no errors in the logs,
and the microSD was a high-endurance one.
I replaced it only about a year ago,
but I have been using this Pi a lot more lately.
So I know, I know, all the real hackers
that have been booting their Pis off external drives forever
are raising their eyebrows at me.
What took me so long?
Well, I imagined it would be a daunting task,
needing extra components like an NVMe hat
or an ungainly external drive enclosure
hanging off the back.
Fortunately, I'd just seen a YouTube video
by the awesome Jeff Geerling,
where he offhandedly showed his RPI clone script
to turn an existing SD card-based Raspberry Pi
into one that boots off in external storage.
I thought, "Well, it seems pretty easy, let's try it out."
So I got one of those small USB 3.1 drives.
Those are pretty fast.
The one I got was a $15 Samsung 128 gigabyte,
which is like four times the size of the SD card
that was currently in the Pi.
And it's so small, it's just a little nubbin
when it's plugged in.
It looks like one of those little keyboard,
Logitech keyboard adapter things.
It's not something hanging off the back of the Pi,
which is nice.
After you plug in your external drive or the thumb drive,
I downloaded the RPI clone script,
ran it according to the README.
It chugged for a bit,
formatted the thumb drive with an appropriate file system,
the XT4, I think,
and copied over the Pi's file system,
the existing Pi's file system on the SD card
to the external drive, to the thumb drive.
And when done, I just powered it on the Pi,
remove the micro SD card, turn it back on,
and hey, look, it boots.
It boots off this new little USB drive.
This Raspberry Pi server that I've been using for
five years feels like a whole new computer.
It's like I got a free CPU upgrade.
To prevent this thumb drive from
degrading faster because it's not an SSD,
it's just another flash drive.
It's like an SD card.
I'm going to be putting the logs directory into
a RAM disk using the log to RAM program.
One of the things that wears out a lot of
these solid state drives the fastest is how much all these various programs that are running
on Unix write their log files to the disk.
And so you can minimize that by having the logs written to a RAM disk.
There's this file system format called tempfs.
And log2ram will create this RAM disk, but then it will also sync periodically, like
once an hour or so, it'll sync the RAM disk to your persistent storage.
So you can actually go back and look at the logs if you need to.
But doing one big write is much less of a wear on the drive
than doing thousands of little tiny writes.
And then I'm also looking into tiny SSDs
for my other Pi servers.
For Pi 5, there's an official NVMe SSD hat I might try.
I've also found there's some other smaller NVMe SSD hats.
So now I'm on a quest for what's the tiniest SSD solution
for Pi 4s and other Pis that I've got
'cause I'm just blown away.
It's like I should have done this so many years ago.
Links to all this will be in the show notes.
- I knew about the SSD hats.
I had no idea that you could use a USB flash drive
as a bootable disk for it.
And I know I've got a Raspberry Pi
that sits on my desk full time
and even SSHing into that takes a second or two.
So I'm wondering if my performance is starting to degrade
and if it's that easy,
I think I know what I'm doing this weekend.
- Yeah, I mean, I think this was like the third SSD card
I'd used for this pie just over the years and I kept getting trying to get like the ones that
were recommended by the various Raspberry Pi tip sites that said oh
This is the high endurance micro SD card to use but over time it just seemed to get slower and slower and like
You know this this Raspberry Pi is not doing anything weird. It's using is running the standard Raspberry Pi OS
There's no fancy programs installed, you know, except for Python
All right, Paul, what's your first one for this week
My first one is inventory.
Back in episode 17, I shared Inventory, an open-source inventory system for makers and
manufacturers that had just released their 1.0 release.
Thanks to Alec Delaney, aka Tech Trick, I came across an app called Inventory, a play
on the word "inventory," which also just released their 1.0 release after eight years of active development.
Inventory includes a number of features, including organizing your parts and sorting them into
related to each part, stock locations, which are real world
physical location for your parts, and bill of material
management, allowing you to define a list of parts to make an
assembly. And then you can create custom reports about your
inventory based on a number of templates, and it uses HTML
templates to create PDF reports for you.
It also has a full-featured API using the Django REST
framework and allows you to programmatically interact with
your inventory.
The documentation includes examples of how to interact
with the API in both JavaScript and Python.
Inventory also includes a robust plugin ecosystem.
There are plugins maintained by the core team
as well as the community.
There are plugins for just about everything.
There's integration for DigiKey and Mouser.
There's a plugin to locate your physical stock locations
with WLED, which is pretty neat,
and a bunch of plugins to use with your printer.
Inventory is written in Python using the Django web
framework and plugins can be written in Python too.
There's also excellent documentation covering everything you might want to know.
It's detailed and covers all of the features.
And lastly, if you want to take inventory for a spin before installing it,
they have a full featured demo instance.
I logged in and tried it out and came away really impressed.
Wow, that's really awesome.
I wish I could use one of these.
Like when you talked up the inventory program back in episode 17,
I was like, I'm going to really try this out and I didn't.
And I'm sure it's daunting from a setup perspective of trying to get all your
stuff into, into the database.
But once it's there, the payoff is probably worth it.
Yeah, no, I just, just yesterday I was rooting through my sort of geologic
filing system of like, you know, basically what's on the bottom is the oldest,
trying to find some, some low profile headers that I knew I bought a year ago.
And.
See, and you could have a stock location that tells you exactly where you stored them.
Now, and I love the I love the WLED integration, like it sort of assumes you have some sort of LEDs rigged across your racks and you could just like have something light up to indicate where approximately the thing is.
That's wonderful.
Yeah, I'd love to see that in practice.
Someone's got to have a YouTube video of doing that already.
What's your next one for us?
I'm going to talk about a little, this is a sort of a mini review of the framework 12 laptop.
I don't normally do just straight up reviews of products, but this has been really impressive to me.
So if you're looking for a Linux laptop, I highly recommend the framework 12.
It's their smaller computer.
They have a 16 and a 13 inch, I think as well.
This is a 12 inch.
You can buy it fully assembled or as a kit.
And if you can see I'm using quote fingers, where kit means you just install the RAM, SSD and expansion cards.
More on that in a bit.
The assembly is super easy, but it does give you a chance to see the inside of the laptop and the care that went into it.
You can see that the framework company designed the whole machine for repairability.
Like everything is screwed down, you can remove bits and pieces, you know, if like you break a jack or something, or you can even upgrade the motherboard.
Like in fact, their older Framework 16 laptop, they just introduced a new AMD Ryzen mainboard with an integrated NVIDIA RTX GPU that you can just swap in if you already have a Framework 16.
So to assemble my new laptop, I got a beer ready and everything.
I mean, I say everything, but they included the one screwdriver needed.
I only got about two sips into the beer before I was done.
You install the RAM and SSD from the top by lifting the keyboard out.
You just plug in the RAM and SSD into the little standard RAM socket
and the standard NVMe socket.
And the keyboard connects via pogo pins and magnets.
So you can just kind of lay the keyboard on top and it'll connect
and you can then test it out.
Once you're sure you're done, you can then secure the keyboard with a couple screws on the bottom that are captive screws.
That's another cool thing. All the screws in this laptop are captive.
So once you remove, once you unscrew something, the screw stays with the part or it stays on the computer.
So you're never losing screws.
You're never getting screws mixed up because you know how some companies, Apple, will use like slightly different length screws for things.
And if you swap them, you could really damage something.
It's really nice design.
And the laptop, once you've got it all assembled,
it's still only as thick as my main MacBook Pro.
So, it's like, even with the sockets
for all this replaceable stuff and the screws and stuff,
it's still the same thickness as my MacBook Pro.
That's just amazing.
There are many YouTube videos
that deep dive into this laptop,
its features, how it performs.
I'm not gonna go into those aspects.
It seems to perform about as well
as any other Intel i5 laptop,
and it costs about the same, I think.
I'm using Linux on it.
You can get it with Windows.
But one of the cool things is they support Linux
pretty heavily and they've got three different distros
that they recommend, Ubuntu, Fedora, and this other one,
I forget what it's called.
I chose Ubuntu 'cause Ubuntu's Debian-based
and it's the most like Raspberry Pi OS
and the other Debian-based OSs that I'm used to.
When you install the Ubuntu 25 that they recommend,
which is regular Ubuntu,
it's like not a special framework version of Ubuntu,
all the peripherals are recognized.
And when I plug in class compliant USB devices,
like USB audio or MIDI adapters, they just work.
It's just, as someone who's used Linux laptops,
this is kind of weird.
I've been using it for a little over a month
and haven't had a problem.
I use it mostly for doing things like web browsing,
video playing, code editing, compiling,
doing little test compiles, PDF viewing.
I have it on my bench as basically the thing
that I have next to me while I'm working.
There are two things though about this laptop
it really stand out.
And I've been trying Linux on laptops since the 90s.
Like parenthetically, anyone remember linuxonlaptops.com?
It was where we huddled in the cold sharing campfire stories
of almost getting audio working on corporate Toshiba
satellites or Dell Inspirons.
Now we have Linux first companies like Framework,
MNT, and System76.
But if you're scarred from past attempts
to get Linux working on a laptop,
and you have an old ThinkPad or Dell for the last few years,
there's a good chance it'll work great today.
And it'll seem much faster than the Windows that was on it.
So try that out if you wanna get back
into the Linux on laptop thing.
I think that's kind of a solved problem in many ways.
Anyway, the first really cool thing about the Framework 12
is that besides just being a fully working
modern laptop on Linux,
is the four expansion card slots on the sides.
These are essentially recessed USB-C ports
and the available expansion cards
either expose that USB-C port or USB-A or Ethernet,
HDMI, extra audio, SD card,
or storage like a little built-in thumb drive or something.
It's really neat. It totally gives that
I'm plugging a cartridge in vibe
for those of us that grew up with cartridge-based video games.
Unless you customize the laptop how you want,
if you want to have a bunch of extra built-in storage, you can.
If you want to have a whole bunch of
extra audio outputs, you can have that.
My current setup has two USB-C ports,
a USB-A port, and HDMI out.
Then any USB-C port is also a charge port,
so that's how you charge the laptop.
You can swap these out anytime you want, they're all hot swap.
I've also got an Ethernet card,
and so when I was playing around with doing
wired Ethernet to get really fast performance,
I just swapped out one of the,
I think the USB-A, and plugged in the Ethernet card and did Ethernet.
The other thing about the Framework 12 is that
the screen folds over and onto the back
and it turns into a tablet.
I wasn't even really aware about this when I got it.
And the touch screen even works in Linux.
Even though most of my uses aren't touch compatible,
it's really handy to have an instructional video
or schematic on the tablet screen while I'm working.
They just introduced a stylus that works with the laptop
when it's in tablet mode.
I've not tried this out yet.
I don't even know if it's supported under Linux,
but it's 60 bucks.
So I might get it just to see what it can do.
KiCad absolutely flies on this thing.
Using a stylus on KiCad on Linux would seem very sci-fi to me.
(laughs)
So this review isn't sponsored in any way.
I'm just happy to have a good portable Linux box
next to my, on my bench.
It's made by a company that seems to care
about repairability and upgradability,
which seems to be in short supply a lot nowadays.
So thanks, Framework.
And I've got some links in the show notes,
one of which is my very abbreviated
three-post live assembly thread.
I did when I first got this,
thinking it was gonna be like a long thing,
But no, it was only like three posts.
(laughs)
- I used Linux full time for about 10 years
and I'm with you where the stuff just sometimes works,
sometimes didn't.
So this is very tempting.
You're an Ubuntu guy, I'm a Fedora guy
and there's a distro called Project Bluefin
from Universal Blue that inherits all of Fedora
and then it's cloud native.
So they've got a lot of tools,
they've got home brew built in.
But since it inherits from Fedora
and Fedora supports this,
it's got framework support right out of the box.
So I've been keeping an eye on that distro
for a little while and tempted to get back
into Linux on the desktop.
So that's pretty cool that just everything just works.
- Yeah, on their Linux page,
they list a bunch of distros, I think 10 total.
And it's like, they have three that are like,
this is the easy version of Linux.
And then like the other ones are, they're like,
this works with a couple of asterisks.
And I think, I'm not quite sure what the asterisks are,
but I think it's like something pretty minor.
'cause most of the hardware support is in the Linux kernel.
That's not something that different distros
would be that different from.
Anyway, what's your next one for this time?
- My next one is one of my favorite pieces of tech
in my house, and it just keeps getting better.
If you're like me, you probably subscribe
to a bunch of streaming services like Netflix, Peacock,
HBO Max, Hulu, or Paramount.
Throw in a cable TV bill,
and it gets expensive really quick.
One option is to cancel your cable bill
and get your local channels via an antenna.
I've tried a number of solutions over the years since then
for watching live TV with an antenna,
including Myth TV, Kodi, and MB,
but there's one piece of software
that I think does it better than any of them,
and that's an app called Channels,
which is available at getchannels.com.
First, you'll need to get an antenna
to get over the air stations
that you hook up to a device called the HD Home Run,
which is a digital network tuner.
You plug the antenna into that,
and the TV signal is now available over your network.
Antenna prices vary and an HD Home Run box
will run you about $100 to $150
depending on which model you choose.
If you visit rabbitears.info,
it will show you a list of all the channels in your area
that you can get via antenna.
And you'll probably be surprised how many channels there are.
Next, you'll need to subscribe to channels for $80 a year,
which is $10 more a year than Plex.
Then you download the channels DVR server software,
which is available for Windows, Mac, Linux, Docker,
and a number of network attached storage devices,
including Synology, Netgear, TrueNAS, and a lot more.
So there's a little bit of cost getting started,
but if you're cutting the cord and getting rid of cable,
you probably will recoup it in just a matter of months.
Now you need to provide it with your source,
which is usually an antenna,
but if you do have a cable subscription with TV Everywhere,
that works too.
What's really neat is even when using TV Everywhere,
which is streaming over the internet,
channels will automatically detect and skip commercials
when recording via TV everywhere
and when you use an antenna.
The only catch with channels
is that if you wanna watch it on a TV,
you're going to need an Apple TV, Android TV,
or an Amazon Fire Stick,
which I can understand might be a non-starter for some.
The apps to connect the channels
and watch it on your phone or tablet,
on iOS or Android are all free.
And they make it super easy to watch it
on the go away from home
and just stream it over the internet to your device.
The iPad app also runs on Mac OS, which is nice.
I'll sometimes watch it on a second monitor
when doing something else.
But it's not just a DVR.
You can manage all of your personal media on it as well.
I have a large physical media collection
with a ton of DVDs and Blu-rays that I've ripped
and I've imported them all into channels.
Those are all the features you would expect
in a DVR and a home media server, but that's not all.
They continue to innovate and add features.
A year or two ago,
they added what they call virtual channels.
you can create your own channels with your own content.
For example, I created a Star Wars channel
that streams 10 of the movies,
or an action channel where I added the Matrix trilogy,
the John Wick movies, and more.
Now when I browse my channels
and can't decide on something to watch,
I'll sometimes just watch one of those channels
and pick up a movie halfway through,
just because I can't decide on what I want.
They also recently added in the beta, multi-view.
So you can put two channels on side by side,
which is fun on Sundays when watching football.
I can play both games at the same time.
And the newest feature is the ability
to skip intros and credits at the end,
a la Netflix, which is a nice touch.
There may be cheaper solutions out there for your DVR,
but few are as polished as channels.
I've been using it for years,
and it's one of my favorite apps
that I use almost every day.
- Wow, this is really cool.
Like it was so many years ago,
gave up standard broadcast TV because, you know,
It was during that time when everything was switching
to digital and I didn't have a digital receiver yet.
And it seemed like I was getting the sort of standard,
substandard service from just analog,
but like all the transmissions are digital.
If you can put up a little rabbit ears or whatever,
you can now have that stream to kind of any of your apps
in your house.
That's pretty cool using the HD home run
and then record it all with channels.
That's pretty cool.
Yeah.
- What's your next one for us?
All right, so synthesizers again, me and the synthesizers.
If you've ever played with Eurorack modular synths,
you'll know the name mutable instruments.
Mutable instruments was created by Emily Gillette
back in 2009, and every one of her synth modules
was interesting and useful.
They ran the gamut from oscillators and filters
and reverbs to envelopes and utility modules like mixers.
And now you can run some of them in Arduino
on a Raspberry Pi Pico.
Friend of the show and previous guest, John Park,
has an almost complete collection of the Mutable Modules,
and it fills up about two racks of space.
I think there's like 60, not 60,
like maybe 20 or 30 modules, it's a lot.
He can create such wonderful noise with all of them.
I mean, he'll occasionally send me little videos
of crazy little evolving soundscapes,
and they're just wonderful.
So because the Mutable Modules are so useful and beloved,
they became the standard kit for anyone doing modular.
And because all of her designs are open source,
several other best book manufacturers
made versions of her modules in different form factors
or with added features.
I've got a few mutable modules and a few clones.
For instance, I have a clone of the reverb module,
the cloud reverb module called Supercell
that adds extra knobs and inputs
to control even more of the reverb sound.
Like one of these you can use, you can freeze the reverb.
Like it's got like sort of the echo
that's happening of the reverb.
You can kind of freeze that and add noises to it
and reverse it and all that kind of stuff.
I also have a clone of Braids,
which is one of Mutable's most popular synth modules.
It's got all these wave tables in it.
All the wave table stuff that I've been doing
in CircuitPython is very much influenced from Braids.
The clone that I have is a much smaller size.
Braids came out, it was a fairly large module,
and in a modular synth rack, every amount of space counts,
and so I wanted a smaller one.
Some of Emily's algorithms made it into professional synths
like the Korg MicroFreak and the Polyant synth.
So you may not know Mutable,
but I bet you've heard the sounds.
So back in 2022, Emily shut down Mutable Instruments,
but her and her modules legacy lives on
and all the modules, repos, and inspiration
her circuits and algorithms have created.
Thank you, Emily.
I've learned a lot about analog electronics from you.
I've long wanted to poke around
the synth and effects algorithms that she's created,
but most of her modules are written for the STM32 chips,
a chip that I'm not that experienced with.
Fortunately, Mark Washam, aka Potaster on GitHub,
has ported some of the mutable modules
code to Arduino on the Pico.
This is great. I know that well.
It's one less barrier for me and I've
just started poking around trying stuff out.
It's really easy to get started.
If you want to start playing with this stuff immediately,
Potaster/Mark also has a little Pico-based synth board
he sells on Tindy called Scarp
that he targets for his mutable porting experiments.
It's got an OLED, two pots,
eight buttons, and LEDs.
I was pleased and surprised to see my name called out as he based some of the design of Scarp on the various synth boards I've made over the years.
Thanks, Mark. I can't wait to get deeper into the mutable synth code and links to all this stuff in the show notes.
So on the Pico, is it copying specific mutable modules?
Like, is there a code base for this module and a code base for that module that you flash?
Yeah, yeah, yeah. Exactly. Yeah.
So there's kind of two parts to these things.
There's the core algorithm that, like say,
in the case of braids,
like he's got a version of braids that he's ported.
There's the core algorithm that's generating the synth noises
and then there's the user interface of like,
you know, what knobs exist, what display, if any, exists,
what LEDs exist.
And so one of the nice things that,
I don't know if Emily did this or if Mark did this,
but there's sort of two different folders.
There's one that's just the algorithm
and others like, oh, here's the algorithm being used by, for instance, his scarf board.
So you have a concrete example of like, oh, here's how I might map a knob to control this
parameter. Here's how I might reflect this parameter on an LED or something. So yeah,
so it's both. And the fact that both are there are really handy, because just having one of the
others is, you know, not as helpful. All right, Paul, what's the last one for this post?
My last item is dissolvable 3D printed circuit boards.
Researchers at the University of Maryland have developed a new type of circuit board
using polyvinyl alcohol, which is 3D printable and which can dissolve in water.
To create the wiring on the PCB, they inject a gallium-indium metal alloy into the circuit
board's channels in liquid form and then manually place the components on the board.
They then apply a polymer glue to seal the circuits before drying the device for an hour at
60 degrees Celsius. Using this process, the researchers created working versions of a
Bluetooth speaker, a fidget toy, and an electronic three-finger gripper. A splash of water won't hurt
the circuit board. It takes up to 22 hours at room temperature to dissolve, and the researchers
were able to recover 99% of the dissolved polyvinyl alcohol. The article goes on to say that
according to a 2022 United Nations report, Asia generated 600,000 tons of used circuit boards
while recycling only 17%.
Europe and North America generated 300,000 tons
and recycled 61% in Europe and 44% in North America.
Imagine how many hobbyists create PCBs for prototyping
and what happens when you get something wrong
and have to throw the board out.
This process might start to address that.
Not to mention that if you can do this with a 3D printer,
you can speed up prototyping processes by a huge factor.
Unfortunately, you'll need a subscription
to read the article either on Apple News or at the New Scientist website, but I've linked
to both in the show notes.
This is really amazing.
I mean, like, because isn't PVA, polyvinyl alcohol, isn't PVA the standard dissolvable
filament people use when they print with soluble supports in 3D printing?
I think it is, now that you mention it.
I didn't even put that together.
I mean, I've not used it yet, because I don't have a printer that can do that really, but
this is incredible.
Yeah, it's really a shame.
It's like I've got this big shoebox full of PCBs
that I'll never use, 'cause if you're getting a PCB made,
the minimum order is five.
And so even though maybe if you want one to test with
and one to be your actual one,
you now have three left overs.
(laughs)
- Well, hopefully it comes to market sooner
rather than later.
- Yeah, it's cool.
Yeah, it's a...
(laughs)
Man, just don't let it sit out in the rain.
- Exactly.
(laughs)
Well, that's our show.
For detailed show notes and transcripts,
visit thebootloader.net.
And if you're enjoying the show, please leave a review.
It really does help the show.
Until next time, stay positive.