Ambilight For Your Piano (Hero)

That old upright piano still sounds great, and now it can easily have its own special effects. [DangerousTim] added LED strips which change color when he tickles the ivories. The strips are applied along the perimeter of the rear side of the upright causing the light to reflect off of the wall behind the instrument. This is a familiar orientation which is often seen in ambilight clone builds and will surely give you the thrill of Guitar Hero’s brightly changing graphics while you rock the [Jerry Lee Lewis].

Key to this build is the electret microphone and opamp which feed an Arduino. This allows the sound from the piano to be processed in order to affect the color and intensity of the LED strips. These are not addressable, but use a transistor to switch power to the three colors of all pixels simultaneously.

We think there’s room for some clever derivative builds, but we’re still scratching our heads as to how we’d use addressable pixels. Does anyone know a relatively easy way to take the mic input and reliably establish which keys are being played? If so, we can’t wait to see your ambilight-piano-clone build. Don’t forget to tip us off when you finish the hack!

RGB Bike Rim Lights

[Yvo] sent us his latest creation, this awesome POV RGB bicycle rim light build, which features a circular interweaving of common RGB LEDs that face outward along the rim as they display constantly changing animations based on the wheel’s rpm.

Like many POV wheel builds, [Yvo]’s takes advantage of a hall effect sensor and stationary magnet to determine how fast the wheels are spinning. Unlike most POV builds, however, [Yvo’s] creation doesn’t have just one or two RGB sticks clamped onto a spoke. Instead, his wheels boast several individual RGB LED modules mounted along the rim.

Each wheel has six modules, and each module contains a scratch-build LED controller (a daisy chain of 74HC595 shift registers) that fits into a custom-made 3D-printed enclosure. The enclosures mounts onto some aluminum strips along with the RGB LEDs, and the aluminum strips mount to the wheels by straddling the rim.

At speed, the lights go into POV mode to simulate headlights / brakes with white in the front and red in the back. Check out the difference these custom circular modules make when riding and when at rest in a video below.

Continue reading “RGB Bike Rim Lights”

WiFi Lamp Challenge – 5 Hour Speedrun

“We want to get this done quick, not right.”

[CNLohr]’s favorite desk lamp broke, so he gave himself a challenge: convert the lamp to LED and control it via WiFi within 5 hours, from scratch. He video recorded and narrated the whole process and did a nice job of explaining the tricky parts and failures along the way, fast forwarding us through the slow parts.

Some bits and pieces were simple and obvious: gut the old bulb, wire some LEDs, add a few power resistors, toss in a power supply from “like a monitor or something, don’t care” for the LEDs, add in what looks like an LM2596 adjustable power supply for the logic, some kind of ATMega, that new ESP8266 (Wi07C), splice on a power cord, etc. Standard stuff.

To our readers who’s hacks tend to start with soldering irons and screwdrivers, the video shows harder parts of designing an electronics project: creating the PCB in software (he used KiCad), lithographically transferring the circuit to a PCB, bismuth solderpasting & populating the board, and writing and documenting his code on Github. Perhaps most reassuringly, he also showed the consequences of every greedy shortcut and the process of troubleshooting around them.

If you have ever tried to follow a recipe from a cooking show and noticed how easy it all seems when everything is measured and prepped beforehand – and then what a disaster it is when you try it – the same is revealed here. Overall, it is a very thorough demonstration of what it actually takes to design a project – not just perfect circuits and perfect steps to follow.

In the end he got it done in the nick of time an hour late because he cannot add. Close enough.

Thanks [gokkor] for the tip.

The Most Minimal WS2812B Driver

Whether you call them individually controllable RGB LEDs, WS2812, or NeoPixels, there’s no denying they are extremely popular and a staple of every glowey and blinkey project. Fresh off the reel, they’re nearly useless – you need a controller, and that has led to many people coming up with many different solutions to the same problem. Here’s another solution, notable because it’s the most minimal WS2812 driver we’ve ever seen.

The critical component in this build is NXP’s LPC810, an ARM Cortex M0+ in an 8-pin DIP package. Yes, it’s the only ARM in a DIP-8, but still able to run at 30MHz, and hold a 4kB program.

