FloodBrain – 18 Channel 10W RGB LED Floodlight System

Here’s a few details on the flood light system I designed for our Halloween display this year.  This is the first real project I’ve ever done from scratch with a micro of any kind.  I’ve dabbled with AVRs on breadboards and built my fair share of kits, but had never designed or built anything that was my own.  Arduino? Have one and its never left the package.  I’ve been eyeing the Xmegas for a while and decided to go that route.  The Xmega8E5 is such a bargain for what you get.  Anyways, they say blinking LEDs are supposed to be your first project.  So this is my first blinky-flashy LED project… just taken a little further. FloodBrain!

Like any good little tinkerer, I needed to do some prototyping first.  I wanted to stay all SMT with 0603 discretes, so I laid out a DIP module for the Xmega and a comms module for my RS485 link.  Sent them off to oshpark and got some really purty purple boards back.  The Xmega module is a 600mil DIP with a 3.3V linear regulator, power status LED, programming header, and decoupling caps.  Basic reference implementation.  The 3.3V rail is sent to a pin as well to drive other parts if needed.   The comms module contains everything needed to do RS485 and breaks out to 4 pins (3.3v, GND, data in, data out).  This is the setup I used to write and test the firmware while waiting for my boards from Elecrow to show up by seahorse.

At the heart is an Atmel AVR Xmega8E5 chip which is controlling 6 10W RGB LED flood lights via RS485.  I included a header for a NRF24L01 module on the controller as well for future wireless integration.  Power is provided by a laptop power supply from the junk bin and is fed to 4 seperate buck converters.  One NCP3063 based 3.3V converter on the bottom of the controller for logic, and 3 eBay buck modules to feed the RGB rails (one buck per color).  The RGB bucks are dialed in around +2V above the forward voltage for the color they’re driving in order to give the current regulators proper headroom.  Everything is switched high side with P-Channel MOSFETs and sent out a 4 wire cable.

Of course, it all starts with this.  After dabbling with a few design packages, I settled on DipTrace.  Their free version is good for up to 300 pins and you can request a non-profit license which increases the pin count to 500.


My attempts to swoon the fab into v-scoring my 10×10 boards failed, however my metal bandsaw setup vertical made quick work of the panels.

This is all stuffed into a TA-200 case with the eBay buck modules mounted in the lid.  The first prototype (shown below) proved difficult to close.  For my other controllers, I just hot glued the modules into the lid instead of using standoffs and no problems yet!  These crimpers made quick work of building the connectors for the interconnects and pigtails.

I decided to try stencils on this project and got one from OSH Stencils.  Made life much easier, highly recommended!

To keep costs down and still have nice weather sealed lights, 10W White LED Floodlights were bought off eBay (~$8 each).  For quick prototyping, you get some from Amazon via Prime for a little more. These were stripped down to just the casing and fitted with 10W RGB LEDs from eBay.  The NSI50350 linear current regulator modules are housed in the back the lights.  24ga stranded CAT5 is used for cabling with pairs doubled up.  Each light has a 20-30′ cable with a 4 pin barrel connector for connection to the controller.

Ended up with a bunch of leftover 10W white LEDs and power supplies.  I see strobes in my future!

Now, to make it all magically work!! Thanks to the great community over at doityourselfchristmas.com, this part was easy.  A few guys over there developed a system called “Renard” a few years back for Christmas lighting control.  It utilizes PIC micros and RS485 feeds with a really straight forward protocol.  Armed with the Renard protocol description and the AVR136 appnote on software PWM, I fired up Atmel Studio and got to it.  It was my first time coding for the Xmega and thought I’d try ASF to speed things up.  Definitely bloats your code, but I haven’t run into any performance issues yet.  I’m running the Xmega at 32MHz with an interrupt driven 250Hz PWM routine controlling 18 channels.  The RS485 is polled and comes in at 115200.  Sequencing is done in Vixen 3 using Renard output. Planning to get the NRF24L01 wireless stuff going after the holidays and implement DMX as well. I’ll post the source for the firmware in the near future, just need to clean it up a little.

All said and done after 3 controllers, 12 lights, and hours of sequencing, you get this.  Looks much better in 720p!

And here’s a playlist on youtube with all of our 2013 Halloween sequences. Enjoy, Happy Halloween!

Leave a comment

Your email address will not be published. Required fields are marked *

25 thoughts on “FloodBrain – 18 Channel 10W RGB LED Floodlight System

  • Simo Sihvonen

    Awesome setup! Love it.

    How long wires did you have to run from your controller (FloodBrain), which was presumably next to your laptop, to your lights?

    • Shelby Merrick Post author

      Thanks! Each light has a 20-30′ cable which connects to a controller. The RS485 lines from the controllers all ran to my garage which is where the show computer was located. For the inside lights, I patched into the structured wiring in my garage which usually carries Ethernet and ran the feeds over existing cabling. My RS485 lines were all CAT5 and I used these RJ45 couplers to patch into existing lines. You can push RS485 pretty far (1000′ probably) at the data rates we’re using.

  • Dan

    Would you want to help design (and build?) an onstage light show for my band? I love your DIY designs and outcomes and really want to try to do something different and incorporate our light show into the band as opposed to hanging above us (or in most bars – have nothing at all).
    Thanks for any consideration or reply,

    • Shelby Merrick Post author

      I appreciate it, but unfortunately my job and family life currently keep fully occupied. I am however, planning to offer some kits or boards for the DIY community sometime after the new year. I’ll be redoing the controller design and making it a little more friendly to assemble.

  • Tim

    Hey Shelby,
    Let me start off by saying thank you for sharing this. I have been debating on doing something very similar for a very long time and your post inspired me to make the dive. I have a bunch of things ordered and would love it if you had anything you can share to help me. I know you said you were waiting to publish the source but if you would be willing to share it with me privately, it would be absolutely wonderful.

    Thanks again for sharing this. You did a great job both with your setup and your sequencing.


  • Tory

    Well done sir, really like the concept. Now once you get it capable with wireless and not need the 30-40′ cables, there will be something very special!!

    Love it, just pinged the thread on DIYC as well. But I think you have given another option for cheapish RGB floods, even if folks wanted to run them with something other than your controller. Kudo’s. some of those looks,, almost appear to be projector mapping, very good light output, very good placement!


  • sage

    just wondering if you were offering kits yet?we run a 3 block light show called candy cane lane and could really use this.great job man keep at the good work

  • Will

    Well done! Were you able to find the NCP3063 component in the ON_Semi DipTrace library? I’m working on a similar project, and can only seem to find the NCP3063’s predecessor, the MC34063A.

    • Shelby Merrick Post author

      I created a custom component for it and attached the the SOIC-8/150mil pattern from their built in libraries. Thankfully DipTrace makes it really easy to create your own components. Good luck with your project!

    • Shelby Merrick Post author

      Thank you! I had planned to for this year, but things came up and I didn’t have the time to get everything together. You may find some options however over at diychristmas.org or doityourselfchristmas.com. I’ve been posting my “in progress” work on diychristmas.org, but haven’t been very active the past couple of weeks due to some life stuff.

  • Tommy

    This is a really cool project and outcome. I’m using one of your ESPixelSticks and working on creating something similar. I really like the sequencing you did for this. Is there any chance you would share your sequence files?

    I get it if you don’t want to share but it’s really cool and I thought I’d ask.