r26D

LuminaRGB at Luminaria San Antonio 2016

In the spring of 2016 we submitted a project for the Luminaria contemporary arts festival here in San Antonio. After being reviewed by their artistic advisory committee, they selected our Eastside Light Rail Authority for inclusion in the festival. The initial idea was scaling up the LED experiments we’d done with Blinkdom and mixing in the data collection instrumentation we wanted to do on trains with Train Quiet Zone.

After getting the honor of being accepted in Luminaria, we went to a quick meeting to meet their team and discuss details of the project. The location we had chosen ended up being outside the festival footprint. As a non-profit being sponsored by Union Pacific, there was some hesitation about us drawing any attention to freight trains. In the end, we agreed to remix the project and move to the Hays Street Bridge.

Light it Up

The initial goals of the remix were to scale up LEDs in a month for $500. We have been working with 5V 12mm RGB LEDs, controlled over a network with software. In researching ways to go bigger, we had found an option in DIY Christmas scene, the people who light up their houses and sync to music for the holidays. “RobG” is producing boards that can be soldered up to control a 20W RGB LED, available for sale on Tindie, that can be mounted inside cheap Chinese made floodlights.

Four 20W RGB LED Boards to try out

20W RGB LED Boards to try out

Hours of assembly required. The first boards we received were v4 and required soldering 21 components, mostly resistors, capacitors, and diodes.

30W Cool White LED Floodlight (Lower Left) with a strand of 12mm RGB LEDs (Right side) for comparison 30W Cool White LED Floodlight

We’ve used 3in diameter lenses with 12mm pixels. A 20W pixel could use an 8ft diameter lense and is 100 times brighter.

First Assembled Board

First Assembled Board

In every new project, there is a learning curve as you attempt to climb the hill of the unknown. First, we had to dust off our soldering skills and follow the assembly instructions. After reviewing our completed board, we discovered the LED chip was installed upside down. Once we found a 24VDC power supply from another project, we attempted to power up the circuit to test the LED with jumper wires.

Blue Channel Passes the Test

Blue Channel Passes the Test

The image shows the blue channel functioning, because in the process of manually activating the red and green channels, the wrong components were energized, shorting them out. Because we tested the LED in the soldering stand, there wasn’t any heat sink attached so the protective layer of plastic film on the face of the LED, we hadn’t notice, quickly melted. (After some practice, we’d only destroyed three of the eighteen LED boards. 16 “Mega Pixels” was the plan, but dropped to 14 because we needed an even number for the hardware controller.)

LED Installed in Floodlight Chassis

LED Installed in Floodlight Chassis

Because the LED chip formats get standardized, the RGB version fits where the cool white LED was located. To prevent blowing up more boards, we switched to testing with a hardware controller. The easiest setup was using an Arduino Uno running the rainbow fade from Adafruit’s NeoPixel library, powered by a 1.1amp 24VDC supply, and sending Data Out on digital pin 6.

Arduino Controlling Pixel

Arduino Controlling Pixel

Green Light, Order Parts

With a test harness in place, it was time to get more parts for the project. The first glitch was ordering boards. The boards had been snapped up for Burning Man projects, so we couldn’t be sure they would arrive in time for Luminaria. We needed a larger power supply, so we ordered two so there was a spare in case of another catastrophic failure. Floodlights were ordered by case on eBay. The final roll of the dice, was ordering waterproof cables from China on AliExpress from the goto supplier of LED parts, Ray Wu.

Boards Re-stocked (T - 26days)

Hundreds of Resistors and Diodes

Boards Re-stocked

Boards and LED chips arrived with time to spare so the project looked possible again and the soldering iron went to work.

LED Floodlights

The floodlights we received to test with were 20W Cool White. Since we’d ordered those on eBay, 30W lights had been released and all the 20W lights were gone. We were able to match the chassis size in a 30W version that shipped from San Francisco.

Flood We Wanted (left) vs What We Got (right)

Flood We Wanted (left) vs What We Got (right)

What is Underneath?

After stripping the floodlight down, removing the transformer and front lens, we get down to the LED. Once we know what we are working with, we can figure out how to modify for the LEDs we have.

30W Cool White LED Array

30W Cool White LED Array

Removing the 30W LED Array

Removing the 30W LED Array

The LED array was attached with silicone and slathered with thermal paste to transfer heat into the metal chassis. Luckily for us, these floodlights use the original design so the 20W LED chip screws into the inner set of four threaded holes.

Test Multiple Mega Pixels

Test Multiple Mega Pixels

After assembly, each light is connected to the Arduino test rig and run for a few hours, cycling through all color channels.

[KGVID width=”720” height=”720”]/images/uploads/2016/11/20161014-160018_BE7f_.mov[/KGVID]

