Arduino Library Makes Digital Rain Like It’s 1999

There’s going to be a new Matrix movie in theaters next month, and you know what that means: we’re about to see a whole new generation get obsessed with the franchise’s iconic “Digital Rain” effect. Thanks to modern advertisement technology, expect to see lines of glittering text pouring down the displays of everything from billboards to gas pumps pretty soon.

Doesn’t get much easier than that.

For those of us who’ve just been looking for an excuse to break out the old Matrix screensavers, you might as well get a jump on things using this handy Arduino library for the ESP8266 and ESP32. Developed by [Eric Nam], it lets you start up a digital rainstorm on displays supported by the TFT_eSPI library as easily as running digitalRainAnim.loop().

You can even install the library through the Arduino IDE, just open the Library Manager and search for “Digital Rain” to get started. You’ve still got to hook the display up to your microcontroller, but come on, [Eric] can’t do it all for you.

Looking at the examples, it seems like various aspects of the animation like color and speed can be configured by initializing the library with different values. Unfortunately we’re not seeing much in the way of documentation for this project, but by comparing the different examples, you should be able to get the high points.

While our first choice would certainly be a wall of green alphanumeric LED displays, we can’t help but be impressed with how easy this project makes it to spin up your own little slice of the Matrix on the workbench.

Continue reading “Arduino Library Makes Digital Rain Like It’s 1999”

Jigglypuff Sensor Breathes CO2 So You Don’t Have To

We’ve seen a lot of environmental monitoring projects here at Hackaday. Seriously, a lot. They usually take the form of a microcontroller, a couple sensors, and maybe a 3D printed case to keep it all protected. They’re pretty similar functionally as well, with the only variation usually coming in the protocol used to communicate their bits of collected data.

But even when compared with such an extensive body of previous work, this Jigglypuff IoT environmental monitor created by [Kutluhan Aktar] is pretty unusual. Sure, the highlights are familiar. Its MH-Z14A NDIR CO2 sensor and GP2Y1010AU0F optical dust detector are read by a WiFi-enabled microcontroller, this time the Arduino Nano RP2040 Connect, which ultimately reports its findings to the user via Telegram bot. There’s even a common SSD1306 OLED display on the unit to show the data locally. All things we’ve seen in some form or another in the past.

Testing the electronics on a bread board.

So what’s different? Well, it’s all been mounted to a huge Pokémon PCB, obviously. Even if you aren’t a fan of the pocket monsters, you’ve got to appreciate that bright pink solder mask. Honestly, the whole presentation is a great example of the sort of PCB artwork we rarely see outside of the BadgeLife scene.

Admittedly, there’s a lot easier ways to get notified about the air quality inside your house. We’re also not saying that haphazardly mounting your electronics onto a PCB designed to look like a character from a nearly 20+ year old Game Boy game is necessarily a great idea from a reliability standpoint. But if you were going to do something like that, then this project is certainly the one to beat.

OpenGL Machine Learning Runs On Low-End Hardware

If you’ve looked into GPU-accelerated machine learning projects, you’re certainly familiar with NVIDIA’s CUDA architecture. It also follows that you’ve checked the prices online, and know how expensive it can be to get a high-performance video card that supports this particular brand of parallel programming.

But what if you could run machine learning tasks on a GPU using nothing more exotic than OpenGL? That’s what [lnstadrum] has been working on for some time now, as it would allow devices as meager as the original Raspberry Pi Zero to run tasks like image classification far faster than they could using their CPU alone. The trick is to break down your computational task into something that can be performed using OpenGL shaders, which are generally meant to push video game graphics.

An example of X2’s neural net upscaling.

[lnstadrum] explains that OpenGL releases from the last decade or so actually include so-called compute shaders specifically for running arbitrary code. But unfortunately that’s not an option on boards like the Pi Zero, which only meets the OpenGL for Embedded Systems (GLES) 2.0 standard from 2007.

Constructing the neural net in such a way that it would be compatible with these more constrained platforms was much more difficult, but the end result has far more interesting applications to show for it. During tests, both the Raspberry Pi Zero and several older Android smartphones were able to run a pre-trained image classification model at a respectable rate.

This isn’t just some thought experiment, [lnstadrum] has released an image processing framework called Beatmup using these concepts that you can play around with right now. The C++ library has Java and Python bindings, and according to the documentation, should run on pretty much anything. Included in the framework is a simple tool called X2 which can perform AI image upscaling on everything from your laptop’s integrated video card to the Raspberry Pi; making it a great way to check out this fascinating application of machine learning.

Truth be told, we’re a bit behind the ball on this one, as Beatmup made its first public release back in April of this year. It might have flown under the radar until now, but we think there’s a lot of potential for this project, and hope to see more of it once word gets out about the impressive results it can wring out of even the lowliest hardware.

[Thanks to Ishan for the tip.]

Exploring The Healing Power Of Cold Plasma

It probably won’t come as much surprise to find that a blast of hot plasma can be used to sterilize a surface. Unfortunately, said surface is likely going to look a bit worse for wear afterwards, which limits the usefulness of this particular technique. But as it turns out, it’s possible to generate a so-called “cold” plasma that offers the same cleansing properties in a much friendlier form.

While it might sound like science fiction, prolific experimenter [Jay Bowles] was able to create a reliable source of nonthermal plasma for his latest Plasma Channel video with surprisingly little in the way of equipment. Assuming you’ve already got a device capable of pumping out high-voltage, all you really need to recreate this phenomenon is a tank of helium and some tubing.

