The Mother(board) Of All CNC Controllers

If you’re building a CNC machine from scratch, the number of decisions you have to make is nearly boundless. Metal or wood construction? Welded or bolted? Timing belts or lead screws? And even once the mechanical bits are sorted, you still face a universe of choices in terms of control electronics. That’s where something like this modular CNC controller could really prove to be a game-changer.

The idea behind [Barton Dring]’s latest creation started with his port of GRBL to the ESP32. In fact, the current controller bears a strong family resemblance to his version 1.0 dev board, with a few conspicuous and intriguing additions. First, everything is modular — the main PCB is basically a motherboard with little more than a 5-volt power supply and some housekeeping electronics, plus a lot of headers. There’s support for up to six channels of steppers, either directly on the board with Pololu-style modules or as external drivers using pluggable screw terminal blocks. There’s also room for five IO modules; the current collection of modules includes a four-channel switch input, a relay output, an RS-485 module and a 0-10-V interface for talking to a variable frequency drive (VFD) spindle controllers, and buffered 5-V output module. The best part is that the IO module spec is completely open, so designing custom modules should be a snap.

The video below gives a quick tour of the controller. We’re really impressed with the thought that went into this, and we’ll venture a guess that having something like this available is going to kickstart a lot of stalled CNC machine projects. We can think of one shop that finally lost its last excuse for making the move.

Continue reading “The Mother(board) Of All CNC Controllers”

Bubbles, The People-Pleasing Pandemic Panda

This year, [Thomas]’ neighborhood has gone from a quiet burg to a bustling lane full of families and children who go out walking for exercise and a change of scenery. Early on, a game emerged to distract children from the pandemic by turning these walks into bear hunts — that is, looking for stuffed bears sitting in the windows of houses and keeping count of them.

With no stuffed bears in the house, he decided to join in the fun by pasting up a 2D panda bear in the window that’s cute enough to calm anyone’s nerves. That was fun for a while, but then he turned it up to eleven by making an interactive 3D version named Bubbles the Bear that blows bubbles and speaks in a friendly voice.

Bubbles sits in a second-story window and waits for passers-by to press one of the buttons mounted on the utility pole below. Both buttons are wired to a 433MHz remote that sends a signal to an ESP32 in Bubbles’ habitat that says it’s time to perform.

We particularly like the bubble maker that [Thomas] designed, which aims a blower fan with an air concentrator at a carousel of 3D printed bubble wands. Both the fan and the carousel can be controlled with a custom web app, and he gets an email every time Bubbles has a visitor that tells him how much bubble liquid is left. Check out the fun-size demo after the break.

Bubbles are fun, especially if you can make them in extremely large quantities. Bubbles can also do work — remember this next time you need a random number generator.

Continue reading “Bubbles, The People-Pleasing Pandemic Panda”

Your Microcontroller Is Your IDE

What if your microcontroller IDE was running on the microcontroller itself and not hosted on the computer you use to do the programming? The greatest legacy of Arduino in all its forms has arguably been a software one, in that it replaced annoying proprietary development environments with one that installed easily on a range of operating systems, was easy to use, and above all, worked. The next level of portability is to get rid of any specialize computer-side software. [Ronny Neufeld] wrote MicroIDE for ESP32 as an IDE accessible through a web browser, which interestingly is hosted on the target device itself.

Using the IDE is easy enough, install a binary, connect to the ESP with a web browser, start writing MicroPython code. There is a choice of connecting directly to the chip as a hotspot, or connecting via another WiFi network. The interface is looking pretty slick but he’s at pains to remind us that it’s a work in progress. Sadly there is no source code yet as it’s a binary distribution that is free for non-commercial use, we’d hope that an open-source release might one day happen. It’s not for everyone, but the convenience of accessing the same interface from almost any modern device should help attract a healthy community.

This appears to be the first web-based on-chip ESP IDE we’ve shown you. But it’s not the first on-chip coding example, as this BASIC interpreter shows.

[Main image source: Ubahnverleih / CC0]

The Open Source Mars Rover, One Year Later

As the name implies, here at Hackaday we strive to bring you interesting projects every single day. But that doesn’t necessarily mean a project only getsĀ one day to grace these storied pages. Quite the opposite, in fact. We’re always happy to revisit a project and find out how far it’s evolved since we last crossed paths with it, especially when the creators themselves reach out to give us an update.