Five is Too Many

Five is Too Many

The specs list the 20W RGB LEDs at a 1amp draw, but the maximum current is with all three channels at 100%. The 1.1amp supply we tested with was stable with four lights doing the rainbow fade. When the fifth was added, the blue phases would flicker.

[KGVID width=”720” height=”720”]/images/uploads/2016/11/20161019-173611_BE7f_.mov[/KGVID]

Site Visit ( T - 25days)

To understand where we were setting up, we headed to the Hays Street Bridge at night. We brought a Bosch Laser Measure and an IR Thermometer to map the bridge approach and record operating temperatures of the various lights. A new plan was forming.

Westside Bridge Approach

Westside Bridge Approach

v5 Boards Assembled

v5 Boards Assembled

To make it easy to replace boards, a JST connector was added. Then solder. solder. solder.

Mega Pixels Built

Mega Pixels Built

Again, we blew up two of these so only 14 survived to shine on the bridge.

Cables on the Way

The last parts for the project were the cables and tees to connect the pixels to the hardware controller. In the meantime, we started testing the Pixels on a PixelController and different software to generate the light patterns.

Pixels Controlled by PixelPusher

Pixels Controlled by PixelPusher

JST connectors on the PixelPusher board connect V(+), Data Out, Clock Out, V(-). Why isn’t clock feed connected? Because WS2811.

WS2811 Pixels

The main problem with this setup is the chips on the board that controls the LEDs. Up to this point we have been using 4-wire pixels, WS 2801 or WS8806. 2811 are 3-wire and less expensive. To skip that extra wire, they lack a clock on-board, which makes them very slow to respond, easy to get out of sync, and difficult to control over long distances - all known issues in the PixelPusher community. We tried anyways because these are the brightest RGB LED components we could find.

  1. In Blinkdom we use PixelController emitting e1.31 signals on a Raspberry Pi 3, intercepted by an ArtNet Bridge, and translated to the PixelController protocol at 60 frames per second. When sending that data to the LuminaRGB Mega Pixels, a blinding, strobe mess results. FAIL

  2. We then tested LuminaRGB with L.E.D. Lab running on an iPad. Again, too much flickering that can lead to headaches or worse, seizures. FAIL

  3. Next up, we pointed Processing with the PixelPusher libraries at LuminaRGB. Better, but the frame rate needed to dropped to 1 frame/sec. FAIL

  4. Finally, to remove most translation steps and provide fine-tuning in an easy language, we tried NodeJS. We ran two versions of rainbow fade loops, one based on sine waves written by the inventor of The Palace and another based on the HSV color model. After a couple of iterations, the best we could do was a 0.480s cycle of the rainbow fade that still had pixels randomly flickering to full white. Not great.

In frustration, we reached out to RobG, in North Carolina, to see if he’d consider creating boards with 4-wire/WS2801 chips so we’d have better control of the pixels. Having run into the same issues we were seeing, he was willing to do a 4-wire board, but it would not be ready to test by Luminaria.

Having a strong electronics background, RobG was able to offer some suggestions to reduce the flickering we had. The best one was simply adding a 0.22pF capacitor across the 24V(-) and the Data In lines to change the impedance. We tweaked all our lights and were able to run the cycle 4 times faster without flicker and fewer pixels randomly going full white. Some pixels would get out of sync but was still much better than we had seen.

China Delivers (T - 16days)

3-4-3 Tees and 3-Core Extensions

3-4-3 Tees and 3-Core Extensions

3m 3-core cables, 4-core Pigtails, and 3-4-3 Tees connect the pixels in series to the PixelPusher. Now every light needed to be wired. A 4-core pigtail comes through the back of the chassis.

4-core Pigtail In

4-core Pigtail In

The pigtail joins a 4-core cable to supply 24v(+), 24v(-), Data In, and Data Out through the JST connector on the board.

JST Connector

JST Connector

Full Power (T - 9days)

Next step was to start setting up the full rig, one pixel at a time. The tricky part is that the pixels operate in series. If something is mis-wired, the entire array could be shorted and damaged beyond repair with no time left to order replacement parts. No pressure.

First Pixel, PixelPusher, Power Supply

20161101 112804 BE7f iPhone 6s

So we went slowly and tested a single pixel before adding it to the chain.

8 Days to Go: 14 Mega Pixel Array Working

14 Mega Pixel Array Working

[KGVID width=”720” height=”720”]/images/uploads/2016/11/20161102-134623_BE7f_.mov[/KGVID]

Configure the Network (T - 5 days)

To get the data to the pixels, the PixelPusher and Raspberry Pi need to be communicate over a network. For this, we use a Buffalo 4 port Wifi Access Point. We set static IP addresses for the devices and set the SSID so we can shell into the Pi over wifi from an iPhone if needed. ## Setup the Raspberry Pi