Cold plasma stopped bacterial growth in the circled area.

[Jay] takes viewers through a few of the different approaches he tried before finally settling on the winning combination of a glass pipette with a copper wire run down the center. When connected to a party store helium tank and the compact Slayer Exciter coil he built last year, the setup produced a focused jet of plasma that was cool enough to touch.

It’s beautiful to look at, but is a pretty light show all you get for your helium? To see if his device was capable of sterilizing surfaces, he inoculated a set of growth plates with bacteria collected from his hands and exposed them to the cold plasma stream. Compared to the untreated control group the reduction in bacterial growth certainly looks compelling, although the narrow jet does have a very localized effect.

If you’re just looking to keep your hands clean, some soap and warm water are probably a safer bet. But this technology does appear to have some fascinating medical applications, and as [Jay] points out, the European Space Agency has been researching the concept for some time now. Who knows? In the not so distant future, you may see a similar looking gadget at your doctor’s office. It certainly wouldn’t be the first time space-tested tech came down to us Earthlings.

Continue reading “Exploring The Healing Power Of Cold Plasma”

Low-Cost Computer Gesture Control With An I2C Sensor

Controlling your computer with a wave of the hand seems like something from science fiction, and for good reason. From Minority Report to Iron Man, we’ve seen plenty of famous actors controlling their high-tech computer systems by wildly gesticulating in the air. Meanwhile, we’re all stuck using keyboards and mice like a bunch of chumps.

But it doesn’t have to be that way. As [Norbert Zare] demonstrates in his latest project, you can actually achieve some fairly impressive gesture control on your computer using a $10 USD PAJ7620U2 sensor. Well not just the sensor, of course. You need some way to convert the output from the I2C-enabled sensor into something your computer will understand, which is where the microcontroller comes in.

Looking through the provided source code, you can see just how easy it is to talk to the PAJ7620U2. With nothing more exotic than a switch case statement, [Norbert] is able to pick up on the gesture flags coming from the sensor. From there, it’s just a matter of using the Arduino Keyboard library to fire off the appropriate keycodes. If you’re looking to recreate this we’d go with a microcontroller that supports native USB, but technically this could be done on pretty much any Arduino. In fact, in this case he’s actually using the ATtiny85-based Digispark.

This actually isn’t the first time we’ve seen somebody use a similar sensor to pull off low-cost gesture control, but so far, none of these projects have really taken off. It seems like it works well enough in the video after the break, but looks can be deceiving. Have any Hackaday readers actually tried to use one of these modules for their day-to-day futuristic computing?

Continue reading “Low-Cost Computer Gesture Control With An I2C Sensor”

M5Paper Gets Open Source Weather Display Firmware

We know you like soldering irons, we’re quite fond of them ourselves. But the reality is, modular components and highly capable development boards allow the modern hardware hacker to get things done with far less solder smoke then ever before. In fact, sometimes all you need to finish your project is the right code.

Case in point, check out the slick electronic paper weather display that [Danko Bertović] shows off in the latest Volos Projects video. While it certainly fits the description of a DIY project, he didn’t have to put any of the hardware together himself. The M5Paper is an ESP32 development kit designed around a crisp 4.7″, 960 x 540 e-paper panel that includes everything from environmental sensors to an internal 1150 mAh battery. To make your handheld e-paper dreams come true, the only thing you need to provide is the software.

The weather display code provided by [Danko] should certainly get you going in the right direction. Now don’t get us wrong, there’s certainly no shame in just flashing his code to the device and plunking it on your desk. It’s a gorgeous looking interface, and we all know that a sprinkling of open source code is often all it takes to make a standard consumer device extraordinary. But by using the code he’s provided as a launching point, you can take this turn-key device and really make it your own.

Continue reading “M5Paper Gets Open Source Weather Display Firmware”

Rolling Your Own Long-Range IoT Sensor Network

Homebrew wireless sensors are nothing new around these parts: grab an ESP8266, hang a BME280 from the I2C pins, and you’re just a few lines of code away from joining the Internet of Things on your own terms. Builds like this are so cheap and easy that they make an excellent first project for folks looking to get into the electronics game, but what if you’re looking for something a bit more bespoke?

In that case, you could follow in the footsteps of [Discreet Mayor] and put together a custom modular architecture for long-range wireless sensors. The core of the system is a breakout board for the Texas Instruments SimpleLink CC1312 wireless MCU which features a simple 2×11 header connector. This allows the module to either be plugged into a larger board or have a small sensor PCB attached directly to it.

Rather than using WiFi or requiring some existing radio infrastructure, the boards automatically create a private network using the IEEE 802.15.4 standard at a range of up to 600 meters. A dedicated receiver isn’t necessary, to pull data off the network, one of the CC1312 boards simply gets connected to a computer through a simple FT232 adapter.

[Discreet Mayor] has already created a number of projects that use these custom radios for communication, from a pool monitoring system to a temperature sensor for the BBQ. That portable battery operated devices are able to use this common communications backbone just as well as mains powered static devices is a testament to the work that went into the firmware to make it as robust and efficient as possible.

Like the idea of long-range private networks, but less enthusiastic about having to come up with your own hardware? Not to worry. Over the summer, Espressif announced that they’re working on an ESP32 variant that includes support for IEEE 802.15.4. Just as soon as this chip shortage is over, we might even get to see the thing.