Which is exactly what happened when [Jakob Krantz] recently wrote in to get us up to speed on this incredible open source rover project. We first saw this 3D printed Curiosity inspired robot a little less than a year ago, and at that point it was essentially just a big box with the distinctive NASA rocker-bogie suspension bolted on. Now it not only looks a lot closer to the Martian rovers that inspired it, but it’s also learned a number of new tricks that really take this project to the next level.

The articulated head and grabber arm don’t just help sell the Curiosity look, they’re actually functional. [Jakob] notes that he doesn’t have kinematics integrated yet, so moving the arm around is more for show than practical application, but in the future it should be able to reach out and grab objects. With the new cameras in the head, he’ll even be able to get a first person view of what he’s picking up.

Last year [Jakob] was using a standard RC transmitter to drive the rover around, but he’s since put together a custom controller that’s truly a thing of beauty. It uses an ESP32 and LoRa module to communicate with matching hardware inside the rover, as well as a smartphone clipped onto the top that’s displaying telemetry and video over WiFi. The controller is actually its own separate project, so even if you aren’t in the market for a scaled down Mars rover, its controller could come in handy for your next robotics project.

Presumably the multi-mission radioisotope thermoelectric generator (MMRTG) on the back of the rover is just pretend….but with this guy, we’re not so sure. Give him another year, and who knows.

BlueRetro Is The Ultimate Console Controller Adapter

Retro consoles are great fun, packed with classic games and plenty of nostalgia. However, they also lack the polish and ergonomics of more modern hardware. Serious gamers will often find their original gamepads wearing out, too. A solution to all these problems and more is BlueRetro.

BlueRetro is a Bluetooth controller adapter for a wide variety of vintage console platforms. Developed by [Jacques Gagnon], it uses an ESP32 for its powerful wireless capabilities. One core of the ESP32 is used to speak Bluetooth and handle controller interfacing, while the other processor core handles speaking to the attached console.

The level of attention to detail is where this project really shines. [Jacques] has implemented many advanced features, like mapping axes to buttons and vice versa – essential when swapping controllers across varied systems. The output of BlueRetro is a DB25 connector, which is then used with adapter cabling to hook up to the controller ports of various consoles. It’s even capable of emulating multitap adapters for up to 7-player action.

In a video, [Jacques] shows off the hardware in use with his collection of vintage consoles, hooked up on a shelf with an impressive A/V switcher setup. It’s clear that this is the build of a hacker that doesn’t skimp on doing things the right way. We’ve seen his work before too, with a tidy RGB input mod for CRT TVs. Video after the break.

Continue reading “BlueRetro Is The Ultimate Console Controller Adapter”

OTA ESP32 GUI Makes Updates Simple

One of the disadvantages of having cheap WiFi-capable boards like those based on the ESP32 is that you have to update them. If you have even a few in every room of your house, it can be a pain to pull them out and connect them to a cable for programming. Over the air programming is a great answer, and [Kevin] shows how you can control the update via a simple GUI. You can see a video demonstration of how it works below.

[Kevin] uses a ready-made OTA library to do the work, but creates a GUI configuration and downloader tool. There is a manual step to force the board into the OTA mode, which might be a mild inconvenience, but it improves security since you need physical access to the device to do an update.

Continue reading “OTA ESP32 GUI Makes Updates Simple”

ESP32 Becomes Music Player In Under 40 Lines Of Code

The demo code for [XTronical]’s ESP32-based SD card music player is not even 40 lines long, though it will also require a few economical parts before it all works. Nevertheless, making a microcontroller play MP3s (and other formats) from an SD card is considerably simpler today than it was years ago.

Part of what makes this all work is I2S (Inter-IC Sound), a format for communicating PCM audio data between devices. Besides the ESP32, at the heart of it all is an SD card reader breakout board and the MAX98357A, which can be thought of as a combination I2S decoder and Class D amplifier. The ESP32 reads audio files from the SD card and uses an I2S audio library to send the I2S data stream to the MAX98357A (or two of them for stereo.) From there it is decoded automatically and audio gets pumped though attached speakers.

A few economical components, and only a handful of connections between them.

It’s amazing how much easier audio is to work with when one can take advantage of shuffling audio data around digitally, and the decoder handles multiple formats with an amplifier built in. You can see [XTronical]’s ESP32 player in action in the video embedded below.

Continue reading “ESP32 Becomes Music Player In Under 40 Lines Of Code”