Seeing Sound With A Laser

You can hear sound, of course, but what if you could see it with a laser? That’s what [Goosetopherson] thought about, and thus a new project that you can see in the video below was born.

The heart of the project is an I2S chip and an ESP32. Sound energy deforms a plastic film that causes a mirror to move. The moving mirror alters the course of the laser’s beam. Continue reading “Seeing Sound With A Laser”

A UI-Focused Display Library For The ESP32

If you’re building a project on your ESP32, you might want to give it a fancy graphical interface. If so, you might find a display library from [dejwk] to be particularly useful.

Named roo_display for unclear reasons, the library is Arduino-compatible, and suits a wide range of ESP32 boards out in the wild. It’s intended for use with common SPI-attached display controllers, like the ILI9341, SSD1327, ST7789, and more. It’s performance-oriented, without skimping on feature set. It’s got all kinds of fonts in different weights and sizes, and a tool for importing more. It can do all kinds of shapes if you want to manually draw your UI elements, or you can simply have it display JPEGs, PNGs, or raw image data from PROGMEM if you so desire. If you’re hoping to create a touch interface, it can handle that too. There’s even a companion library for doing more complex work under the name roo_windows.

If you’re looking to create a simple and responsive interface, this might be the library for you. Of course, there are others out there too, like the Adafruit GFX library which we’ve featured before. You could even go full VGA if you wanted, and end up with something that looks straight out of Windows 3.1. Meanwhile, if you’re cooking up your own graphics code for the popular microcontroller platform, you should probably let us know on the tipsline!

Thanks to [Daniel] for the tip!

Fighting Food Poisoning With A Patch

Food poisoning is never a fun experience. Sometimes, if you’re lucky, you’ll bite into something bad and realize soon enough to spit it out. Other times, you’ll only realize your mistake much later. Once the tainted food gets far enough into the digestive system, it’s too late. Your only option is to strap in for the ride as the body voids the toxins or pathogens by every means available, perhaps for several consecutive days.

Proper food storage and preparation are the key ways we avoid food poisoning today. However, a new development could give us a further tool in the fight—with scientists finding a way to actively hunt down and destroy angry little pathogens before they can spoil a good meal.

Continue reading “Fighting Food Poisoning With A Patch”

Hackaday Podcast Episode 352: Visualizing Sound, And Windows 11 Is A Dog

This week, Hackaday’s Elliot Williams and Kristina Panos met up over coffee to bring you the latest news, mystery sound results show, and of course, a big bunch of hacks from the previous seven days or so.

On What’s That Sound, Kristina had no idea what was going on, but [Flippin’ Heck] knew it was a flip dot display, and won a Hackaday Podcast t-shirt! Congratulations!

After that, it’s on to the hacks and such, with not one but two ways of seeing sound.  We also take a look at benchmarking various Windows releases against each other on 12-year-old hardware.

We also talk about painting on floppies and glitching out jpegs in a binary text editor. Finally, we discuss the history and safety of autopilot, and take a look at the humble time clock.

Check out the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Download in DRM-free MP3 and savor at your leisure.

Continue reading “Hackaday Podcast Episode 352: Visualizing Sound, And Windows 11 Is A Dog”

NPAPI And The Hot-Pluggable World Wide Web

In today’s Chromed-up world it can be hard to remember an era where browsers could be extended with not just extensions, but also with plugins. Although for those of us who use traditional Netscape-based browsers like Pale Moon the use of plugins has never gone away, for the rest of the WWW’s users their choice has been limited to increasingly more restrictive browser extensions, with Google’s Manifest V3 taking the cake.

Although most browsers stopped supporting plugins due to “security concerns”, this did nothing to address the need for executing code in the browser faster than the sedate snail’s pace possible with JavaScript, or the convenience of not having to port native code to JavaScript in the first place. This led to various approaches that ultimately have culminated in the WebAssembly (WASM) standard, which comes with its own set of issues and security criticisms.

Other than Netscape’s Plugin API (NPAPI) being great for making even 1990s browsers ready for 2026, there are also very practical reasons why WASM and JavaScript-based approaches simply cannot do certain basic things.

Continue reading “NPAPI And The Hot-Pluggable World Wide Web”

Play Games In UEFI…to Access Your Computer

These days, bootstrapping a computer is a pretty straight forward process, at least as far as the user is concerned. But in the olden days, one would have to manually flick switches entering binary code to get the computer to boot. While certainly not as painstaking as manually flipping bits, these games written for UEFI systems hearken back to the days when accessing your computer was a touch more complicated than pressing a power button.

The repository features five games ranging from a falling ball maze to an age verification quiz. The one thing they all have in common is that to complete system boot, you need to win. All are available in UEFI modules which can not only run in QEMU virtual machines, but bare metal if you so choose.

In no particular order, the games featured are a User Evaluation For Ineptness, which presents a simple addition problem for the user to complete. Insult Sword Fighting, which requires the user to select the correct come back to a prompted insult. Fall To Boot, a falling ball maze navigation game. Age Verification, a set of questions about 80s culture to prove the user is old enough to use the computer. And finally, UEFI Says, a simple memory game.

All of these games are fairly simple, but it’s rather fun to see them built using EDK II as a UEFI module. Let us know down in the comments which is your favorite. And if you’re running an ARM computer, you too can join in on the fun!

Thanks [thatsgrand] for the tip!

 

 

Detail of Horus's face, from a statue of Horus and Set placing the crown of Upper Egypt on the head of Ramesses III. Twentieth Dynasty, early 12th century BC.

HORUS Framework: A Rust Robotics Library

[neos-builder] wrote in to let us know about their innovation: the HORUS Framework — Hybrid Optimized Robotics Unified System — a production-grade robotics framework built in Rust for real-time performance and memory safety.

This is a batteries included system which aims to have everything you might need available out of the box. [neos-builder] said their vision is to create a robotics framework that is “thick” as a whole (we can’t avoid this as the tools, drivers, etc. make it impossible to be slim and fit everyone’s needs), but modular by choice.

[neos-builder] goes on to say that HORUS aims to provide developers an interface where they can focus on writing algorithms and logic, not on setting up their environments and solving configuration issues and resolving DLL hell. With HORUS instead of writing one monolithic program, you build independent nodes, connected by topics, which are run by a scheduler. If you’d like to know more the documentation is extensive.

The list of features is far too long for us to repeat here, but one cool feature in addition to the real-time performance and modular design that jumped out at us was this system’s ability to process six million messages per second, sustained. That’s a lot of messages! Another neat feature is the system’s ability to “freeze” the environment, thereby assuring everyone on the team is using the same version of included components, no more “but it works on my machine!” And we should probably let you know that Python integration is a feature, connected by shared-memory inter-process communication (IPC).

If you’re interested in robotics and/or real-time systems you should definitely be aware of HORUS. Thanks to [neos-builder] for writing in about it. If you’re interested in real-time systems you might like to read Real-Time BART In A Box Smaller Than Your Coffee Mug and Real-Time Beamforming With Software-Defined Radio.