Welcome to The Bootloader. I'm Paul Cutler.
And I'm Tod Kurt. The show works like this. In each episode, we each bring three things we're excited to share, chatting about each one for about five minutes.
For detailed show notes and transcripts, visit the bootloader.net. Paul, what's your first one for us?
First up is openboardsguide.com, a new website dedicated to news reviews and project highlights for embedded boards and microcontrollers.
And when I say new, it's brand new having just launched last month and only has three stories so far.
But if you want to get in on the ground floor and see something grow, now is the time to check it out.
Open Board Guides is founded by David Groom, aka I ShotJR on social media.
David is or was the community editor at Make Magazine, so this is a subject I'm guessing he knows well.
The first two reviews are focused around two very different Arduino boards.
The first review is for the Arduino Ventuno, which means 21 and.
in Italian and is a nod to Arduino's birthday this year.
It's a $300 dev board with tons of storage, networking,
and the ability to hook up a monitor, mouse, and keyboard.
The article calls it a real kitchen sink dev board
with all the connections at sports,
including a 40-pin Raspberry Pi-like header.
The second review focused on the Arduino Nesso N1,
which is by M5 Stack,
who makes what I think are really neat and innovative boards.
David shared in the article that M5 launches a new board
week and has a wall to keep track of them all, which is really neat.
That NSON1 is a tiny solution that features an ESP32C6 with a 1.14-inch iPS touchscreen.
It has everything you need in a board, Wi-Fi 6, Bluetooth 5.3 low energy, infrared,
expander ports, and thread and Zigby support for your home automation projects.
And it has a Lora radio and a spot to hold the antenna built in all for 50 bucks.
And lastly, just so you don't think they're all doing a lot.
boards is a review of the Pimoroni badgeware Tufty running MicroPython.
The Tufty is the high end of three badgeware offerings from Pimoroni and features an RP 2350
with 16 megs of flash, Wi-Fi 4 and Bluetooth 5.2.
It also features a LIPO battery with integrated charging that can keep a charge going up to 12 hours with 100 days of standby and a real-time clock.
What's different about this one from the other two badges Pomerone offers is the 2.8-inch TFT IPS.
LCD screen with a 320 by 240 resolution.
This all comes in a package for about $55,
and you can even buy an add-on STEM kit for more projects with the Tufty.
The only question I have is for this particular review is who wrote it.
I came across a blue sky post from Straithe, who mentions they're an editor at the site,
and the Tufty review is their first submission.
But the byline at the top is David, so it might just be a quirk of their publishing platform.
Overall, I like the site.
The reviews are hands-on and thoughtful,
and I like at the end of each review that it concludes with a what I'd love and room for improvement section.
I'm always looking for neutral, trustworthy review sites, and there aren't a lot of folks out there doing board and microcontroller reviews.
So maybe go check this one out.
Yeah, this is great.
I like all the stuff that I shot J.R. has posted on various socials, his various publishes on making all that kind of stuff.
And I used to always get the make board guide back when the number of boards was like kind of tractable.
Now there's like an infinite number of boards.
But the board guide was always really handy to be like,
okay, this is a great way of kind of thumbing through
and see what's the kind of cool boards in the different spaces
because there's all these different ways you can use these
or do we don't kind of boards.
And I didn't even know about this Nesso N1, this M5 stack thing.
It's totally positioned to me as a great thing to use for mesh-tastic
because it's got a display and a Lora radio and a couple of buttons.
And so it could run a messtastic.
interface and it's like a nicely real device. It's not some kit yet put together.
Right. I mean, the way they've got the antenna built in and then the screen makes it a really
nice little device for 50 bucks. Yeah, yeah. So, I mean, I'm curious to see what the meshtastic folk
have, if they've seen this and like, I think porting to a new board is pretty, pretty easy.
So maybe we'll see mesh task pretty soon on it. Which case, I might get one in playing with
it because I'm always looking for a way to actually, to actually use meshastic.
Right.
As opposed to just goof it around with it.
I know.
I keep telling myself, the next time I make an Adafruit order,
I'm going to order a Lora board,
and I just haven't got around to it yet.
Totally.
But yeah, so I'm here.
I'm hoping that open boards guide,
openboardsguide.com becomes a big thing
because we need something like this.
I agree.
What's your first one for us?
My first one for this week is bump mesh.com.
So bump mesh is a web-based tool
to let you add arbitrary textures.
to your 3D printable models.
Just import an STL, pick a texture or upload your own,
adjust the texture settings,
and export your modified STL.
It's free.
It runs in your browser.
There's no service, no login, no privacy issues.
I think you can even like just download it locally
and run it entirely that way if you wanted to.
If you ever use the fuzzy texture option in your slicer
when printing a 3D model to get a more interesting surface on your prints,
you'll definitely want to try this out.
It's really cool.
So ButtMesh was created by Stefan.
from the YouTube channel, C&C Kitchen.
If you watch 3D printer or stuff at all,
you'll have probably come across this channel.
He wanted something more interesting than just the fuzzy skin.
He recognized that in 3D computer graphics,
there are these displacement maps or bump maps
that simulate the bumps and wrinkles of a surface,
and these are just black and white images,
where the pixel brightness corresponds to the height
above the normal level of the surface.
And those bump maps that exist
could actually perturb the surface of a 3D model
if you had some clever algorithm to do it, which he figured out.
And so he turned the simulated bumps and creases into actual ones.
And there are tons of existing bump map textures of out there available to try out.
But also, since the bump map is just a black and white image, or a grayscale image, I should say, you can make your own.
You can just draw something and have that be your texture.
It's pretty cool.
So in bump mesh, the web app, when you're actually using it, once you pick a texture map, you can adjust the many parameters of it.
So it wraps around your model in the way that makes sense.
sense, like if you're making a, like if you have a brick texture for the sides of the,
of your model, you might not want to have the top be a brick texture, for instance.
You can also adjust the various scaling and how it joins at the edges.
So the, like the bricks line up at the edges, if it's a sort of a right angle or something.
There's a built-in 3D visualizer, so you can see all these changes in real time.
And it's doing, like, using the bump maps as 3D graphics originally intended them to be.
But there's also a mode to show you what the 3D printable.
like deformed STL would look like as well.
And then you just click export.
It's a lot of fun.
You can try out different textures.
There's a bunch of textures like sort of built into the app,
but you can add your own really,
be really easy.
And even just for simple shapes like spheres and cubes,
you can make them look totally different
by making them look all weird and, you know,
made of rock or made of wood or something.
So this is highly recommended a great way of adding detail
to your 3D models without having to model that detail in the CAD program.
That's really neat.
Yeah.
When you say the word bump maps, it takes me back to the early days of OpenGL and Direct 3D
when 3D video cards were just becoming a thing.
But it's so neat to see, you know, 30 years later to see the similar technology being employed
in such a novel way.
Just even having thought this thing up and then actually create the algorithm that does
it as just ingenious.
Yeah, I think it's like, I think it's pretty easy.
I mean, the fact that we can render 3D models with bump maps and shading and all this
stuff just in your browser is kind of bonkers. And so I think it's like a pretty well-hewn
path for him to be able to like modify the STL. But yeah, it's a so cool. So what's your next
one for the for this time? As listeners know, I'm a big music fan. And in addition to my record
collection, I have a large collection of CDs I've ripped and imported into Apple Music. Plus
everything I've ever bought there as well. But the music app on macOS does not bring me joy. And I'm
always looking for an alternative.
Parachord is one alternative.
It's an electron app that runs on Windows,
Mac, and Linux and connects multiple music services
into one user experience.
You can connect and sync your Apple Music
and or Spotify accounts,
so everything that was available for streaming
can be streamed by Parachord as well,
and you can point it at a local library,
and you can also link your band camp
and YouTube accounts.
I don't know about Spotify, but be warned,
sinking my large Apple music collection
of about 34,000 songs,
took a while. I should have timed it, but I feel like it was at least 15 minutes. The UI itself is a little
bit sluggish. It is an electron app after all, but from clicking playlist to my collection, for example,
can take a good three to five seconds, which feels like forever. I don't know if it's the size of my
collection or if it's because it's an electron app, but I'm running this on an M4 Mac Mini,
so it's not like it's an old machine. Overall, though, I do like the user experience. It's exactly what
you would expect a music library app to be, and it makes easy to switch between albums,
artists, and playlists. When you're looking at your library, it will have an icon for where you
can stream it, Apple Music, BandCamp, or YouTube, for example. But BandCamp and YouTube actually
punch you out to a browser for streaming. They're not integrated in the app like Apple Music
and Spotify are, or like using your local library. It's got a neat Discover feature with a few
different categories such as fresh drops, new songs by artists in your collection, or recommendations,
which if you use Last FM or Listen Brains,
it will learn what you like from what you listen to.
And lastly, you will either love this or hate it,
but it does have some AI features built in.
It looks like Claude assisted in writing the code as well.
The AI features include an MCP server.
I used my Cloud API key to test it out,
and you can interact with your collection right from Claude on the desktop.
For example, I asked it, how many songs by prints do I have?
And it came back and didn't hallucinate.
It actually had it right.
It uses AI as a chatbot to play music, manage the queue, or discover new music.
When you do open the chat bot, you'll notice the Share My Data is defaulted to off, which is a nice touch, but you can opt into telemetry if you want.
You can also use Olamma locally as a model or any of the other three big AI companies if you have an API key.
It features a plug-in architecture allowing add-ons like connecting to bands in town or songkick to see what concerts will be coming to your town.
Overall, I really like it, though it can be a bit sluggish, like I mentioned at times.
If you're looking for an alternative to the Apple Music or Spotify default experience,
Parachord is worth checking out.
This is cool.
I've been so frustrated of the years because I've been using Apple music since it was called iTunes
back in the early 2000s or whatever.
And it used to be the best way of organizing your music, at least to me,
because back when it was just like you had your directory full of MP3s or whatever.
Right.
It seemed to be like a very straightforward way of categories and stuff and let you,
let you reorganize things in a pretty seamless way.
But man, it's just gotten weirder because they've added a bunch of services on top of it that I'm just not interested in.
And so it's nice to have an alternative.
I think the sluggishness might just be they have not optimized it yet for large libraries.
And so maybe they'll figure out a way to do that because that just sounds like a large data problem.
Yeah, it very well could be.
And I do have a large library, so it wouldn't surprise me one bit.
Totally.
What's your next one for us?
All right.
Speaking of cross-platform apps,
I got a little bit of shameless self-promotion.
I wrote a cross-platform app for Mac, Windows, and Linux,
called Serial Plotster.
If you can hear the scare quotes around Plotster,
I'll describe that later.
It's a data graphing app for use with Arduino, MicroPython,
CircuitPython, similar boards.
If your project spits out data, this app can graph it.
And it's a very tiny download at 10 megabytes.
and it launches really fast.
These are aspects that are very important to me.
So back in 2015, one of the best additions to the Arduino IDE
that was added was the serial plotter.
Just print a value in your Arduino sketch,
and you can see a cool plot of it.
Add more values with commas,
and now you've got a multi-series real-time plot of those values against each other.
The obvious use is data logging,
but I find it really helpful for debugging.
Being able to see how a value changes graphically
just hits different than watching scrolling numbers.
it's also much easier to catch when you've got a glitch and a value that should be set at a certain value or smoothly moving, suddenly jumps to like a max or a man.
But as I started working more in CircuitPython and MicroPython, I lost the plotter.
I tried using the Arduino plotter, but it's very helpful in grabbing the serial port, making connecting back to the REPL really frustrating.
On the Mu editor, it's got a nice plotter, but it's also pretty port grabby because it expects you that you're just living in the Mu editor editing your,
CircuitPython and the repel and graphing, all that kind of stuff.
Thonny editor got a plotter in 2019 inspired by Mu, but I've never liked Thonny for much.
I've never really inspected why.
I don't like it, but I'm not a big, big Thonny fan.
So clearly plotters are a useful thing.
All these I dees have them, but I want to use my own editor.
I don't really want a huge IDE that may or may not have a plotter extension.
So every once in a while, I'd go looking for plotter apps.
There are a few, but they're the weird,
or abandoned now or they're web-based,
which means they have to use Chromium,
and I'm not a Chrome user.
I use Firefox and Safari.
But one really great web-based one
is called Web Serial Plotter
by Atomic 14 on GitHub.
If you run a chromium-based browser
that supports WebSereal
and if you like web apps,
it's a great solution,
no need to look further.
But I wanted an actual application
on my desktops for both Mac and Linux.
I've built many of these in the past,
My normal tool of choice is Electron because, as you know, it lets you write JavaScript to make a desktop app.
It's really easy to get going.
This is great, but it means the app ends up being over 200 megabytes in size just for like a hello world
because you're shipping a whole chromium browser that's just wearing your applications close.
It's also slowed up at launch, as you might expect, and it takes up a lot of RAM.
So I always feel a little bit gross writing electron.
It just feels inefficient.
If I write three or four little handy tools for myself using electron,
suddenly I'm using up all the RAM and CPU of my computer.
But there's an alternative I've been playing with lately called Tori, Tauri, T-A-U-R-I,
which is the same ideas as Electron, but it uses Rust for the OS-specific stuff,
and the OS's built-in web renderer for your apps GUI.
So if you're experienced with making web apps,
90% of your skills and processes stay the same.
But if you can figure out that last 10% that's Rust,
you're rewarded with an app that's literally 20 times smaller
and has a tiny RAM and CPU usage footprint.
But I don't know Rust.
I know just enough to know I don't know anything about Rust.
I banged on adapting the concepts of the Web Serial Plotter Project to Towery
and got it sort of working,
but was ruining up against my lack of knowledge
and my lack of modern web development skills.
So I brought in cloud code like everyone does now and asked it to figure out what I was doing wrong.
And it was quite helpful.
It rewrote huge swaths of my Rust code and cleaned up a lot of how I was using React objects in the GUI.
Turns out, I don't know React nearly as well as I thought I did.
And then, most importantly, it helped me write a barrage of tests for the data parser in Rust.
Because parsing all this data is because it can support many different formats of data, the parser is a little bit complicated.
and so having a set of tests for that is great.
Now that I can have tests written for me,
I've been much more of a fan of projects having test suite.
Everything should have tests now
because you can just ask an AI to write the test for us.
So anyway, there's this app now.
Thanks Atomic 14 for the web serial plotter.
It was the basis for what I made with Serial Plotster.
It looks like that he also used Cloud Code to help write it
and released it all under the GPL3.
So Serial Plotster is also GPL3, and you can download pre-built and signed binaries for MacOS, Linux, and Windows.
And if you like it, let me know.
If you use it, let me know.
This is kind of a niche tool.
If you have any suggestions for improvements or fixes, also please let me know.
Well done.
And if you want to see it in action, check out the April 30th, JPs workshop on the Adafruit YouTube channel.
He demoed Serial Plotster on his show as well, so you can actually see it.
The thing that you don't mention is you kind of complained about how some of the other apps you would grab the serial port.
How is Serial Plotster a little different in that regard?
So the sort of normal way that I'm used to dealing with things that access serial ports is you've got a connect button and a disconnect button.
And you have to explicitly press the connect button and you use the serial port and then you press the disconnect button when you're done to use a serial port.
But in Arduino and stuff, it's more like you just set which.
port you want to use and it tries to use the port all the time. And it's really hard to get it
for you to say no. There's no explicit disconnect button because the assumption is like, oh,
once you've hooked up a board, you're going to be interacting with that board entirely with
Arduino or with Moo or something. And so it doesn't really have the concept of multi-application
use of the serial port. So that's all. It's a more friendly way of doing stuff with serial port-based
projects, but it also makes it hard for things when I do things like me, where I like have
my terminal program, looks at the REPL, and then my serial plotter looks at the, looks at the
serial port.
So I am.
So Paul, what's your, your third one for this week?
When my kids were younger, I was always introducing them to my hobbies and interests with
limited success.
I didn't become a maker until they were almost fully grown, but if I had younger kids,
I definitely introduced them to picoCAD 2.
PicoCAD 2 is an app, I won't call it a game that's sold on Steam and Itchio for just under $15.
PicoCad 2 is available on Mac or Windows and it just came out over a month ago.
It describes itself as focused on the bare essentials of 3D modeling, blending simplicity with creativity,
allowing you to make low-poly 3D models with just a few clicks.
I've included a link to a two-minute feature video on YouTube that shows it in action.
Picoad 2 features a CAD tool set you'd expect where you can.
can draw lines to create shapes and then fill them in with textures and colors.
The homepage and video highlights a big reg truck and trailer with a spinning GameCube
animation as well.
picoCAD 2 has three main modes, modeling, texturing, and animating.
You start with modeling, add the textures, and then you can animate the final model,
and you can even make it a spinning GIF in PicoCad 2 to show off your new model and share it.
I've also included links to its manual and a five-minute YouTube video that gets you up and
running pretty quickly.
One of the neatest features, I think, is the ability to export your models in GLTG or OBJ
slash MTL and ping sprite sheets so it can be imported into popular game engines.
So many kids out there are always wanting to build their own games.
Well, here's a nice little first step of building blocks to getting game assets.
For only $15, I wish my kids were still young enough or interested in something like
picoCAD 2.
Check it out.
Yeah, this is really neat.
I've seen a lot of kids who love to like make, build stuff in Minecraft,
but Minecraft is sort of its own little thing.
And also its way of doing stuff is voxels based where you're not,
you're not doing normal modeling.
You're doing these like, you know,
let's stack a bunch of Lego bricks on top of each other essentially,
which is cool.
But it's not how most video games are done.
It's not how like Cat has done.
This is,
this looks almost more like my first blender.
Because it's got a lot of the same workflow as blender where you're,
you're,
creating these shapes and you're putting the textures on them and you're animating them.
I'd almost call it more blender than CAD because, like to me,
CAD implies a sort of parametricness and dependency tree aspect, which I've not yet seen in
PicoCAD, but this is really, really fascinating.
Yeah, the fact that it can be used, the output can be used in actual game engines.
It's pretty cool.
Yeah.
It's just really neat building blocks.
And like you said, it reminds you a blender.
You could start with this, get good with it,
and then graduate to something like a blender,
or maybe even a Fusion 360 if you wanted to get into the CAD part more.
Totally.
Yeah, this is really great.
All right, what's your last one for us?
Okay, so there's some new research in 3D printer model slicing
that I just learned about called wave overhangs.
It lets you print steep overhangs without supports.
The 3D printer tool pass that it creates are generated recursively
using wave propagation theory
instead of the standard layer stacking technique used today.
This is a big change to how we normally think of 3D printing.
And if it ends up actually being useful,
could cause 30 printers to be designed differently.
You can try right now.
There's a custom fork of orca slicer you can download
that has the wave overhangs stuff built into it.
So as a little bit of refresher,
process of turning a 3D model into instructions for a 3D printer
is called slicing because traditionally the process
divides the model into a series of horizontal layers,
and the 3D printers prints out those layers,
stacking them up on top of each other.
Now, Steve Overhangs present a problem
because there's a part of a layer
that's just floating in space
without anything holding it up.
If you try to print this,
you'll get a messed up print
because the plastic will just fall to the ground.
So Slicer software will typically
give you the option to print these disposable supports
to hold up these parts.
And getting the supports off can be tricky
because it's just plastic also,
so it'll stick together.
And generally the surface finish
of those overhang areas
are worse than the
other parts of the print.
So this 3D object
to 2D layer stack process has made that almost
all printers have been designed to be fast
in the X, Y part of the printer,
and slow in the Z dimension, as that
is the part that just moves to the next layer.
But the wave overhangs
process makes slicing a truly
3D operation. The exterior
of the model becomes sort of a wavefront
that ripples into the model
until it meets another wavefront to fill a
recursive wavefront spawn from the cusp or two waves meet.
And these waves kind of become the tool paths of how the plastic is laid down.
It's extremely clever, but this means your 3D printer Z axis is going to be working as hard as the X, Y axis,
potentially.
The task of laying down plastic is no longer just putting down stacks of layers,
but these complicated blooms of moves in three dimensions.
The plastic sort of blossoms out to create the overhang, so there's never any fully unsupported
plastic. I've not tried this out yet with an actual 3D printer as I just discovered this,
but I have downloaded the Wave Overhangs fork of Orca Slicer and I sliced a few simple
models with it, and it's really cool to look at the resulting tool paths. It's just, in fact,
some of the, some of the G-code renders can't quite display it because it's expecting layer-based
kind of ideas. So I had to, like, I had to like export it to G-code and load it into the
the Prusa G-G-code slicer because it actually could render it soMuhat. I, I had to, I had to,
I think it might be a really interesting addition in sliders going forward as we see a bunch of,
and we'll see people start to redesign how things are made.
Because right now there's this huge preference to not do overhangs on 3D printed objects
because you'll have to add supports and supports takes time and make sure the part look kind of crappy.
But one of the challenges I think of this technique is that it could cause warping because
because of the way that these overhangs work, it creates these lines of filament that sort of wrap around
help support from above the overhang.
And when plastic cools, it cools along the extrusion length.
And so with these wrapping around, it'll sort of like pull up the overhung part and kind of
make them, instead of being like, if it's a right angle out, it might pull them up a little bit.
I think, I think there's a way to fix this, but it'll be, it'll be interesting to see how they fix it.
If you go to the waveoverhangs.com in there's a gallery section, you can see some of the
warping happen, but I'm sure they'll fix it.
It feels like just yesterday we got tree supports, which were a major evolution in
supports, and now we actually have it evolving even more where we might not even have to
have supports, which is just great.
Yeah.
But this is hot off the press.
I mean, this article just came out or the projects.
Yeah, yeah, yeah.
It's from a thesis research project that's like maybe from a month ago.
So it's definitely we're checking out.
I want to get my hands on orcas slicer as well.
I didn't realize that there was a new version of orcus slicer that supported that.
Oh, no, yeah.
This is a custom fork of an orchestra.
It's not the real one.
Got it.
So, yeah, you're going to have to like, yeah, run two different versions if you already use orcisler.
There's a nice Hackaday article about it as well, but there are also the Wave Overhanging site.
It goes into a lot of good detail about it.
And, of course, you could read the research paper if you wanted to.
That's our show for detailed show notes and transcripts,
visit the bootloader.net.
Until next time, stay positive.