Sparkpad Sparks Joy For Streamers

The best streamers keep their audience constantly engaged. They might be making quips and doing the funny voices that everyone expects them to do, but they’re also busy reading chat messages aloud and responding, managing different scenes and transitions, and so on. Many streamers use a type of macro keyboard called a stream deck to greatly improve the experience of juggling all those broadcasting balls.

Sure, there are dedicated commercial versions, but they’re kind of expensive. And what’s the fun in that, anyway? A stream deck is a great candidate for DIY because you can highly personalize the one you make yourself. Give it clicky switches, if that’s what your ears and fingers want. Or don’t. It’s your macro keyboard, after all.

[Patrick Thomas] and [James Wood] teamed up to build the perfect stream deck for [James]’ Twitch channel. We like the way they went about it, which was to start by assessing a macro pad kit and use what they learned from building and testing it to design their ideal stream deck. The current version supports both the Arduino Pro Micro and the ESP32. It has twelve key switches, a rotary encoder, an LED bar graph, and an OLED screen for choosing between the eight different color schemes.

If you’d rather have dynamic screens instead of cool keycaps, you can do it cheaper by making non-touch screens actuate momentaries.

ESP32 Video Input Using I2S

Computer engineering student [sherwin-dc] had a rover project which required streaming video through an ESP32 to be accessed by a web server. He couldn’t find documentation for the standard camera interface of the ESP32, but even if he had it, that approach used too many I/O pins. Instead, [sherwin-dc] decided to shoe-horn a video into an I2S stream. It helped that he had access to an Altera MAX 10 FPGA to process the video signal from the camera. He did succeed, but it took a lot of experimenting to work around the limited resources of the ESP32. Ultimately [sherwin-dc] decided on QVGA resolution of 320×240 pixels, with 8 bits per pixel. This meant each frame uses just 77 KB of precious ESP32 RAM.

His design uses a 2.5 MHz SCK, which equates to about four frames per second. But he notes that with higher SCK rates in the tens of MHz, the frame rate could be significantly higher — in theory. But considering other system processing, the ESP32 can’t even keep up with four FPS. In the end, he was lucky to get 0.5 FPS throughput, but that was adequate for purposes of controlling the rover (see animated GIF below the break). That said, if you had a more powerful processor in your design, this technique might be of interest. [Sherwin-dc] notes that the standard camera drivers for the ESP32 use I2S under the hood, so the concept isn’t crazy.

We’ve covered several articles about generating video over I2S before, including this piece from back in 2019. Have you ever commandeered a protocol for “off-label” use?

Continue reading “ESP32 Video Input Using I2S”

Automated musical instrument with LED array

ESP32 Is The Brains Behind This Art Installation

The ESP32 has enabled an uncountable number of small electronics projects and even some commercial products, thanks to its small size, low price point, and wireless capabilities. Plenty of remote sensors, lighting setups, and even home automation projects now run on this small faithful chip. But being relegated to an electronics enclosure controlling a small electrical setup isn’t all that these tiny chips can do as [Eirik Brandal] shows us with this unique piece of audio and visual art.

The project is essentially a small, automated synthesizer that has a series of arrays programmed into it that correspond to various musical scales. Any of these can be selected for the instrument to play through. The notes of the scale are shuffled through with some random variations, allowing for a completely automated musical instrument. The musical generation is entirely analog as well, created by some oscillators, amplifiers, and other filtering and effects. The ESP32 also controls a lighting sculpture that illuminates a series of LEDs as the music plays.

The art installation itself creates quite haunting, mesmerizing tunes that are illustrated in the video linked after the break. While it’s not quite to the realm of artificial intelligence since it uses pre-programmed patterns with some randomness mixed in, it does give us hints of some other projects that have used AI in order to compose new music.

Continue reading “ESP32 Is The Brains Behind This Art Installation”

Occam’s Razor: Gardening Edition

While the impulse to solving problems in complex systems is often to grab a microcontroller and some sensors to automate the problem away, interfacing with the real world is often a lot more difficult than it appears. Measuring soil moisture, for example, seems like it would be an easy way of ensuring plants get the proper amount of water, but soil is a challenging environment for electronics and this solution often causes more problems than it solves. [Kevin] noticed this problem with soil moisture sensors and set about solving this problem with a much simpler, though indirect, method of monitoring his plants electronically.

Rather than relying on soil conductivity for testing soil moisture levels, he has developed an alternate method of determining if the plants need to be watered simply by continuously weighing them. The hypothesis that he had was that a plant that needs water will weigh less as the available water respirates out of the plant or evaporates from the soil. This means that using a reliable sensor like a load cell to measure weight rather than an unreliable one like a soil moisture sensor will result in more reliable data he can use to automate his plants’ watering.

