Simple MIDI Sample Player Runs On ESP32

[Jakub] is a musician, and found himself in need of a simple way to trigger samples via MIDI when on stage. So many commercial solutions exist, but most were overkill for the job or too messy and complicated to justify their use in a live environment. Thus, [Jakub] worked up Samplotron to do exactly the job needed with a minimum of fuss.

The project is based around the ESP32. It’s effectively a lightweight hardware sampler that can trigger sounds on command via MIDI. Sample data is loaded from an SD card, which also stores the device configuration. The Samplotron plays back mono 16-bit WAV files at 44,100 Hz, delivering audio via an ES8388 audio codec module connected via I2S. Two encoders are used to control the device, with a menu system presented via an SSD1309 OLED screen. Samples can be loaded and managed via this interface, and it allows tweaks to be made to volume levels and one-shot/loop playback as needed. MIDI input to the device is simply handled via the onboard UART functionality of the ESP32 itself.

It’s a neat little bit of music hardware that does exactly what [Jakub] needs and nothing more. We’ve featured similar builds before, like this neat RP2040 soundboard. If you’re building rad custom hardware for your own musical adventures, we’d love to know all about it. 

Mini Multi-Arcade Game Cabinets With An ESP32 And Galagino

Most people love arcade games, but putting a full-sized arcade cabinet in the living room can lead to certain unpleasant complications. Ergo the market for fun-sized cabinets has exploded alongside the availability of cheap SBCs and MCUs that can run classical arcade titles. Microcontrollers like the ESP32 with its dual 240 MHz cores can run circles around the CPU grunt of 1980s arcade hardware. Cue [Till Harbaum]’s Galagino ESP32-based arcade emulator project, that recently saw some community versions and cabinet takes.

There was a port to the PlatformIO framework by [speckhoiler] which also added a few more arcade titles and repurposed the enclosure of an off-the-shelf ‘My Arcade’ by stuffing in an ESP32-based ‘Cheap Yellow Display‘ (CYD) board instead. These boards include the ESP32 module, a touch display, micro SD card slot, sound output, and more; making it an interesting all-in-one solution for this purpose.

Most recently [Davide Gatti] and friends ported the Galagino software to the Arduino platform and added a 3D printed enclosure, though you will still need to source a stack of parts which are listed in the bill of materials. What you do get is a top display that displays the current game title in addition to the display of the usual CYD core, along with an enclosure that can be printed both in single- or multi-color.

There’s also a build video that [Davide Gatti] made, but it’s only in Italian, so a bit of a crash course in this language may be required for some finer details.

Continue reading “Mini Multi-Arcade Game Cabinets With An ESP32 And Galagino”

Front and back of the prototype phone

Neither Android Nor IOS: DIY Smartphone Runs On ESP32!

You may or may not be reading this on a smartphone, but odds are that even if you aren’t, you own one. Well, possess one, anyway — it’s debatable if the locked-down, one-way relationships we have with our addiction slabs counts as ownership. [LuckyBor], aka [Breezy], on the other hand — fully owns his 4G smartphone, because he made it himself.

OK, sure, it’s only rocking a 4G modem, not 5G. But with an ESP32-S3 for a brain, that’s probably going to provide plenty of bandwidth. It does what you expect from a phone: thanks to its A7682E simcom modem, it can call and text. The OV2640 Arducam module allows it to take pictures, and yes, it surfs the web. It even has features certain flagship phones lack, like a 3.5 mm audio jack, and with its 3.5″ touchscreen, the ability to fit in your pocket. Well, once it gets a case, anyway.

Continue reading “Neither Android Nor IOS: DIY Smartphone Runs On ESP32!”

AI Assistant Uses ESP32

Having an AI assistant is all the rage these days, but AI assistants usually don’t know about your automation setups and may have difficulty dealing with tasks asynchronously. Enter zclaw. It gives you the option to have a personal assistant on an ESP32 backed by Anthropic, OpenAI, or OpenRouter. The whole thing fits in 888KB, and while it doesn’t host the LLM, it does add key capabilities to monitor and control devices connected to the ESP32.

You communicate with the assistant via telegram. You can say things like “Remember the garage sensor is on GPIO 4.” Then later you might say: “In 20 minutes, check the garage sensor and if it is high, set GPIO 5 low.” It has an RTOS for scheduling tasks and is aware of the timezone and common periods. Memory persists across reboots, and you can pick different personas.

