Introduction: 48 Channel Mono / 16 Channel RGB LED Controller

About: Designing electronic creations from microcontrollers, LEDs and anything else I can pull out of a dumpster and make use of. Check my Profile

The 48 Channel Mono/16  Channel RGB LED Controller by Chromation Systems can be used to independantly control 48 groups/channels (up to 120ma per group) of mono-color LEDs or 16 groups/channels of common anode RGB LEDs. It utilizes 3x TLC5940 LED drivers controlled with a PIC 18F2550 microcontroller. The PIC runs at 48mhz, has USB connectivity and controls the drivers through a modified SPI interface. The default firmware uses 8-bit PWM(256 brightness levels) and has a 1.5khz PWM frequency. All LED anodes are connected in parallel and the cathodes are connected to the controller as the outputs sink current. There are 3 connection options for the LEDs, direct soldering, screw down terminal blocks, and headers/housings.

There are two primary types of Firmware compatible with different computer software that interfaces with them, the software is used to create a multitude of custom patterns and settings and upload them to the controller for it to run by itself without a computer connection.
Choose From: For RGB LED Control, Chromation Systems ColorMotion Software or for control of Single Color LEDs(regular) Chromation Systems MonoMotion Software can be used.

Using the full version of either MonoMotion or ColorMotion firmware or the either type Demo firmware allows live control of the device over USB via emulated COM(serial) port. Live data can be streamed to the device extremely fast, over 100 frames per second.  Sample Processing code for Live Mode Control can be found on the RGB Demo Software Page.

Visit for downloads, updates and more information.

For most of the information please view/download The Datasheet

Step 1: Parts and Tools

Parts: Purchase a Complete Kit, all the parts for the controller are included. RGB LEDs are ext
  • Printed Circuit Board, Buy One
  • 4x 28-pin sockets
  • 1x 18F2550, comes programmed with ColorMotion Firmware or custom firmware. Buy One
  • 3x TLC5940, DIP package
  • 2x 22pF disc capacitor C1 & C2
  • 1x 220nF disc capacitor, C3
  • 2x 0.1uF disc capacitors, C4, & C5
  • 2x 1uF Electrolytic Capacitors, C6 & C7
  • 3x Iref Resistors, R1, R3, R4, Value Varies on Required Current, TLC590 Iref Web Calculator
  • 2.2kohm 1/6w USB Sense resistor, R11
  • 2x 100kohm 1/6w resistor, R12 & R13
  • 5x 10kohm 1/6w resistors, R2, R7, R8, R9, R10
  • 20mhz oscillator, OSC
  • 5-pin ICSP Header, optional
  • Terminal Blocks or Header/Housings/Crimps or None, Option Selected When Purchasing
  • 3x Momentary push buttons
  • Perforated board for mounting the push buttons/switches
  • 10" 4 strand ribbon cable, for the switches
  • 8" dual-strand, red & black wire for power input

LEDs: (Not included with the Kit, but can be included with a kit at a discount)
  • Soldering Iron and accessories
  • Pliers
  • Diagonal Cutters
  • Hot Glue Gun, optional but helpful

Step 2: Resistors and Capacitors

  • R5 & R6, 22ohm, Red - Red -Black, for USB data lines,
  • R12 & R13, 100kohm, Brown - Black - Yellow, USB sense and TLC blank pullups
  • R2, R7, R8, R9, R10, 10kohm, Brown - Black - Orange, pullups for the switches and MCLR
  • R11, 2.2kohm, Red - Red - Red,  USB sense resistor
  • R1, R3, R4,  the Iref resistors, the values are based on LED and current configuration Use This Calculator or Contact for Help if purchasing a kit.

  • C1 & C2, 22pF disc capacitors, goes in either way.
  • C3, 220nF disc capacitor, VUSB capacitor, goes in either way.
  • C4 & C5, 0.1uF disc capacitors, goes in either way.
  • C6 & C7, 1uF electrolytic, the vertical stripe on the side of the capacitor indicates the negative pin.

