Ambient Lighting For Baby With The ESP8266

There are plenty of great reasons to have a child. Perhaps you find the idea of being harshly criticized by a tiny person very appealing, or maybe you enjoy somebody screaming nonsense at you while you’re trying to work on something. But for us, we think the best reason for procreation is getting another excuse to build stuff. It’ll be what, at least two years before a baby can solder or program a microcontroller? Somebody’s going to have to do it for them until then.

To try to help his baby daughter get on a better sleep schedule, [Amir Avni] decided to outfit her room with some “smart” lighting to establish when it’s time for her to wake up. Not only can he and his wife control the time the lights come on to “day” mode, but they can also change the colors. For example, they can switch over to a red glow at night. Despite some learning experience setbacks, the both the parents and the baby are very happy with the final product.

An ESP8266 controls a WS2812 LED strip to provide the adjustable lighting, and a DHT22 sensor was added to the mix to detect the temperature and humidity in the baby’s room. [Amir] used Blynk to quickly throw together a slick mobile application that allows for complete control of the brightness and color of light in the room, as well as provides a readout of the environmental data pulled from the DHT22.

But not everything went according to plan. [Amir] thought he could power the LED strip from the ESP8266 development board by soldering to the 5 V side of its AMS1117 voltage regulator. Which worked fine, until he turned on too many LEDs. Then it pulled too much current through a resistor connected to the regulator, and let all the magic smoke out. An important reminder of what can happen when we ask more of a circuit than what it was designed for.

We’ve covered many awesome projects that were born of a parental need, from feature packed baby monitors to devices seemingly designed to program nostalgia in the little one’s subconscious.

Using An FPGA To Generate Ambient Color From Video

We should all be familiar with TV ambient lighting systems such as Philips’ Ambilight, a ring of LED lights around the periphery of a TV that extend the colors at the edge of the screen to the surrounding lighting. [Shiva Rajagopal] was inspired by his tutor to look at the mechanics of generating a more accurate color representation from video frames, and produced a project using an FPGA to perform the task in real-time. It’s not an Ambilight clone, instead it is intended to produce as accurate a color representation as possible to give the impression of a TV being on for security purposes in an otherwise empty house.

The concern was that simply averaging the pixel color values would deliver a color, but would not necessarily deliver the same color that a human eye would perceive. He goes into detail about the difference between RGB and HSL color spaces, and arrives at an equation that gives an importance rating to each pixel taking into account its saturation and thus how much the human eye perceives it. As a result, he can derive his final overall color by looking at these important pixels rather than the too-dark or too-saturated pixels whose color the user’s eye will not register.

The whole project was produced on an Altera DE2-115 FPGA development and education board, and makes use of its NTSC and VGA decoding example code. All his code is available for your perusal in his appendices, and he’s produced a demo video shown here below the break.

Continue reading “Using An FPGA To Generate Ambient Color From Video”

Ambient Computer Noise Leaks Your Encryption Keys

[Daniel, Adi, and Eran], students researchers at Tel Aviv University and the Weizmann Institute of Science have successfully extracted 4096-bit RSA encryption keys using only the sound produced by the target computer. It may sound a bit like magic, but this is a real attack – although it’s practicality may be questionable. The group first described this attack vector at Eurocrypt 2004. The sound used to decode the encryption keys is produced not by the processor itself, but by the processor’s power supply, mainly the capacitors and coils. The target machine in this case runs a copy of GNU Privacy Guard (GnuPG).

During most of their testing, the team used some very high-end audio equipment, including Brüel & Kjær laboratory grade microphones and a parabolic reflector. By directing the microphone at the processor air vents, they were able to extract enough sound to proceed with their attack. [Daniel, Adi, and Eran] started from the source of GnuPG. They worked from there all the way down to the individual opcodes running on the x86 processor in the target PC. As each opcode is run, a sound signature is produced. The signature changes slightly depending on the data the processor is operating on. By using this information, and some very detailed spectral analysis, the team was able to extract encryption keys. The complete technical details of the attack vector are available in their final paper (pdf link).