Confirming Static IP on Raspbian Jessie

Confirming Static IP on Raspbian Jessie

The next part was installing NodeJS, the PixelPusher module, and our javascript code. Once the script ran successfully we added it to /etc/rc.local so it would load automatically when the server boots up. PixelPusher allows you to set initial colors per strip, so we set the first to blue and the second to red when it powers up which we used to confirm that the strips were oriented correctly. When turning on power, the pixels light up red and blue after 10 seconds. After the raspi boots up and loads, the rainbow fade cycle begins about a minute after power up.

SSH into Raspberry Pi on iPhone

SSH into Raspberry Pi on iPhone

Would be useful to gracefully reboot the Pi or do it live and edit the Javascript in production like old school sys admins used to do.

Build Control Panel (T - 3days)

With all the pieces working together, it was time to bring it all together in the control panel where we mount the power supply, Wifi Access Point, Raspberry Pi, PixelPusher, power outlets, and a main switch.

Layout of Control Panel

Layout of Control Panel

Base Plate

Base Plate

The robot helped out cutting a quick plate in OSB, our signature material, to hold everything together.

Wiring up Switch and Outlets

Wiring up Switch and Outlets

A pair of standard tamper resistant wall outlets are controlled by pilot light switch that indicates when it is active.

Zip Ties to the Rescue

Zip Ties to the Rescue

More civilized than duct tape, our favorite way to to quickly mount parts is with zip ties. We placed objects where we wanted them and marked a few holes for zip ties to go through. If we like this layout, we can machine holes and pockets to polish it up but there wasn’t time yet. A test run of the entire system ran for 6 hours to see if it would last through the event, but a failure at this point would prevent us from showing at the event.

It’s Raining November 9, 2016 (T - 1 Day)

The day before the event, we planned to pack up and do a test run on the bridge at night for the first time. No one expected rain so we scrambled to waterproof the control panel. We planned to leave it exposed so people could see it, but not if it would get wet. A quick survey of inventory turned up a plastic lidded box that fit perfectly without modification.

Control Panel, Waterproofed

Control Panel, Waterproofed

Pack It Up

20161109 181702 be7f iPhone 6s

To make setup fast, we left the pixels cabled and place them in Action Packers in reverse order and headed to the Hays Street Bridge.

Shiny Bridge

20161109 193244 be7f iPhone 6s

Rain is one thing, but shiny surfaces changes the look and impact of the lights.

PixelPusher Test Pattern

PixelPusher Test Pattern We unpacked the lights and hooked everything to confirm they made the trip safely and to make adjusts to how we’d install them. The first concern was shining bright lights in people’s faces. The shiny pathway really obscured the light brightest and color intensity and the project was not looking good.

Installing the Lights

20161109 210339 be7f iPhone 6s

With lights sitting on the ground and out of the eye line, the angle of incidence put most of the light off the surface of the path. We decided to mount the light on the rail and could lower the voltage on the power supply. We placed them on the north rail so that if people took pictures in the light, the city skyline would be in the background.

[KGVID width=”450” height=”800”]/images/uploads/2016/11/20161109-210215_be7f_.mov[/KGVID]

Skyline Looking South

Skyline Looking South

Note: Almost all images and representations of San Antonio show Tower of America to the right of the Alamodome, a view of the city from the north looking south. The view of the city up from the south is better because those buildings are older and were designed to catch the sunlight and shadow.

Facing East to the Bridge

[KGVID width=”720” height=”720”]/images/uploads/2016/11/20161111-181804_BE7f_.mov[/KGVID]

Covered in Light

Facing East to the Bridge

Installation Plaque

20161110 230410 be7f iPhone 6s

The End

[KGVID width=”720” height=”720”]/images/uploads/2016/11/20161111-002421_be7f_.mov[/KGVID]

Summary

We really enjoyed doing LuminaRGB. We had a great excuse to make more, learned even more new, met more of San Antonio, used new technology, hit the budget ($500) and deadline, and completed our first public art installation.

How was it received? No idea. The project was meta. To most people, it was what they saw, some bright colored lights changing colors on a bridge – weak sauce compared to the pro DMX fixtures sprinkled around the bridge and lighting the mural on Nolan Street.

Who appreciates a good rainbow fade, the “Hello, World” of LED projects, 140 feet long?
Who notices hacked LED floodlights?
Who cuts a square piece of wood with a robot?
Who hand solders electronics?
Who wants Javascript generating animation that’s not on a screen?
Who routes art with static IPs over wifi?
Who wants to make an LED grid the size of the Alamodome and seen from space?

We do.