Step 3: Oscillator, Sockets, USB Connector and 7805

  • Goes in either way, labeled OSC

  • Line up the notch on the end of the sockets with the notch on the top-side diagram, carefully insert, ensure that no pins get smashed.

USB Connector:
  • Insert, solder the case tabs first, make sure its seated tightly to the PCB, then solder the 4 other pins.

Jumper/7805: There is a position for a 7805 voltage regulator, which can be optionally installed but, won't be used in most cases. The logic circuit requires +5v, but the LED voltage can be 3.3v to 17v.  If for example, 3 LEDs in series are being controlled per channel, a +12v should be used for the LEDs and controller input, and the 7805 should be installed. If common anode 5mm RGB LEDs are being used +5v PSU should be used and the 7805 should not be installed, but should be jumped instead.(as pictured) If the source voltage is greater than 5v the 7805 needs to be installed, but do not try to use the 7805 to regulate the LED voltage as it will quickly burn up.

Not Using the 7805:
  • Use the included solid strand jumper wire to jump the 2 outer holes of the 3, together. Make sure the wire doesn't touch the middle hole.
  • From the bottom fill in the center hole with solder.
Using a 7805:
  • Install it as pictured on the top-side diagram, the metal tab should be facing the 1uF capacitors.

Step 4: Terminals and Headers

ICSP Header: This is used to connect the device to a PIC Programmer can be optionally installed.

Buttons Header: 3 switches can be used to control the device, 2 switches are used for selecting the pattern and the third is used to turn off the LED outputs, but not power down the device. Switch inputs are pulled high by the device, one side of a momentary push-button is connected to pins 2, 3 or 4 and the switches other lead to pin 1.
  • Install the 4-pin header on the PCB
  • Next step covers the button assembly
Buttons Header Pinout:
  1. GND
  2. Pattern Select Up
  3. Turn LED Outputs off
  4. Pattern Select Down

LED Connection: This device uses common anode LEDs, there are no connection points for the anodes among the headers, the anodes must be wired separately (all in parallel) and attached to the source voltage or the PWR+ positions on the PCB. Either screw-down terminals or headers/housings or direct soldering can be used to connect the LEDs to the controller, terminals are preferred. 

Visit Parts Explanation Page

Direct Soldering: More details in Step 7
  • The wires that connect the LEDs to the controller are directly soldered onto the output solder pads.
Optional Connectors:
These connectors are optional and are not required but make connecting the LEDs easier. They are not included with the base kit, but can be included by selecting the desired option when adding the item to a shopping cart.

Terminals: 6x 8-position screw down terminals are used to connect the LEDs, DIP spaced.
  • Mount the terminals, with the opening facing outwards all the way around, there are 6x 8 position terminal blocks.

Headers/Housings: 8x 3-pin headers with matching housings are used to connect the LEDs to the PCB.
  • Solder all the 3-pin headers onto the PCB, minding the polarity ramp
  • Cut all 3-strand connection wire to length for all the LEDs that are being used.
  • Attach a crimp to the end of each wire going to the PCB, Use These Instructions to attach the crimps
  • Figure out the pinout of the wires and insert the crimps into the housings.

Step 5: Button Wiring

The devices can is interfaced with 3 buttons.

Buttons Assembly:
  • Position the buttons on the perfboard, the leads should go into the outer holes not the middle holes. Follow the diagram if you are planning on using the template for drilling.
  • Fold all the leads from one side so they all can connect, a piece of jumper wire is needed. So one lead of all 3 of the switches are in parallel. Solder them together
  • Use a razor blade to separate the 4-strand ribbon cable 1/4" down. It is easiest to push in with the tip of the blade and pull the wire while holding the blade still. Do to both ends.
  • Strip an 1/8" of insulation off each wire, 8 wires total
  • Mark one side of the ribbon cable with a sharpie, use that one for GND, it connects to the leads that were soldered in parallel.
  • The remaining 3 wires go to each of the unattached button leads, solder the wires in order.
  • Attach crimps the other end of the ribbon cable. See Instructions
  • Insert the crimps into the housing so they snap in, double check that they go in the correct order.
  • Optional: hot glue the wire down to the perfboard so nothing breaks loose.

