The Eerie Sounds Of Ioalieia: An ESP32/Valve/Analog Hybrid Circuit Sculpture

We’ve not had a circuit sculpture piece for a while, so here’s “ioalieia” a lovely hybrid digital-analog sound sculpture by [Eirik Brandal] to dig into.

Tidy straight lines. Nice job!

The host of the show is the ESP32 module, which generates audio frequency square waves, which are fed into a MCP4251 digital potentiometer. From there, it is fed into a AS3320 Voltage controlled filter (VCF), from Latvia-based ALFA (which is new to us, despite them being manufacturing electronics for sixty years!) This is an interesting device that has a four independently configurable filter elements with voltage controlled inputs for frequency control and resonance. The output from the VCF is then fed into a 6n2p (Soviet equivalent to the 12ax7) twin-triode vacuum tube, which is specifically aimed at audio applications.

The suitably distorted filtered square waves then pass into a Princeton Tech Corp PT2399 echo processor chip, which being digitally constructed, uses the expected ADC/RAM/DAC signal chain to implement an audio echo effect. As with the VCF, the echo depth can be modulated via the digipot, under the ESP32’s command. For a bit of added bling, the vacuum tube output feeds back into the ESP32, to be consumed by the internal ADC and turned into a light show via some PWM controlled LEDs. Lovely.

The final audio output from the echo chip is then fed into a speaker via a pair of LM380 amplifiers giving a power of about 5 W. It sounds pretty good if you ask us, and software configurable via Wi-Fi, giving this sculpture plenty of tweakabilty.

Of course circuit sculpture come in all shapes and sizes, and it wouldn’t do to not mention at least one sculpture clock project, and while we’re on it, here’s last year’s Remoticon circuit sculpture workshop.

Continue reading “The Eerie Sounds Of Ioalieia: An ESP32/Valve/Analog Hybrid Circuit Sculpture”

3D Printering: Adding A Web Interface Where There Was None Before

[Renzo Mischianti] got himself a Chinese 3D printer, specifically a FlyingBear Ghost 5. (Cracking name, huh?) He was more than a little irritated with the fact that whilst the controller, an MKS Robin Nano, did have a integrated Wi-FI module, it provided no browser-based interface for monitoring and control purposes. This seemed a bit short-sighted in this day and age, to say the least. Not being at all happy with that situation, [Renzo] proceeded to write dedicated Wi-Fi firmware using websockets, but not without fully documenting his journey in a detailed series of the blog posts.

The resulting BeePrint web interface supports all the usual functions you would expect when managing a printer, everything from monitoring warm-up at the prep stage, to keeping tabs on the potential spaghetti monster via the connected IP camera. All good stuff. [Renzo] used an ESP32-cam, which is a low-cost 2 MP unit from our friends at Olimex, but we suspect it wouldn’t vastly difficult to add your own IP camera into the mix.

[Renzo] has a YT channel detailing quite a few other projects, which is definitely worth some viewing time in our opinion.

We’ve been covering 3D printer hacking since the dinosaurs were roaming. This is the oldest, and still one of the strangest, posts that we could find in a quick search. Anyone care to find something older?

Continue reading “3D Printering: Adding A Web Interface Where There Was None Before”

Remoticon 2021: Uri Shaked Reverses The ESP32 WiFi

You know how when you’re working on a project, other side quests pop up left and right? You can choose to handle them briefly and summarily, or you can dive into them as projects in their own right. Well, Uri Shaked is the author of Wokwi, an online Arduino simulator that allows you to test our your code on emulated hardware. (It’s very, very cool.) Back in the day, Arduino meant AVR, and he put in some awesome effort on reverse engineering that chip in order to emulate it successfully. But then “Arduino” means so much more than just AVR these days, so Uri had to tackle the STM32 ARM chips and even the recent RP2040.

Arduino runs on the ESP32, too, so Uri put on his reverse engineering hat (literally) and took aim at that chip as well. But the ESP32 is a ton more complicated than any of these other microcontrollers, being based not only on the slightly niche Xtensa chip, but also having onboard WiFi and its associated binary firmware. Reverse engineering the ESP32’s WiFi is the side-quest that Uri embarks on, totally crushes, and documents for us in this standout Remoticon 2021 talk. Continue reading “Remoticon 2021: Uri Shaked Reverses The ESP32 WiFi”

Picture of a monitor with a fake "ransomware" banner on it, and a PC with the ESP32 VGA devboard mounted into it in the foreground

ESP32 Pretends To Be GPU; Gives You A Ransomware Scare

Sometimes a piece of hardware meets a prank idea, and that’s how the fun Hackaday articles are born. [AnotherMaker] shows us some harmless entertainment at the expense of an IT enthusiast in your life – programming an ESP32-powered devboard with a VGA output to show an ever-feared “all your files are encrypted” screen on a monitor connected to it. The ASCII text in its 8-bit glory helps sell this prank, making it look exactly like a BIOS-hijacking piece of malware it claims to be; akin to UIs of the past that skilled hackers would whip up in x86 assembly. The devboard’s integration into a PCI card backplate is a cherry on top, a way to seamlessly integrate this into a PC case, making it look not particularly different from an old graphics card. In such a configuration, we don’t doubt that this would be a head-scratcher to a certain kind of an IT department worker.

