We don’t think [bleepbit] will take offense when we say the “poor man’s theremin” looks cheesy — after all, it was built in a cheese container. Actually, it isn’t a bad case for a simple device, as you can see in the picture and the video below. Unlike a traditional theremin, the device uses ultrasonics to detect how far away your hand is and modifies the sound based on that.
There are also two buttons — one to turn the sound off and another to cycle through some effects. We liked how it looked like a retro cassette, though. The device uses a cheap Arduino clone, but even with a real Arduino, the price wouldn’t be too bad. However, the price tag quoted doesn’t include a few connectors or the speaker that appears in the schematic. There’s a note that the model built uses a jack instead of a speaker, but it would be nice to include both and use the kind of jack that disconnects the speaker when you plug speakers or headphones in.
We’ve all seen acoustic levitation, it’s one of the scientific novelties of our age and a regular on the circuit of really impressive physical demonstrations of science to the public. The sight of arrays of ultrasonic speakers causing small objects and beads of liquid to float in mid-air without any suspension is magical, captivating people of all ages. Thus a lecture at Hackaday Belgrade on the subject from Asier Marzo, a research scientist with a speciality in the field of ultrasonics at the UK’s University of Bristol, was a particularly fascinating and informative one.
He started by explaining acoustic levitation as a concept, and its mechanism. As an idea it’s one with a long history, he tells us that hundreds of years ago people tried mass ranks of the loudest musical instruments at their disposal to move rocks, all to no avail. The array of musicians of yore lacked the ability to control their individual phase, and of course their combined output would have balked at a pea-sized piece of gravel, let alone a boulder.
The Power of Standing Waves
Given that we can now create standing waves between phased arrays of ultrasonic speakers, he explained the mechanism that allows the levitation. The standing wave creates patterns of high intensity and “quiet” low intensity sound, and the object nestles in one of these quiet areas. There is thus a size limit dictated by the wavelength of the sound in question, which for the ultrasound he’s using is in the order of a few millimetres.
Having explained how it all works, we were then taken into the fields in which it finds an application. This was particularly interesting, because it’s the side we never see in the for-the-kids demos where it’s all about “Look, we can make the water droplet float!”. The number of fields that can find a use for it was a surprise, and formed the next phase of the talk.
Real World Uses for Acoustic Levitation
The first example given was in the field of spectroscopy, when reflecting light from a droplet of liquid on a substrate a certain amount of the reflected light comes from the substrate. If the sample is levitated, all the reflection comes from it and nothing else. Microgravity experiments are another interesting application, where it is possible to replicate some of the work that has previously required the environment of a space craft such as the International Space Station. This was a particularly unexpected twist.
The technique can be used for tiny particles in a liquid medium with a much higher frequency — a demonstration involves moving a single blood cell in a pattern. But Asier has more tricks up his sleeve. This technique can be used in human interactions with computers and with the real world. We saw a display in which the pixels were small plastic balls suspended in a grid, they could even be flipped in colour by being rotated under an electric field. A successive display used the balls not in a grid but as a point cloud in a graph, proving that rasters are not the only means of conveying information. Finally we saw the arrays applied to wearable devices, a handheld tractor beam, and a set of standing wave tweezers. He gave the example of picking up an SMD component, something that we can see would be invaluable.
Levitation is Within Our Grasp
The good news for us is that this is a piece of cutting-edge science that is accessible to us at our level too. He’s made a selection of designs available online through the Acoustic Levitator site. There is an ultrasonic array, an acoustic levitator, and an acoustic tractor beam, and the components are such run-of-the-mill parts as Arduinos and motor driver boards. Even schoolchildren building them from kits, with an experimenter using one for Schlieren photography of the acoustic field. Finally we’re shown Ultraino, an ambitious project providing software and driver hardware for large arrays in which every transducer is individually driven, before a tantalising look at future work in fluid ultrasonics and the promise of an ultrasonic audio speaker project.
Hackaday covers a huge array of projects and topics from all corners of our community. Each one is exciting in its own way, from a simple-looking Arduino project that encapsulates a cool hack to a multi-year labour of love. It’s not often though that we can say we’ve seen a genuinely cutting-edge piece of science, while simultaneously having it explained in terms we understand and being given an accessible version that we can experiment with ourselves. We are really looking forward to the projects that will come from this direction, as acoustic levitation becomes yet another known quantity in the hardware hacker’s armoury.
Sometimes the best you can say about a project is, “Nice start.” That’s the case for this as-yet awful DIY 3D scanner, which can serve both as a launching point for further development and a lesson in what not to do.
Don’t get us wrong, we have plenty of respect for [bitluni] and for the fact that he posts his failures as well as his successes, like composite video and AM radio signals from an ESP32. He used an ESP8266 in this project, which actually uses two different sensors: an ultrasonic transducer, and a small time-of-flight laser chip. Each was mounted to a two-axis scanner built from hobby servos and 3D-printed parts. The pitch and yaw axes move the sensors through a hemisphere gathering data, but unfortunately, the Wemos D1 Mini lacks the RAM to render the complete point cloud from the raw points. That’s farmed out to a WebGL page. Initial results with the ultrasonic sensor were not great, and the TOF sensor left everything to be desired too. But [bitluni] stuck with it, and got a few results that at least make it look like he’s heading in the right direction.
We expect he’ll get this sorted out and come back with some better results, but in the meantime, we applaud his willingness to post this so that we can all benefit from his pain. He might want to check out the results from this polished and pricey LIDAR scanner for inspiration.
There’s a school of thought that says complexity has an inversely proportional relation to reliability. In other words, the smarter you try to make something, the more likely it is to end up failing for a dumb reason. As a totally random example: you’re trying to write up a post for a popular hacking blog, all the while yelling repeatedly for your Echo Dot to turn on the fan sitting three feet away from you. It’s plugged into a WeMo Smart Plug, so you can’t even reach over and turn it on manually. You just keep repeating the same thing over and over in the sweltering July heat, hoping your virtual assistant eventually gets the hint. You know, something like that. That exact scenario definitely has never happened to anyone in the employ of this website.
So it should come as no surprise that the more sensors we pack into devices, the more potential avenues of failure we open up. [Julio Della Flora] writes in to tell us of some interesting experiments he’s been performing with the MEMS gyroscope in his Xiaomi MI5S Plus smartphone. He’s found that with a function generator and a standard speaker, he’s able to induce false sensor readings.
Now it should be said, [Julio] is not claiming to be the first person to discover that ultrasonic sound can confuse MEMS gyroscopes and accelerometers. At Black Hat 2017, a talk was given in which a “Sonic Gun” was used to do things like knock over self-balancing robots using the same principle. The researchers were also able to confuse a DJI Phantom drone, showing that the technique has the potential to be weaponized in the real-world.
Infrared certainly has its uses, but if you’re trying to locate objects, ultrasonic detection is far superior. It’s contact-less, undetectable to the human ear, and it isn’t affected by smoke, dust, ambient light, or Silly String.
[lingib]’s dual sensor echo locator uses two HY-SRF05s, but the cheap and plentiful HC-SR04s will work, too. Both sensors are arranged for maximum beam overlap and wired up to an Arduino Uno. One sensor’s emitter is blocked with masking tape, so all it does is listen.
When the system registers the object, it shows up as a red dot on a grid inside a Processing sketch along with a bunch of details like the object’s coordinates, its distance from each sensor, and the area of the triangle formed by the two sensors and the object. [lingib] reports that the system is quite accurate and will work for much larger playgrounds than the 1 meter square in the demo after the break.
Some of the best hacks are the ones which seem perfectly obvious in hindsight; a solution to the problem that’s so elegant, you wonder how it never occurred to you before. Of course we also love the hacks that are so complex your eyes start to water, but it’s nice to have a balance. This one, sent in by [Eduardo Zola] is definitely in the former group.
In the video after the break, [Eduardo] demonstrates his extremely simple setup for using ultrasonic transducers for one-way data communication. Powered by a pair of Arduinos and using transducers salvaged from the extremely popular HC-SR04 module, there’s a good chance a lot of readers can recreate this one on their own bench with what they’ve got lying around. In this example he’s sending strings of text from one computer to another, but with a little imagination this can be used for all sorts of projects.
For the transmitter, the ultrasonic transducer is simply tied to one of the digital pins on the Arduino. The receiver is a bit more complex, requiring a LM386 amplifier and LM393 comparator to create a clean signal for the second Arduino to read.
But how does it work? Looking through the source code for the transmitter and receiver, we can see it’s about as basic as it gets. The transmitter Arduino breaks down a given string into individual characters, and then further converts the ASCII to eight binary bits. These bits are sent out as tones, and are picked up on the receiving end. Once the receiver has collected a decent chunk of tones, it works through them and turns the binary values back into ASCII characters which get dumped over serial. It’s slow, but it’s simple.
[ChrisN219] has an antique Coke machine that used to hold glass bottles. Now it holds around 30 tall boy cans of his favorite post-work suds. The only problem is that [Chris] has no idea how many cans are in it without opening up the door or keeping tally on a nearby slate board. Enter the Arduino.
He wanted to make something completely non-invasive to the machine (phew!) while using as many parts he already had as possible. The result is a simple circuit that uses an ultrasonic sensor mounted inside the machine to ping the depths, and a Nano in a nifty 3D printed box up top to do some math and display the number of cans remaining as a simple bar graph. The sensor reads one bay, and the code multiplies by two to get the total. It was touch and go there for a minute as he wasn’t sure that the HC-SR04s would get a good response from the cylindrical cans. Not only did they give a good reading, the first test was quite accurate.
[Chris] recently finished Mk. II, which replaces the momentary (and the Coke logo) with a second HC-SR04. The first version required the push of a button to do inventory, but now he simply walks up to the machine and knows at a glance if it’s time to make a beer run.
Okay, so maybe you don’t have cool old Coke machine problems. But surely you can find something that needs pinging, like an inconvenient rain barrel.