Step 6: Version 1 PCB Fix

Due to an unfortunate mistake the version 1 PCBs require that a top and bottom trace be cut and a jumper wire installed. The PCBs are all shipped with the required cuts already made and checked. If this jumper is not installed the first 32 channels will work but the last 16 will not.

After all the other parts are installed, From the bottom of the PCB, solder the included green wire as per the diagram. 

Step 7: LED Wiring

LED Wiring: As discussed, this device sinks current, meaning the LED's anode is connected to V+ and the cathode is connected to the controller. Either regular LEDs can be used or common anode RGB or bi-color can also be used. Or combinations. Each channel can sink up to 120ma at up to 17v, but the each TLC5940 can only handle up to 2456w at Temp < 25c, and it goes down 19.65mW per 1c over 25c. See Datasheet for more details. Always try to use the lowest possible voltage for the LEDs.

Common Anode Wiring: The LED's anode is wired in parallel with all the other LED anodes. For use with infinity mirrors or any project where the LEDs are installed in a frame or holder and can be wired where they are.
  • Install the LEDs, bend them or glue them into place.
  • Use some solid strand wire and connect all the LED anodes onto it, connect it to LED Voltage+
  • Wire the R-G-B cathodes to the controller in order, see diagram.

RGB Pixel Wiring: Each common anode RGB LED is wired using 4-strand wire, 3 go to the R-G-B connection points and the fourth is wired to the LED's anode which is connected to a voltage rail that has to be hacked onto the controller. Using a drill and some solid strand wire. So each LED(pixel) can be ran in different directions with out any other wires. This method requires doing the direct-soldering method to attach the LEDs to the controller. Such as an Arcade Cabinet LED Buttons, or any project where the controller is in place and won't need to be moved or removed.
  • See the diagram on how to drill holes in the PCB and how to run the solid strand wire.
  • Run the solid strand wire and connect it to the LED voltage positive, PWR+ header may be used if the input voltage is equal to the desired LED voltage.
  • Solder the LEDs onto the PCB one by one, solder the cathodes to the connection points and solder the anodes the solid-strand wire rail.

Step 8: Firmware Usage

ColorMotion Compatible:
The most common use for this controller is to run the ColorMotion Compatible Firmware. ColorMotion is a Processing based application that is used to create various types of patterns and settings that can be uploaded to the controller for it to run by itself. The firmware also has the ability to accept Live Streaming data from a computer over USB, set the colors to be displayed instantly from a computer, any software/language that can interact with Serial(COM) Ports can send data to this controller.

MonoMotion Compatible: Webpage Link
Similar to ColorMotion, but full of enhancements, additional features, more dynamic pattern storage, and ability to update to future versions, but is used to create patterns for single color LEDs. There are currently a few supported controllers and more will be added.

Open Source:
There are 3 open source projects available in the Project Folder on Step 1, please see them for details.

I made a HID bootloader to work with this controller, it is based on Microchip Solutions examples. Holding RB2(BUTTONS 4) during power up will enter the device into bootloader mode, then new firmware can be uploaded to the controller.

Visit The Main Website to Download the Bootloader and Software for Windows, Mac or Linux

Step 9: Usage

While the controller was designed primarily for use in a Chromation Systems Infinity Mirrors there are many other uses for it.

  • Infinity Mirrors
  • Computer Case Mods
  • Arcade Control Buttons
  • Anything that needs some dynamic color.
  • Any time 48 channels of LEDs need to be controlled easily through USB and serial programs.

Thanks for reading, please send me a PM if anything needs to be changed or doesn't make enough sense.

Please Visit My Profile For More Instructables

And look out for my future projects such as my 18" Round Infinity Mirror Kit, 10" x 10" Infinity Mirror Kit, New Version of the 8 Channel LED Controller with control software, DMX LED Controllers and much more.