Mapping WiFi Signals in 3 Dimensions

[Charles] is on a quest to complete ever more jaw-dropping hacks with the popular low-cost ESP8266 WiFi modules. This week’s project is plotting WiFi received signal strength in 3D space. While the ESP8266 is capable of providing a Received Signal Strength Indication (RSSI), [Charles] didn’t directly use it. He wrote a simple C program on his laptop to ping the ESP8266 at around 500Hz. The laptop would then translate the RSSI from the ping replies to a color value, which it would then send to the ESP8266. Since the ESP8266 was running [Charles’] custom firmware (as seen in his WiFi cup project), it could directly display the color on a WS2812 RGB LED.

The colors seemed random at first, but [Charles] noticed that there was a pattern. He just needed a way to visualize the LED over time. A single frame long exposure would work, but so would video. [Charles] went the video route, creating SuperLongExposure, an FFMPEG-based tool which extracts every video frame and composites them into a single frame. What he saw was pretty cool – there were definite stripes of good and bad signal.

wifiPOVThumbArmed with this information, [Charles] went for broke and mounted his ESP8266 on a large gantry style mill. He took several long exposure videos of a 360x360x180mm area. The videos were extracted into layers. The whole data set could then be visualized with Voxeltastic, [Charles’] own HTML5/WEBGL based render engine. The results were nothing short of amazing. The signal strength increases and decreases in nodes and anti-nodes which correspond to the 12.4 cm wavelength of a WiFi signal. The final render looks incredibly organic, which isn’t completely surprising. We’ve seen the same kind of image from commercial antenna simulation characterization systems.

Once again [Charles] has blown us away, we can’t wait to see what he does next!

Continue reading “Mapping WiFi Signals in 3 Dimensions”

Mug Music Is Good to the Last Drop

[Bonnie] is majoring in CS at Princeton and minoring in Awesome. She is taking an electronic music class and had to produce a digital instrument for her midterm project. She and her friend [Harvest] came up with Mug Music, which turns a ceramic mug of water into an instrument.

The circuit is very easy to replicate with an Arduino, a coil, and a few resistors and capacitors. [Bonnie] wanted to experiment with Disney Research Lab’s Touché method of touch detection, and Mug Music is based on this Touché for Arduino Instructable. The inputs are turned into MIDI notes with ChucK, a real-time sound synthesis language developed at Princeton.

As you may have guessed and will see in the demonstration video after the jump, you aren’t limited to touching the water. The entire mug will produce sounds as well. [Bonnie] says you can trigger a thunderclap if you touch the water and a grounded surface simultaneously.

This would be a great project to explore with kids, especially as a music therapy vehicle for kids on the autism spectrum. It isn’t as physical as these portable musical stairs, but it may draw less attention from lawyers.

Continue reading “Mug Music Is Good to the Last Drop”