Once  they had the basic methods down, [Daniel, Adi, and Eran] explored other attack vectors. They were able to extract data using ground fluctuations on the computers chassis. They even were able to use a cell phone to perform the audio attack. Due to the cell phone’s lower quality microphone, a much longer (on the order of several hours) time is needed to extract the necessary data.

Thankfully [Daniel, Adi, and Eran] are white hat hackers, and sent their data to the GnuPG team. Several countermeasures to this attack are already included in the current version of GnuPG.

Scavenging Ambient Electromagnetic Energy

energy_harvesting_from_radio_waves

At this very moment, unseen radio waves are bouncing off almost everything that surrounds you. Emitted by everything from radio and TV stations to cell phone networks and satellites, these waves are full of unharnessed energy. That is, until now. Researchers at the Georgia Tech School of Electrical and Computer Engineering have been working diligently to harness this unused energy, and recently unveiled their new antenna technology at the IEEE Antennas and Propagation Symposium.

The team, led by professor [Manos Tentzeris] has been working to develop ultra-wideband antennas to tap into the energy all around us. Using printers filled with a specially-formulated ink compound, they have been able to print these antennas on paper and polymer substrates. The antennas can harness energy stored in radio frequencies ranging from 100 MHz all the way up to 60 GHz, depending on the printing medium.

The team can currently power temperature sensors using television signals, and is preparing a demo in which they will power a microcontroller simply by holding it up in the air. The technology is still in its infancy, but the list of applications is almost endless. We doubt you’ll be powering your TV with this technology any time soon, but it definitely holds promise for things such as wireless sensor mesh networks and the like.

[Thanks, morganism]

Arduino Based Ambient Lighting Improvements

[Simon] improved upon an existing hack by making this Arduino ambient lighting system that has four different color regions. He was inspired by [Roy’s] processing-based setup which we saw a few weeks ago. That system used processing to determine the average color of the currently displayed image, then it displayed the color on a single RGB LED strip. [Simon] was thinking a little bit bigger.

He purchased a lighting strip that could be cut into different sections and then set out to develop his own software for multiple color regions. He had little or no experience with Processing so he went one abstraction layer lower and used Java to code his interface. It’s got a lot of nice settings where you can tweak how, when, and why colors are displayed. In the end he has four independently addressable color strip on the left, right, top-left, and top-right of the screen. The best part is that the Java suite he developed can be used on different platforms, having been already tested on Windows and Linux.

More Ambient Lighting Monitor Hacks

[Christian Pigeon’s] first big project was to build this ambient light system for his computer monitor. This is based on the same concept as the Phillips Ambilight system which illuminates the area behind a television to match the color on the edges of the screen. We’ve seen clones before, but this is the first one we’ve come across based on Amblone.

With Amblone as a starting point [Christian] modified the code to work with the Arduino Duemilanove which has fewer PWM channels than its bigger brother, the Arduino Mega. No word on where he acquired the RGB LED strips that provide the illumination, but the driver boards are just protoboard with groups of resistors and transistors to switch the diodes on and off. Check out the video after the break to see effects he achieves with this setup.

Continue reading “More Ambient Lighting Monitor Hacks”

Arduino Based PC Ambient Lighting

[royboy] from the Arduino forum has recently made a post showing off his Arduino / PC ambient light system. The system is simple to wire up and easy to use, as long as your video is being sent from a PC, which for many of us that use “home theater pc” systems is very convenient. Using a sparkfun red/green/blue (non addressable) led strip, an ULN2003A, an Arduino, and a short sketch written for processing the project is easy to toss together and very effective too.

The processing sketch continuously takes screen captures and then takes the resulting pictures and averages all the colors together. That average color is fed down to the Arduino over its stock serial connection, where it is output to 3 of the pwm capable outputs. Those outputs are connected to the 2003 Darlington transistor array to switch the 12 volt led strip.

It may seem like it would be slow, as processing is an interpreted Java based language, plus serial communication, plus Arduino overhead, but its actually very responsive and completes its task with little or no lag. Join us after the break for a quick video to see for yourself.

Continue reading “Arduino Based PC Ambient Lighting”