RGB LEDs: How To Master Gamma And Hue For Perfect Brightness

You would think that there’s nothing to know about RGB LEDs: just buy a (strip of) WS2812s with integrated 24-bit RGB drivers and start shuffling in your data. If you just want to make some shinies, and you don’t care about any sort of accurate color reproduction or consistent brightness, you’re all set.

But if you want to display video, encode data in colors, or just make some pretty art, you might want to think a little bit harder about those RGB values that you’re pushing down the wires. Any LED responds (almost) linearly to pulse-width modulation (PWM), putting out twice as much light when it’s on for twice as long, but the human eye is dramatically nonlinear. You might already know this from the one-LED case, but are you doing it right when you combine red, green, and blue?

It turns out that even getting a color-fade “right” is very tricky. Surprisingly, there’s been new science done on color perception in the last twenty years, even though both eyes and colors have been around approximately forever. In this shorty, I’ll work through just enough to get things 95% right: making yellows, magentas, and cyans about as bright as reds, greens, and blues. In the end, I’ll provide pointers to getting the last 5% right if you really want to geek out. If you’re ready to take your RGB blinkies to the next level, read on!

Continue reading “RGB LEDs: How To Master Gamma And Hue For Perfect Brightness”

540 LEDs On A Geodesic Sphere

[burgerga] loves attending Music Festivals. He’s also a MechE who loves his LED’s. He figured he needed to put it all together and do something insane, so he build a huge, 15″ geodesic sphere containing 540 WS2812B addressable LED’s. He calls it the SOL CRUSHER. It sips 150W when all LED’s are at full intensity, making it very, very, bright.

As with most WS2812B based projects, this one too is fairly straightforward, electrically. It’s controlled by four Teensy 3.2 boards mounted on Octo WS2811 adapter boards. Four 10,000 mAh 22.2V LiPo batteries provide power, which is routed through a 5V, 30Amp heatsinked DC-DC converter. To protect his LiPo batteries from over discharge, he built four voltage monitoring modules. Each had a TC54 voltage detector and an N-channel MOSFET which switches off the LiPo before its voltage dips below 3V. He bundled in a fuse and an indicator, and put each one in a neat 3D printed enclosure.

The mechanical design is pretty polished. Each of the 180 basic modules is a triangular PCB with three WS2812B’s, filter capacitors, and heavy copper pours for power connections. The PCB’s are assembled in panels of six and five units each, which are then put together in two hemispheres to form the whole sphere. His first round of six prototypes set him back as he made a mistake in the LED footprint. But it still let him check out the assembly and power connections. For mechanical support, he designed an internal skeleton that could be 3D printed. There’s a mounting frame for each of the PCB panels and a two piece central sphere. Fibreglass rods connect the central sphere to each of the PCB panels. This lets the whole assembly be split in to two halves easily.

It took him over six months and lots of cash to complete the project. But the assembly is all done now and electrically tested. Next up, he’s working on software to add animations. He’s received suggestions to add sensors such as microphones and accelerometers via comments on Reddit. If you’d like to help him by contributing animation suggestions, he’s setup a Readme document on Dropbox, and a Submission form. Checkout the SolCrusher website for more information.

Thanks [Vinny Cordeiro], for letting us know about this build.

Continue reading “540 LEDs On A Geodesic Sphere”

Easy LED Panel

Imagine how impressed your friends will be when you tell them about your homebrew 4K LED panel. Just don’t tell them it is a 64X64 grid. (Hey, that’s 4K LEDs total!) We’ll keep your secret. [Tom Nelson] has a good write up on how to create such a panel from 16X16 WS2812B panels.

At first glance, this doesn’t sound like a tough project. But if you read [Tom’s] log, you’ll see that he has a lot of good advice about heat management and the use of a diffuser to get good performance. The build uses several ECG-P2-2 controllers, plus it is mechanically neatly done.

The 64 cm square array is a precursor to a planned 128X128 display that [Tom] wants to build. He mentions he will release the custom driver software for the panel, so check his site for more details. We’ve seen some panels and diffusers before if you want to start with something smaller and work your way up.

TrainLight: Transit Info At A Glance

In a world of sensory overload, sometimes it’s nice to get the information you need without a bunch of clutter. [Savage] has created an attractive and minimalist system to display the current wait times for specific trains in his San Francisco neighborhood.

trainlight-legendIt’s basically a Spark Core and a 60 LED-per-meter strip of WS2812Bs. A 1000µF cap filters the power coming in from a switching adapter and a resistor limits the level-shifted logic going to the LEDs. Eight barriers made from card stock keep the light zones from bleeding together. The sides of the square canvas panel indicate cardinal directions and are oriented to [Savage]’s southern-facing house.

The server gets prediction data every 30 seconds using the RESTbus JSON API. [Savage] added in a bit of time for walking down the stairs, putting shoes on, and walking to each stop. TrainLight receives these times over WiFi and lights the LEDs accordingly. If a section isn’t lit at all, the wait time for that line is greater than 10 minutes. Dark green means you have 5-10 minutes to get there, and pale green means 2-5 minutes. If the LEDs are yellow, you’d better put on your running shoes.

This is a fairly simple build with a focus on subtlety. Even before guests in his house understand what they’re looking at, [Savage]’s TrainLight makes for an interesting conversational piece of blinkenlights and doubles as illumination for the stairs. There’s a slightly sped-up demo after the break.

