Episode 30 Transcript - Spin the Black Circle
Paul Cutler
Welcome to The Bootloader. I'm Paul Cutler.
Tod Kurt
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 thebootloader.net. Paul was your first one for us?
Paul Cutler
If there was a Venn diagram for two of my passions, open source and music, it would probably fit in one perfect circle. When you look at most of my Python and CircuitPython projects, they're mostly music-related in some way. So when I read the article on Hackster.io by Gareth Halfacree about an open-source record player slash turntable called the Statomatic STAMO-1, My Ears Perked Up. Patrick Nelson started this project about four years ago and then got stuck. But now he's back and he's documenting all of his progress to build an open-source turntable. His project goals when he started four years ago included only 7-inch records at 33 to 3rd RPM or 45 RPM, so the little 45s. He wanted a full-sized LP expansion, and he built in expansion ports for things like record changers, alarm clocks, and preamps. I shouldn't say that he built them in, but he planned for them. He wanted to also have automatic capabilities, so the tone arm would lift and stop and lift on its own again. And then he wanted it easily sourced or made parts. So all the design files are open source, including the PCB files. He started the project with a piece of cardboard shape like a record player with cutouts for the tone arm, the platter and buttons. He then moved on to designing the vertical movement for the tone arm. This lifts and lowers the tone arm and its record needle onto the record to play or stop playing. After that he needed to design the horizontal movement, which is a lot more complicated than the vertical movement and he shares how he placed the tone arm at the correct edge of the record for playing. He also shared the custom PCB he designed, which was his first ever PCB, which he future-proofed by adding support for other record sizes too. It's almost all surface-mounted components and in a later video Patrick introduces a second version of the PCB. The turntable used an Arduino as the brain of the project. From there it was time to work on the turntable itself. He built the tone arm mechanism into the cardboard box prototype and it worked. He even added a seven-segment display so you could see how fast the turntable was turning. Patrick walks through how he assembled the motor and pulleys with the turntable. With that done, the turntable was working except for getting it to the right speed was giving him some trouble. This took to where he left off four years ago. The record player could play seven-inch records at 33 and a third or 45 RPM. That was the first video, which was about 20 minutes long. In the second video, which is about the same length, he talks about the revisions to the record player, like being able to play all record sizes at varying speeds. Patrick picks up from where he left off a few years ago and shares a few more challenges as well that he needed to work on. This included the pickup sensor that lifts the tone arm. He was able to make it work by putting the tone arm to play, but had some challenges to overcome on when the tone arm picked up after finishing playing the record. After watching the first three videos, you're left with the first two prototypes that Patrick got working. He then states that in the last couple of years since he had to put the project on hold, that he has more and different ideas on how to build the turntable and wants to start over from scratch. The next couple of videos in the series on building the tone arm and lift mechanism for it kick off the redesign. One of the things I didn't really touch on is Patrick's goal to keep the turntable modular. He envisions that the turntable itself is pretty basic, but then there are five adapter ports. He throws out some ideas for external modules such as a record flipper, a changer, a preamp, a remote control, a control panel of some kind, and more. This is a project I'm going to keep my eye on. Patrick is still very young in his journey to build an open source turntable, but he's got all his progress listed on his GitHub repository, and he's about a third done. Depending on how much the bill of material ends up being for the project, this is one that I'm itching to build myself.
Tod Kurt
This is really neat. Like, I think one of the first mechanisms that entranced me as a kid was this little suitcase record player that had the automatic changing capability where it would lift up the tone arm and move it out of the way. And then the record would like come over, come out and one would drop down. And it's like, like, we don't normally, we don't often see open source mechanisms. Usually the stuff we talk about is software, the little, their little touch. any PCBs, but this is an actual mechanism as well. That's pretty interesting and hard to do.
Paul Cutler
Right. And I mentioned at the beginning of the article that I came across this via Gareth Halfacree, who wrote it up on Hackster.io I'll link to his Mastodon profile. And if you enjoy this podcast, give Gareth a follow on Mastodon. I think you'll enjoy the articles that he posts
Tod Kurt
I keep meaning to go to Hackster regularly because they're always posting really cool news, but I sometimes forget. So it's good to see his follow-ups.
Paul Cutler
What's your first one for us, Tod?
Tod Kurt
So I have a new favorite Wi-Fi dev board. It's the ESP-32 S3-Touch LCD2 by WaveShare, and it runs this fun new OS called Micropython OS. So this board, the ESP32-S3-Touch-LCD-2, what a mouthful, is about the size of a candy bar, It has a 2-inch 320 by 240 cap-touch screen bonded on top of what's a pretty much standard ESP 32 S3 Devboard, but it's maxed out. It's got 8 megs of PS-RAM, 16 megs of flash, it's got an SD card reader and a 5-mixel camera. The 5-meg camera is on a socket so you can take it out if you don't want it. It's also got onboard accelerometer and lithium battery management, so it could be like a little standalone thing, all for $22. It comes with header pins already soldered. As you imagine, it's a pretty dense board, so it's a good thing you don't have to solder that. So you can plug it into a breadboard, but if you do, you'll have to take the camera module off because the camera sticks out farther than the header pins. Or you could have it like do that some people do with ESP32s where they have the ESP32 devboards straddle to breadboards. So it's blank in the middle. But I think most uses for this will be kind of using it just standalone by itself with a module placed into some sort of an enclosure. There's so much of 3D printed enclosures on Maker World and printables already. without too much else hooked up to it. Unlike one of my other previous favorite ESP 32 boards, this one's display is only hooked up via SPI, not parallel bus, so you can't get those blistering fast animations or quick updates in circuit Python, which I like. But it still works, it's pretty serviceable. The CapTouch driver is really nice. It's actually pretty high-res, and it's multi-touch, I believe. The display and SD card do share the same SPI bus, so it's not as fast as it could be, you'll be streaming video to the SD card probably. But it's good enough for like time lapse and still photos, things like that. And there's already a basic Circuit Python firmware for it. You can go and download right now and install onto it. It sets up the display and works out of the box because it's pretty much just a standard ESP 32 S3 devboard, which means it shows up as a USB device and a USB hard drive to your computer. But it doesn't set up the touch screen for Circuit Python, but there is a separately downloadable Circuit Python touch library that works for that. But what's really neat about this particular WaveShare module is that it's the main target platform for Micropython OS. MicroPython OS is attempting to provide an Android-like experience for ESP32 sized devices that have touchscreens, a complete UI system with touch gestures, an app store, over-the-air updates, and APIs like battery manager, app manager, input manager, and so on to make writing new apps in Micropython pretty nice. when I first started following Micropython OS a month ago, it only supported this board. But now it fully supports six different boards and six more coming soon. With two of these are smartwatch style ESP32 Gizmos from Liligo, another popular maker of little Wi-Fi dev boards. And so we could be having a full Micropython Android-like OS on a smartwatch soon, like within the next month or two. It's pretty cool. I've been poking around the docs and playing around with the Rupple because you can just, you know, it's a Micropython board. You can just log into it as well as while it's running the OS. You can just just poke around. And it seems pretty reasonable. The API docs are really good. I might try writing a little app for it. But mostly I've been playing around with this WaveShared dev board because it's just nice. It's really sort of fundamentally changes a display when you can touch it and have that be the input, you know, instead of happy to have buttons on the side or knobs on the side or whatever. So I've been having fun just playing with just my own little code of like I make little buttons that I push on them. Yeah, so there'll be links on this in the show notes. If you want to see something that is like kind of like this in circuit Python, a while back, Tim, aka Foamy Guy at Adafruit wrote Fruit JamOS, which many people have contributed apps to. And so it's got sort of a similar thing with as an app launcher and different programs run inside of this Fruit Jam OS. But yeah, this, this, this, this, this, This Micropython OS seems to be taking a much more standard OS approach to things. And it's really interesting to see a high-level OS. Like usually we think of OS. This is something fairly low-level. And this is in Python, in Micropython.
Paul Cutler
I think the two really neat things about Micropython OS are that it's a touch-first kind of experience.
Tod Kurt
Yeah.
Paul Cutler
But they're designing it with that in mind. And then two is the App Store. There are so many Micropython apps out there that it would be great to kind of get the cream of the crop. in one place that you know it's coming from a trusted source as well.
Tod Kurt
Yeah, yeah. Getting sort of a standardize. Like one of the downsides of Micropython I'd say is that it's fairly fragmented. There isn't sort of like one place to go for some stuff. And so it'd be cool to see some of these more complicated things being ported to Micropython OS and it kind of becomes the place you go to look for a particular Micropython concept. All right, Paul, what's your next one for this time?
Paul Cutler
I have a couple 3D printing stories to share. I'm a pretty big AI skeptic as I'm not a really big fan of the plagiarism machine that hallucinates. But two projects I saw left me thinking that this was the neat use of AI. The first comes via Ellen Shapiro on Mastodon, who shared tooltrace.com. When you visit the site, the tagline is toolbox inserts made in one click. You put your tools on an 8.5 by 11 inch piece of paper, take a photo and upload it, and then it generates a gridfinity bin or foam shadow box for you based on the tools in the picture. You can then download the model to 3D print it. There's a free plan that gets you three active tool traces you can output in DXF, SVG, or STL, and a paid program at $8 a month that gives you unlimited tool traces and some advanced features. Kind of neat how AI can just figure out from a picture. This is what a 3D model should look like. The next one is from Tom's hardware is a story about researchers. at Carnegie Mellon University's Department of Mechanical Engineering that have created a system that uses multiple large language models to monitor and correct 3D printers in real time. This story is kind of crazy. They used four different LLM agents with a supervising agent. The first agent takes a picture after each layer is printed and looks at the quality and for defects. Another agent looks at the printer settings to see if anything needs to be adjusted. From there, a solution planner agent creates an action plan to fix the prints and hands that off to an executor agent, which uses the 3D printer's API to manage the print. The article also points out that it does not use a custom LLM trained on a specialized dataset. It's using the base chat GPT-4-O model and some generalized prompts the Carnegie Mellon team has come up with. Now, that's a pretty cool use of AI. Lastly, again via Gareth Halfacree at Hackster.io, he shares a story from Creality that they've developed the holy grail for 3D printers, a shredder and a filament maker. Throw your waste filament in the shredder and it will use a dry crush approach to render them into less than 4mm feedstock. You then feed this into the filament maker and you'll be able to produce up to about one kilo of filament per hour. Sounds like alchemy to me turning lead into gold, but of course, Creality hasn't shared release dates or pricing yet.
Tod Kurt
This, everything is AI. Really kind of bugs me. Like, I love all three of these projects, But the first one where you can make tool inserts, kind of in one click, is a classic use of standard computer vision that's been around for like 20 years, 20 plus years. And as someone who used to do this kind of stuff, it really kind of frustrates me that the standard machine learning techniques are being just called AI. And like maybe it is doing something with a transformer model, LLM style, or maybe it's just doing standard open CV machine learning stuff. you know, and just, I really wish we had better disambiguation to the terms because I'm like, you know, like some of the stuff that runs locally on your box that's very small and can be, can even be run on a micro controller. Do we call that AI? I don't know. I don't think so. I think I'd rather call it some sort of machine learning. But who knows what this is actually doing. It might be feeding the whole image to Chad GBT, and saying draw outlines around all the tools.
Paul Cutler
I share your frustration with the term AI. My spouse is pursuing her doctorate in machine learning. And we have this conversation all the time where I'm swearing about AI and AI is bad. And she's like, but AI can be used for good. And if you look at the work she's doing, it's all weather related, for example. Can they predict the direction that a fire will go, for example? And I'm like, that's machine learning. And so, yeah, we bucket everything as AI to our Dutch. term, probably. It's frustrating.
Tod Kurt
I mean, I mean, it's cool. It's cool. We can have these things. I mean, the, the, the, using the 3D printing, using A out of fixed 3D printing tools also feels like a like a classic sort of computer vision machine learning task that they're just using, let's use four LLMs against it instead. Seems a little overkill, but okay, whatever, man. You know, you got your, your chat, GBT tokens. You got to use them up. That's right. What's your next one for us? The clever folks at Teenage Engineering that makes synthesizers have released an interesting little musical toy, musical microphone toy. It's the first commercial product for Normies that I've seen that is running Micropython under the hood. And lets you get out that micropython it runs. It's called the Ting E.P. 2350. And if you know anything about microcontrollers, that name might ring a little bit of a bell. The Ting E.P. 2350 costs about 60 bucks and looks like a handset of a CB radio. But it's got three extra buttons on the side, in addition to the talk switch. You plug its curly cable into your mixer or audio input to a speaker or something, and you press the talk switch. Your voice can be altered in a bunch of different ways. Here's an example. Here's a echo. Here's distortion. This is reverb. This is single sideband. This is distortion and ring modulation. Distortion and ring modulation. And this is single side band. down J-Tac. And then it can also play some sound effects like... And so on. So anyway, so as you hear, you got four different sound effects. You can play, you can trigger, and it's got four different samples you can trigger, and it's got four different sound effects you can apply to your voice or to the sample that you've triggered. There are four LEDs on it that let you show which, which audio effect is currently in play, and it's got four LEDs to show you which audio sample is currently set up to trigger. And there are inputs where you can use either the talk switch or shaking it to act as modifiers to change how the sound plays back. And the list of audio effects is pretty extensive. There's echo delay with adjustable EQ, feedback and wet level. There's distortion with gain and EQ, harmonizer for repitching. There's reverb with EQ and spring emulation. There's re-delayment. There's ring modulation, single sideband, and single sideband for that sci-fi hymn radio thing that I just demoed. And if you notice the list of sound effects and their parameters are greater than the number of the slots available, so how do you reconcile this? Well, if you plug the ting into your computer, it shows up like a thumb drive, just like a Python. And if you edit a config.json file on that drive, that specifies what effects should be in which slot, how its settings should be, and how the handle and shaking input should map to those settings. Oh, and you can also chain the effect, It's not just one effect per slot. You can actually have, say, the EQ feeding into the delay, which feeds into the harmonizer, which feeds into the reverb. So it's sort of like a virtual guitar pedal board in this little microphone. It's pretty cool. Also, when the little Ting microphone is plugging your computer, you can also connect to its Micropython Repel. And see the code that is actually running. The T-engineering guys have created a custom build of Micropython, version 1.2.5, I think. that is a handful of custom built-in modules. One is called Effects for audio effect chain management. One is called UI to manage the LEDs, accelerometer, and buttons. And one is called SPL to handle loading and triggering the samples. And then the entirety of the main.m.p.i is just reading that config.json file and setting up the various settings of those various custom modules. So there's not much logic to the actual main.compy. It's mostly just setting up the various. settings of the internal custom modules, then letting it run. I was hoping it would have more in its main.P.Y, but it's pretty incredible that we can actually edit this file, and we can actually change what everything does. Like, I can make it behave in entirely different fashion. I can even make it play sounds all by itself without me touching any of it. Now, if you're familiar with Circuit Python, the ability to have these audio effects and chain them together is very similar to what we've been able to do with the built-in audio effects module in Circuit Python. And the type of effects, the circuit python has is very similar to. But the circuit Python approach is more configurable and exposes much more of the ability to drive the effects in creative ways like with modulators and connected to various parts of your other Python code. The Ting Micropython can't really do that. So it's sort of like the Ting's effects are like a small guitar pedal board that just does these handful of things, but Circuit Python's audio effects are more like an entire modular synthesizer that's acting like a guitar pedal board. And now, as you might have noticed by the name, the Ting EP-2-3-50 is running an RP-2-2 under the hood. I've taken my Ting apart and verified it's got a 2-meg flash, leaving about 1-meg for samples, and it shows up as almost a standard RP-2350 UF2 boot device. I've not been able to get a circuit Python loaded on it yet, because I think they might be using some of the RP-2350 security features to only allow signed firmware. But it's pretty cool that that exists. It makes firmware updates for this little box really easy, of which teenage engineering has already released a couple. So one of the first things they did when I got it a couple weeks ago was to flash it with the latest firmware, and it actually fixed a small problem that it was having. So yeah, I hope that there's a way that we can put our own firmware on here. I'd love it if they release their version of Micropython because that would be really cool. In the show notes, I've got a couple of links to both some YouTube videos of people showing how to use this, how to configure the Ting with the config.jsons file. There's also an online preset editor that someone has made because it shows up as a USB device. If you're running a Chrome-based browser, you can use this and you can essentially change the configure. Dot JSON via a little web page. Yeah, that's, it's pretty fun. I'm really encouraged to see real products using Micropython.
Paul Cutler
If you want to see one in action, check out the Wednesday, February 25th show and tell on the Adafruit YouTube channel. Right. Dan, aka Bartlebeats, demoed one right at the beginning of the show. So that was pretty cool to see it in action.
Tod Kurt
Oh, yeah, I missed that. That was yesterday for us, right? Yeah. It was. Very cool. All right, Paul, what's your next one for this time?
Paul Cutler
Have you ever wanted to build your own game controller? Tommy B. did, and he was inspired by the original steam controller from Valve software. And by inspired, I mean, he took the idea to the next level. A shout out to Cooper Dalrymple for sharing this story in the Adafruit Discord. Linus of Linus Tech Tips recently had Tommy B on his show to show off his open split deck, and by split it does exactly that. You can split the game pad into two halves, kind of similar to how the switches joycons work individually. He also created additional pieces you can attach to the middle of the two halves to put it back together that makes it more ergonomic. Now, if you've never seen a Steam controller, think a big game pad with two track pads where your thumbs go, instead of joysticks. And that's exactly what Tommy B built with two track pads as well as the two joysticks that you're probably used to. He created two custom PCBs, one for the left half and one for the right. It runs on a Nordic NRF 52840 microcontroller and also features gyro support and haptics. Tommy B talks about that the track pads are optional when using the game pad, but gives you an extra level of control that makes it unique. Well, that and it splits in two. The parts will run you about $250 to $300, but you'll have enough parts to probably build another one. And for context, the Steam Controller retails for about $250. Check out the video. Tommy B, who guests on the Linus Text Tips show, is very well-spoken and engaging. I really enjoyed the video of him with Linus. Related to GamePads is Joypad OS, an open-source universal game controller firmware. You build a dongle, and they recommend using an Adafruit KB2040 microcontroller that allows you to use your game controller like a PlayStation or Xbox controller with other platforms. They also support building the dongle using a Siege Zhao ESP 32S3 board, the Raspberry Pi Pico, and a few others. The project has excellent docs on how to build and install the firmware and even includes a page on hardware compatibility with links to buy the boards, pre-built controller adapters, and more. They've also launched joypad.aI where you can pre-order a USB or Bluetooth dev kit for $50. The DevKit is a USB pass-through adapter running Joypad OS that allows you to connect any USB controller to the DevKit to allow you to remap buttons, create macros, and more before it reaches your PC or console. They're building towards a Joypad dongle, which is basically what the Dev kit will turn into. Its tagline is one device, any controller, any platform. So 50 bucks to get a custom dongle to allow you to use your game controller on other platforms is a bit cheaper than the OpenSplit deck. but they're two very different things.
Tod Kurt
The OpenSplit deck is incredible. My wife, she likes to play some video games like I do, but she mostly plays it on the switch because she finds the kind of hunched over nature you have to have when you're grasping a controller to be kind of hard on her shoulders after a while. And so she likes to have the switch because you can play with your shoulders open, your hands open, and it's much more comfortable for a long-term gaming. But we've not been able to find a similar type of but controller for like a PlayStation. Like there's like the accessibility controller stuff for PlayStation, but that's really for people who need much more critical sort of like controller needs. And so it's like surely someone makes a switchlight controller for the PlayStation, but no. But now, yes, we can make our own.
Paul Cutler
You can build your own. You got the bill of materials. One of the things he calls out is buying some of the parts directly from ATA fruit, like the batteries. So you know, it doesn't start on fire. So I like that. He called that out. Yeah, totally.
Tod Kurt
But yeah, it was a really fun video to watch. Oh, man, that's great. Yeah, yeah, we might be making one of these because I've been wanting to get her into some of these crazy PlayStation games that I play. Well, keep us up to date on your progress if you do. Totally. All right, what's the last thing for us this episode? All right, so my favorite nutty synth professor, Sam Bartle, aka Look Mum, No Computer on YouTube, is the UK's surprise entry for Eurovision 2026. If you've never seen it, Eurovision is a yearly, bonkers musical contest that's broadcast on TV everywhere. It's just insane. I highly recommend watching some clips on YouTube right now if you've not heard about it. And Sam's particular flavor of insanity will fit right in. His performances on his homemade, animatronic, modular sense are incredible on their wackiness, but also with his deep musicality. I hope he wins. It'll be interesting to see how he's kind of a nerd like us. It'll be interesting to see him in front of a huge, huge audience. So I've been following Sam's YouTube channel for about nine years. He usually hooked me by showing simple synth circuits that he turns into proper synth modules for his homemade modular rig. One of the best for me was his simplest DIY audio oscillator video that uses a single transistor, capacitor, resistor, and LED to make a really nice setting score of oscillator. It's surprisingly musical. For less than $10, he made a five-voice drone synth with this circuit. This sounds amazing. And his online delivery, if you remember, like the very considered synth designer. His online delivery is almost exactly the opposite to Morris Klein's. Every circuit Sam makes as he hand drills the panels, Sharpies knob panels, and soders over live circuits make you almost expect a disaster to happen. But of course it never does because Sam is a professional, but he's exceedingly fun to watch. Other great videos of his that I liked over the years are his Furby organ, where he takes 45 Furbies and hacks them into a nice woodenclosed organ, or the 1,000 oscillator megadron synth that takes that simple oscillator circuit from before and multiplies it by literally 1,000. The final result takes up a whole wall because he made it a proper synthesizer, so every oscillator has individual controls for pitch and how it connects to the rest of the circuit, the synth circuit. He's built a ton of other gear and his builds are explicitly for him to perform with because he's also a professional musician, often on tour. With all these huge builds, though, Sam has needed a place to put them all, so he created, This Museum is Not Obsolete, a real physical museum of experimental and old technology in Kent, UK. You can go there and play on some of this gear that you've seen in his videos. There's other amazing artifacts there as well, like old test gear and ancient telephone switching equipment, all of it hooked up and able to make cool noises. If I'm ever, like, next time I'm in the UK, I want to make a field trip to Kent to visit this place because it just looks incredible. But yeah, go Sam. I hope you win Eurovision.
Paul Cutler
And you said he's representing the UK, so it's not just some small country. It's one of the larger countries in Europe.
Tod Kurt
Small town boy makes it big.
Paul Cutler
That's awesome. Well, that's our show. If you're interested in getting a free sticker, visit the homepage of the bootloader.net for the order form. You can also visit the homepage to see our show notes and transcripts. Until next time, stay positive.