[Kevin]’s build is based around an ESP32 and a commercially-available load cell which are all built into the base of the plant’s pot. The design hides all of the electronics in a pleasant enclosure and is able to communicate relevant info wirelessly as well. The real story here, however, isn’t a novel use of an ESP32 chip, but rather out-of-the-box problem solving by using an atypical sensor to solve this problem. That’s not to say that you can’t ever use other sensors to directly monitor your garden and automate its health, though.

VGA PCB.

Running Six VGA Projectors From A Single ESP32

Today’s microcontrollers are high-speed powerhouses that can do absolutely wonderous things. By virtue of fast clock speeds and special DMA hardware, it’s often possible to achieve great feats that seem almost ridiculous at face value. [Bitluni] decided to demonstrate just that, running six (6!) VGA displays from a single ESP32.  (Video, embedded below.)

The ESP32 clocks in at 240 MHz at top speed. It also features some nifty DMA hardware along with GPIO mapping that makes it perfectly suited to this task. [Bitluni] was thus able to set it up to drive up to six VGA displays at one bit per pixel monochrome output. Alternatively, ganging up six output pins into two sets of three, he was able to run two VGA displays with 3-bit color. The resolution is an impressive 640 x 400 in both cases, and [Bitluni] demonstrated the hardware by driving six projectors with a starfield display.

Is it useful? Perhaps not yet, but there’s certainly a few applications we could think of. Share your own ideas in the comments. In the meantime, check out [Bitluni]’s other great works for the ESP32.

Continue reading “Running Six VGA Projectors From A Single ESP32”

Voice-Controlled Smart Home From The Foundation Up

Smart homes are becoming an increasingly popular way to automate one’s home, whether it’s turning on lights, closing blinds, or even feeding pets. But the commercial offerings often rely on an internet connection to reach servers in order to work, which invites a lot of privacy concerns for a large percentage of us as well as being inconvenient when the internet is down. Essentially the only way to have a privacy-respecting, self-sufficient smart home is to build one on your own from the ground up, which is exactly what [Xasin] has done with this project.

This build is based on ESP32 modules with a Raspberry Pi as a hub, but it’s not as simple as a MQTT implementation. Not only does the self-contained home automation setup not rely on any outside services, but a failure of the central Pi server will not impact the nodes either as they are configured to continue operating independently even without central control. This allows for a robust home automation implementation without a single point of failure, and also includes some other features that are helpful as well including voice control, all while retaining a core design philosophy that makes it relatively easy to build.

Not only is the build technologically impressive for its standalone capabilities and its elimination of privacy concerns, but [Xasin] also did an excellent job with the physical design as well, adding plenty of RGB and a hexagonal enclosure that gives it a unique look wherever its is placed. If you’re renting right now or otherwise unable to interface any automation with your current home, be sure to take a look at some projects that do home automation without making any permanent changes.

Continue reading “Voice-Controlled Smart Home From The Foundation Up”

ESP8266 Network Meters Show Off Unique Software

Like the “Three Seashells” in Demolition Man, this trio of bright yellow network monitors created by [David Chatting] might be difficult to wrap your head around at first glance. They don’t have any obvious controls, and their constantly moving indicators are abstract to say the least. But once you understand how to read them, and learn about the unique software libraries he’s developed to make them work, we’re willing to bet you’ll want to add something similar to your own network.

First-time configuration of the monitors is accomplished through the Yo-Yo WiFi Manager library. It’s a captive portal system, not unlike the popular WiFiManager library, but in this case it has the ability to push the network configuration out to multiple devices at once. This MIT-licensed library, which [David] has been developing with [Mike Vanis] and [Andy Sheen], should be very helpful for anyone looking to bring multiple sensors online quickly.

The Device Wheel

We’re also very interested in what [David] calls the Approximate library. This allows an ESP8266 or ESP32 to use WiFi signal strength to determine when its been brought in close proximity to particular device, and from there, determine its IP and MAC address. In this project, it’s used to pair the “Device Wheel” monitor with its intended target.

Once locked on, the monitor’s black and white wheel will spin when it detects traffic from the paired device. We think this library could have some very interesting applications in the home automation space. For example, it would allow a handheld remote to control whatever device the user happens to be closest to at the time.

Whether you follow along with the instructions and duplicate the meters as-is, or simply use the open source libraries that power them in your own project, we think [David] has provided the community with quite a gift in these unique gadgets.