Skip to content

Episode 32 - Wave of Mutilation

Welcome to the show

Published: May 4th, 2026

In this episode, Tod and Paul discuss adding textures to your 3D prints, an open source music player, a new cross-platform serial plotter, and more.

Follow the show on Mastodon or Bluesky.

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

Full transcript available here.

Listen to the podcast

Show Notes

00:20 Open BoardsGuide (Paul #1)

Open Boards Guide is a brand new website from David Groom (aka "ishotjr") focused on news, reviews, and project highlights on embedded development boards.

4:49 BumpMesh.com (Tod #1)

BumpMesh.com 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's settings, and export your modified STL. It's free. Runs in your browser, no service, no login, no privacy issues. If you've ever used the "Fuzzy Texture" option when printing a 3d model to get a more interesting surface to your models, you'll definitely want to try this out. It's really cool!

BumpMesh is created by Stefan from the Youtube channel CNCKitchen. He wanted something more interesting that just fuzzy skin. He recognized that in 3d computer graphics, the displacement maps or "bump maps" that simulate bumps and wrinkles are just black-and-white images, where pixel brightness corresponds to "height" above the normal level of a surface. And that those bump maps could actually perturb the surface of a 3d model. You can turn simulated bumps and creases into actual ones! And there are tons of existing bump map textures available to try out. Also, a bump map is just a black-n-white image, you can easily make your own.

In BumpMesh once you pick a texture map, you can adjust many parameters of it so it wraps around your model in a way that makes sense. For instance, if you've picked a "brick wall" texture, you may not want it on the top & bottom of your model, and you may want to adjust how the texture lines up on the edges. There's a built-in 3d visualizer so you can see your changes in real time. It's tons of fun to try out different textures on even simple shapes like spheres and cubes.

Highly recommended as a way of adding detail to your 3d shapes without having to model that detail in CAD.

8:10 Parachord Music Player (Paul #2)

Parachord is a music library app written using Electron and runs on Windows, Mac, and Linux. Parachord is open source, licensed under the liberal MIT license. What makes it unique is that it's a multi-source music player, meaning you can connect your Spotify or Apple Music libraries to it, as well as local music, Bandcamp, and YouTube.

11:51 SerialPlotster (Tod #2)

Time for some shameless self-promotion. I "wrote" an cross-platofrm app for Mac, Windows, and Linux called SerialPlotster. It's a data graphing app for use with Arduino, MicroPython, CircuitPython, and similar boards. If your project spits out data, this app can graph it. It's a very tiny download at ~10 MB and launches fast.

Back in 2015, one of the best additions to the Arduino IDE was added: the Serial Plotter. Just a print a value in your Arduino sketch and you could see a cool plot of it. Add more values and now you have 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 hits different than just watching scrolling numbers.

As I started doing CircuitPython & Micropython stuff, I lost the plotter. I tried the Arduino plotter but it's too "helpful" in grabbing the serial port, making connecting back to the REPL frustrating. Or try the Mu editor's nice plotter, but it's also port grabby. The Thonny editor got a plotter in 2019, inspired by Mu, but I just don't like Thonny for reasons I've not inspected.

So clearly plotters ae a useful thing, as all these IDEs had them. I want to use my own choice of editor and 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 either weird, abandoned, or web-based.

One really great web-based one is called Web Serial Plotter by atomic14. If you run a Chromium-based browser that supports WebSerial and like web apps, it's a great solution. No need to look further.

I wanted an actual application on my desktops, both Mac and Linux. I've built many of these in the past. My normal tool of choice is Electron, which as you may know, let's you write Javascript to make a desktop app. This is great but means the app ends up being over 200 MB in size because it's actually just Chromium wearing your app's clothes. It's also slow to launch and takes up a lot of RAM. I always feel kinda gross writing in Electron.

The alternative I've been playing with lately is called Tauri, which uses Rust for the OS-specific stuff and the OS's built-in web renderer for your app's GUI. If you're experienced with making web apps, 90% of your skills and process stay the same. But if you can figure out that 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. I banged on adapting the concepts of web-serial-plotter to Tauri and got it sorta working but was running up against my lack of knowledge and my lack of modern web development skills. So I brought in Claude Code and asked it figure out what I was doing wrong. It was quite helpful! It rewrote huge swaths of my code, most all of my Rust, and cleaned up how I was using my React objects in the GUI. And then, most importantly, it helped me write a huge barrage of tests for the data parser in Rust. Now that I can have tests written for me, I've been much more of a fan of projects having a test suite.

So anyway, thanks atomic14 for Web Serial Plotter. It looks like you also used Claude to help you write it and released it under GPL3. SerialPlotster is also on GPL3 and you can download pre-built and signed binaries for MacOS, Windows, and Linux. If you like it, let me know! If you have any suggestions for improvements or fixes, also let me know!

18:19 picoCAD 2 (Paul #3)

picoCAD 2 is a 3D modeling tool lets you make low poly models. As its description says, it's meant to be "a fun, easy, and accessible 3D modeller focusing on the bare essentials". You can create retro-style models using its built-in texture editor and you can animate your models and export them to GIFs. You can also export them in OBJ/MTL or GLTF and import them into modern game engines to create your own game assets, as well as being able to export the sprite sheets.

It's available for $14.95 on Steam or itch.io.

21:13 WaveOverhangs (Tod #3)

There's some new research in 3D printer model slicing that just came to my attention called [WaveOverhangs]((https://waveoverhangs.com). It lets you print steep overhangs without supports. 3D printer toolpaths are generated recursively based on wave‑propagation theory, instead of the standard layer stacking used today. This is a big change to how we normally think of 3d printing and if it ends up being actually useful, could cause 3D printers to be designed differently. You can try it right now with a custom fork of OrcaSlicer that has WaveOverhangs built in.

The 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 printer prints out those layers, stacking them up on top of each other. Steep overhangs present a problem because there's now part of alayer that's just floating in space without anything holding it up. If you try to print this, you'll get a messed up print. So slicer software will print disposable supports to hold up these parts. Getting off the supports can be tricky and the surface finish of those overhangs is always worse than other parts of the print.

This "3D object to 2D layer stack" process has meant that most all printers are designed to be fast in the XY part of the printer and slow in the Z dimension, as that just moves to the next layer. The WaveOverhangs 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 the shape, recursive wavefronts spawn from the cusp of where two waves meet. It's extremely clever but this means your 3D printer's Z-axis will be working as hard as its XY axes! The task of laying down plastic is no longer putting down stacks of layers but these complicated "blooms" of moves in 3D. The plastic sort of blossoms out to create the overhang, so there's never any fully unsupported plastic.

I've not tried this with an actual 3D printer yet, as I just discovered this. But I have downloaded the WaveOverhangs fork of OrcaSlicer and have sliced a few simple models with it. It's really interesting to look at the resulting toolpaths! One of the main issues I can imagine will be a problem is warping. As the plastic cools it shrinks along the direction of its extrusion. With these wave-like shapes that produce the overhanges, there's a lot of extruded plastic "pulling up" on that overhang. Some of the example prints on WaveOverhangs.com you can see this warping happen. But I'm sure there will be techniques to address this soon.