Continue reading “AI Assistant Uses ESP32”

Poking At The ESP32-P4 And -C6 Dies In An ESP32-P4-M3 Module

The RF section of the ESP32-C6 die. (Credit: electronupdate, YouTube)
The RF section of the ESP32-C6 die. (Credit: electronupdate, YouTube)

With the ESP32-P4 not having any wireless functionality and instead focusing on being a small SoC, it makes sense to combine it with a second chip that handles features like WiFi and Bluetooth. This makes the Guition ESP32-P4-M3 module both a pretty good example of how the P4 will be used, and an excellent opportunity to tear into, decap and shoot photos of the dies of both the P4 and the ESP32-C6 in this particular module, courtesy of [electronupdate]. There also the blog post for those who just want to ogle the shinies.

After popping the metal shield on the module, you can see the contents as in the above photo. The P4 inside is a variant with 32 MB of PSRAM integrated along with the SoC die. This results in a die shot both of this PSRAM and the P4 die, though enough of the top metal seems to remain to clearly see the latter.

The Boya brand Flash chip is quite standard inside, and along with a glance at the inside of one of the crystal oscillators we get to glance at the inside of the C6 MCU. This is a much more simple chip than the P4, with the RF section quite obvious. The total die sizes are 2.7 x 2.7 mm for the C6 and 4.29 x 3.66 mm for the P4.

Continue reading “Poking At The ESP32-P4 And -C6 Dies In An ESP32-P4-M3 Module”

Diamond Age-Inspired Pocket Watch Has ESP32 Inside

A lot of hacks get inspired by science fiction. When that inspiration is taken from the boob tube or the silver screen, the visual design is largely taken care of by the prop department. If, on the other hand, one seeks inspiration from the written word– like [Math Campbell] did for his smart pocket watch inspired by The Diamond Agethe visuals are much more up to the individual hacker. Though no nanotechnology was involved in its creation, we think [Math] nailed the Victorian High-Tech vibe of [Neal Stephenson]’s cult classic.

The build itself is fairly simple: [Math] started with a Waveshare dev board that got him the 1.75″ round touch display, along with an ESP32-S3 and niceties such as a six-axis IMU, an RTC, microphone, speaker, and micro SD card reader. That’s quite the pocket watch! The current firmware, which is available on GitHub, focuses on the obvious use case of a very stylish watch, as well as weather and tidal display. Aside from the dev board, [Math] needed only to supply a battery and a case.

[Math] designed the case for the watch himself in Fusion360 before sending it off to be 3D printed in stainless steel. That might not be molecular-scale manufacturing like in the book, but it’s still amazing you can just do that. Ironically, [Math] is a silversmith and will be recreating the final version of the watch case in sterling silver by hand. We’d be tempted to include a door–making it a “hunter’s case” in pocket watch lingo–to protect that amoled display, but far be it for us to tell an artist how to do his work. If you’re not a silversmith, [Math] has stated his intent to add STLs to the GitHub repo, though they aren’t yet present at time of writing.

We’ve featured smart pocket watches before, some with more modern aesthetics. Of course a watch doesn’t have to be smart to grace these pages.

Thanks to [Math Campbell] for the tip! If you’ve got time on your hands after ticking done on a project, send us a tip and watch for it to appear here.

Real-Time 3D Room Mapping With ESP32, VL53L5CX Sensor And IMU

ST’s VL53L5CX is a very small 8×8 grid ranging sensor that can perform distance measurements at a distance of up to 4 meters.  [Henrique Ferrolho] demonstrated that this little sensor can also be used to perform a 3D scan of a room. The sensor data can be combined with an IMU to add orientation information to the scan data. These data streams are then combined by an ESP32 MCU that streams the data as JSON to a connected computer.

Of course, that’s just the heavily abbreviated version, with the video covering the many implementation details that crop up when implementing the system, including noise filtering, orientation tracking using the IMU and a variety of plane fitting algorithms to consider.

Note that ST produces a range of these Time-of-Flight sensors that are more basic, such as the VL53VL0X, which is a simple distance meter limited to 2 meters. The VL53L5CX features the multizone array, 4-meter distance range, and 60 Hz sampling speed features that make it significantly more useful for this 3D scanning purpose.

 

Continue reading “Real-Time 3D Room Mapping With ESP32, VL53L5CX Sensor And IMU”