JeeLabs is using the SPI bus on the LPC810 to clock out data at the rate required by the LEDs. The only hardware required is a small LED to drop the voltage from 5V to 3.3V and a decoupling capacitor. Yes, you could easily get away with this as a one-component build.

The build consists of a ring of sixty WS2812b RGB LEDs, and the chip dutifully clocking out bits at the correct rate. It’s the perfect start to an LED clock project, an Iron Man arc reactor (are we still doing those?), or just random blinkey LEDs stuffed into a wearable.

Thanks [Martyn] for sending this one in.

FPGA Ambilight Clone Packs A Ton Of Features

[Stephen] designed a standalone Ambilight clone built around an FPGA and recently added many new features to make his design even better. His original design was based around a Spartan 3-E FPGA, but his new design uses the Papilio One board with a Spartan-6 LX9 FPGA. This gives him dedicated DSP hardware and more RAM, allowing him to add more processing-intensive features.

[Steven]’s new board can drive up to 4096 LEDs total, and each LED is colored from one of 256 segmented screen areas. The output of the LEDs is smoothed over a configurable time period which makes the result a bit more pleasant. [Steven] also added color correction matrices and gamma correction tables to make up for differences in LED coloration and so the output can be fine-tuned to the color of the wall behind the TV.

Finally, [Steven] added multiple configurations which can be stored in Flash memory. The FPGA can detect letterboxes and pillarboxes in the video stream and change to a corresponding configuration automatically, so settings rarely need to be manually adjusted. He also added an extensive serial interface to configure all of the parameters and configurations in Flash. Be sure to check out the video after the break to see his setup in action.

Continue reading “FPGA Ambilight Clone Packs A Ton Of Features”

The Epoch Christmas Tree

It’s that time of the year again, and the halls are being decked with trees, the trees covered in lights, and everyone working in retail is slowly going insane from Christmas songs piped over the PA. [Dan] has a tree and a bunch of programmable LEDs, but merely pumping jollity down that strip of LEDs wouldn’t be enough. The Nerd Quotient must be raised even higher with a tree that displays a Unix timestamp.

This build was inspired by an earlier, non-tree-based build that displays Unix time on a 32 LED array. That build used an ATMega328p for toggling LEDs on and off. This time around, [Dan] is using a dedicated LED controller – the AllPixel – that just wrapped up a very successful Kickstarter campaign. The AllPixel is, in turn, controlled by a Raspberry Pi running the BiblioPixel library,

The tree displays the current time stamp in binary across 32 spaces, with green representing a ‘one’ and a red representing ‘zero’. The top of the tree is the least significant bit, but in case [Dan] gets tired of the bottom of the tree staying completely still for the rest of this holiday season, he can switch the order making the base of the tree the LSB.

Video below.

Continue reading “The Epoch Christmas Tree”

Digging Into The APA102 Serial LED Protocol

[Tim] got his hands on some APA102 RGB LEDs, which are similar in function to the common WS2812 addressable LEDs seen in many projects we’ve featured. The advantage of APA102 LEDs is that they don’t have the strict timing requirements of the WS2812. These LEDs are controlled with a SPI bus that can be clocked at any arbitrary rate, making them easy to use with pretty much any microcontroller or embedded system.

After working with the LEDs, [Tim] discovered that the LEDs function a bit differently than the datasheet led him to believe. [Tim] controlled a strand of APA102 LEDs with an ATtiny85 and connected a logic analyzer between some of the LEDs. He discovered that the clock signal of the SPI interface isn’t just passed through each LED, it actually looks like it’s inverted on the output. After some investigation, [Tim] found that the clock signal is delayed by a half period (which looks like an inversion) before it’s passed to the next LED. This gives the next LED in the strand enough time for data on the data line to become valid before latching it in.

Since the clock is delayed, [Tim] discovered that additional bits must be clocked as an “end frame” to generate clock signals which propagate the remaining data to the end of the strand. Although the datasheet specifies a 32-bit end frame, this only works for strings of up to 64 LEDs. More bits must be added to the end frame for longer strands, which the datasheet doesn’t even mention. Check out [Tim]’s post for more information, where he walks you through his logic analysis of the APA102 LEDs.