If you already have someone in mind as a target for this prank, you’re in luck, since [AnotherMaker] has shared his source code, too, and all you need is a ESP32 with a VGA port set up. You can get the same devboard, or you can even solder it all together with an ESP32 breakout and resistors, if you’re on a time or money budget, since the schematics for the LilyGO devboard are public. Not all devboards gets such a fun application, but it’s always fun to see when someone thinks of one – a perfect prank scenario that calls for a very specific devboard.

Wondering how it’s even possible to output VGA from the ESP32? We’ve covered this in the past – like this R&D project done by [bitluni], who then went ahead and expanded on it by connecting six displays at once. If you’ve connected your ESP32 to a VGA port and ran some test sketches, a UI library will help you upgrade your idea into a ready project in no time.

Continue reading “ESP32 Pretends To Be GPU; Gives You A Ransomware Scare”

Google’s T-Rex Game Ported To The ESP32

Most Chrome users will have come across a neat little Easter egg when their Internet connection has gone down – a game known as “T-Rex” where a dinosaur must be jumped over cactii. Whether or not this is accurate in terms of the evolutionary timeline, it’s a bit of fun, and Volos Projects educator [Danko Bertović] decided to port the game to the ESP32.

The game runs on the LILYGO TTGO T-Display development board, which pairs the powerful microcontroller with a 1.14-inch color LCD. His clone goes as far as authentically replicating the “No Internet” page from within Google Chrome, before kicking into the game at the press of a tactile button.

The game is built using a sprite-based engine, which enables gameplay with a minimum of flickering on the screen. Transparency is included to stop the sprites from occluding other screen elements unnecessarily. [Danko] hasn’t yet released a full tutorial on using sprites on the ESP32, but code is available for your own digestion.

It’s not the first time we’ve seen [Danko]’s ESP32 games, as he’s developed a few over the years. Others have gone so far as coding 8-bit emulators for the platform. Video after the break.

Continue reading “Google’s T-Rex Game Ported To The ESP32”

3D printed moon lamp

3D Printed Lithographic Moon Lamp

After years of being a software developer, [Chris] was excited to get back into embedded development and we’re glad he did. His 3D printed lithographic moon lamp combines a number of hacker and maker skills, and is sure to impress.

3D-printed lithographic moons have gotten pretty popular these days, so he was able to find a suitable model on Thingiverse to start with. Gotta love open-source. Of course, he needed to make a few modifications to fit his end design. Namely, he put a hole at the bottom of the moon, so he could slide the LED and heatsink inside. The 3 watt LED is pretty beefy, so he definitely needed a heat sink to make sure everything stayed cool.

Otherwise, the circuit itself is pretty straightforward. He has an ESP32 to drive the RGB LED through a transistor, and fitted the components onto a custom-designed circuit board to ensure everything stayed neat and organized. You don’t want a ton of loose wires and breadboards cluttering this build. Since he used an ESP32, he was able to create a simple web interface to control the color of the LEDs. Gotta make it connected somehow, right?

What’s great is in addition to the project write-up, [Chris] includes video tutorials, walking the readers through each individual step of the build. By doing so he really makes it easy for readers to follow along and reuse his work. If you’re still looking for ideas, one of these could make a really good Christmas present.

Continue reading “3D Printed Lithographic Moon Lamp”

ESP32 board with battery and nearby antenna

How To Easily Set Up Secure OTA Firmware Updates On ESP32

After an electronic IoT device has been deployed into the world, it may be necessary to reprogram or update it. But if physical access to the device (or devices) is troublesome or no longer possible, that’s a problem.

OTA updates allow a device to download new firmware, install it, and reboot itself into the new version. Convenient? Yes. Secure? It definitely needs to be.

Fortunately, over-the-air (OTA) firmware updates are a thing, allowing embedded devices to be reprogrammed over their wireless data connection instead of with a physical hardware device. Security is of course a concern, and thankfully [Refik] explains how to set up a basic framework so that ESP32 OTA updates can happen securely, allowing one to deploy devices and still push OTA updates in confidence.

[Refik] begins by setting up a web server using Ubuntu Linux, and sets up HTTPS using a free SSL certificate from Let’s Encrypt, but a self-signed SSL certificate is also an option. Once that is done, the necessary fundamentals are in place to support deploying OTA updates in a secure manner. A bit more configuration, and the rest is up to the IoT devices themselves. [Refik] explains how to set things up using the esp32FOTA library, but we’ve also seen other ways to make OTA simple to use.

You can watch a simple secure OTA firmware update happen in the video, embedded below. There are a lot of different pieces working together, so [Refik] also provides a second video for those viewers who prefer a walkthrough to help make everything clear. Watch them both, after the break.

Continue reading “How To Easily Set Up Secure OTA Firmware Updates On ESP32”