Want to make your own? [Savage] has a tutorial page and his code is up on the gits. Blinky lights are also good for telling you whether the trains are running at all.

Continue reading “TrainLight: Transit Info At A Glance”

Break Your Wrist? Twitter-Enable That Plaster Cast

Plaster casts are blank canvases for friends and family to post their get well messages. But if it’s holiday season, adding blinky LED lights to them is called for. When [Dr Lucy Rogers] hurt her hand, she put a twitter enabled LED Christmas tree on her cast.

The hardware is plain simple – some RGB LEDs, an Arduino, a blue tooth module and a battery. The LEDs and wires formed the tree, and all the parts were attached to the plaster cast using Velcro. This allowed the electronics to be removed during future X-ray scans. The fun part was in connecting the LEDs to the #CheerLights project. CheerLights is an “Internet of Things” project that allows people’s lights all across the world to synchronize to one color set by a Tweet. To program the Arduino, she used code written by [James Macfarlane] which allowed the LED color to be set to any Cheerlights color seen in blue tooth UART data.

Connectivity is coordinated using MQTT — lightweight standard popular with connected devices. By connecting the MQTT feed to the cheerlights topic from [Andy Stanford-Clark’s] MQTT feed (mqtt://iot.eclipse.org with the topic cheerlights) the lights respond to tweets (Tweet #cheerlights and a color). The LED colors can also be selected via the phone from the color picker tool in the controller, or directly via the UART. If the Bluetooth connection is lost, the LEDs change colors randomly. Obviously, delegates had great fun when she brought her Twitter enabled LED blinky lights plaster cast arm to a conference. It’s not as fun unless you share your accomplishments with others!

RGB LED Ceiling Display

yP8PoVDisco Floor’s are passé. [dennis1a4] turned them upside down and built an awesome RGB LED ceiling display using some simple hardware and a lot of elbow grease. His main room ceiling was exactly 32 ft x 20 ft and using 2 sq. ft tiles, he figured he could make a nice grid using 160 WS2812B RGB LEDs. A Teensy mounted in the ceiling does all the heavy lifting, with two serial Bluetooth modules connected to it. These get connected to two Bluetooth enabled NES game controllers. Each of the NES controller is stuffed with an Arduino Pro Mini, a Bluetooth module, Li-Ion battery and a USB charge controller.

Bluetooth is in non-secure mode, allowing him to connect to the Teensy, and control the LEDs, from other devices besides the NES controllers. The Teensy is mounted at the centre of the ceiling to ensure a good Bluetooth link. Programming required a lot of thought and time but he did manage to include animations as well as popular games such as Snake and Tetris.

LED_Ceiling_deadbugThe hard part was wiring up all of the 160 LED pixels. Instead of mounting the 5050 SMD LED’s on PCBs, [dennis1a4] wired them all up “dead bug” style. Each pixel has one LED, a 100nF decoupling capacitor, and 91 ohm resistors in series with the Data In and Data Out pins – these apparently help prevent ‘ringing’ on the data bus. Check the video for his radical soldering method. Each SMD LED was clamped in a machine shop vice, and the other three parts with their leads preformed were soldered directly to the LED pins.

The other tedious task was planning and laying out the wiring harness. Sets of 10 LEDs were first wired up on the shop bench. He then tacked them up to the ceiling and soldered them to the 14 gauge main harness. The final part was to put up the suspended ceiling and close the 2 sq. ft. grids with opaque plastic.

[dennis1a4]  did some trials to figure out the right distance between each LED and the panel to make sure they were illuminated fully without a lot of light bleeding in to adjacent panels. This allowed him to get away without using baffles between the tiles.

Check out the video to see a cool time-lapse of the whole build.

Continue reading “RGB LED Ceiling Display”

Because Burning Man Needed More LEDs

There are a lot of blinky glowy things at Burning Man every year, and [Mark] decided he would literally throw his hat into the ring. He built a high visibility top hat studded with more RGB LEDs than common sense would dictate. It’s a flashy hat, and a very good example of the fashion statement a few hundred LEDs can make.

[Mark]’s top hat has 481 WS2812b addressable LEDs studded around the perimeter, a common LED choice for bright and blinky wearables. These LEDs are driven by a Teensy 3.1, with a Bluetooth transceiver, a GPS module, a compass, and gyro/accelerometer attached to the microcontroller. That’s a lot of hardware, but it gives [Mark] the capability of having the hat react to its own orientation, point itself North, and allow for control via a modified Nintendo NES controller.

The WS2812 LEDs draw a lot of power, and for any wearable project having portable power is a chief concern. [Mark]’s original plan was to use an 8x battery holder for the electronics enclosure, and use five AA batteries to power the hat. The total idle draw of the LEDs was 4.5 Watts, and with even a few LEDs blinking colors there was a significant voltage drop. The idea of powering the hat with AA batteries was discarded and the power source was changed to a 195 Watt-hour lithium ion battery bank that was topped off each day with a solar panel.

The hat is awesome, exceedingly bright, and something that gets a lot of attention everywhere  it goes. For indoor use, it might be too bright, but this could be fixed with the addition of a bit of black stretchy fabric, like what our own [Mike Szczys] did for his DEF CON hat. [Mark]’s hat is just version 1, and he plans on making a second LED hat for next year.