Lumenati Hookup Guide

Introduction

The Lumenati line of LED boards is designed to give your projects an edge in their lighting capacity. Based on the APA102C addressable LED, these LEDs employ a 2-wire communication protocol consisting of a clock line and a data line. While this requires one more wire than standard WS2812B addressable LEDs, the advantage is that the communication with the LEDs becomes somewhat timing independent, allowing you to run these directly off of a Raspberry Pi or other single-board computer that doesn’t normally allow for a long, precicely-timed data stream without the use of additional hardware.

The APA102C addressable LEDs on the Lumenati boards operate natively with 5V logic, so it will save you trouble to choose a controller that can give you 0-5V, but it can be made to work with 3.3V logic with the use of a level translator.

You will also need a power 5V power supply to run your controller and new lights. Each APA102C can draw as much as 60mA when red, green and blue are all full-on, so you’ll want to have something a little beefy. We’ve chosen a wall adapter capable of 2.5A, which should be plenty for our demonstration. But if you’ve got a bigger project in mind, check out the Mean Well 5V/20A supply.

Tools

Lastly, you are going to need a few tools. A soldering iron, some solder, wire and a wire stripper should do. Maybe also some tweezers if you’re not comfy with having your fingers close to the tip of a soldering iron.

Suggested Reading

We’re tried to make this hookup guide as simple as possible, but you may be lacking some basic information that could help your understanding as we go forward. For more info, check out these tutorials…

How do I install a custom Arduino library? It's easy! This tutorial will go over how to install an Arduino library using the Arduino Library Manager. For libraries not linked with the Arduino IDE, we will also go over manually installing an Arduino library.

Tutorial showing how to solder castellated holes (or castellations). This might come in handy if you need to solder a module or PCB to another PCB. These castellations are becoming popular with integrated WiFi and Bluetooth modules.

Daisy-chaining Lumentai Boards

Any of the boards can be used stand-alone or daisy-chained. However, the 8-stick, 90L and 90R were designed with easy daisy-chaining specifically in mind.

Castelated edge connectors. Just butt them up against each other and solder together.

There are also solder jumpers on the CO and DO (clock out and data out) of these 3 boards. Those are there so that you can interrupt those signals in case you make a closed-loop design where you don’t want the clock and data from your last LED to interfere with the clock and data to your first. +5V and ground traces are left to be contiguous in such cases to maximize current throughput. The solder jumpers on CO and DO come closed with a small trace bridging the solder pads. If you wish to open them, just take a small hobby knife (or similar implement of destruction) and carefully cut out that trace.

Note: It is critical that you cut the traces in the jumpers before you power up your LEDs if you’ve put together a continuous loop of Lumenati boards. Otherwise, it is likely that you’ll burn out a couple of LEDs. We know this from experience.

Make sure you cut the traces on CO and DO before powering up a continuous-loop design.

The APA102C addressable LEDs that are used on the Lumenati boards operate on +5V power input, as well as 0-5V logic levels for clock and data. The data interface is basically an SPI-like, with the exception that there is no data available coming back from the LEDs (no MISO line). Trace widths for +5V and ground have been maximized for better current through-put for long led chains.

Additionally, LEDs on each board are labeled with numbers indicating their position in the sequence to help you design code more easily.

Check those numbers!!

As mentioned earlier, each APA102C is capable of drawing close to 60mA when it’s fully on. Care should be taken to keep that in mind when designing long LED chains. Figure out what your worst-case current draw could be, and plan accordingly!

Multiple Board Assembly

This section will cover the steps necessary to connect multiple Lumenati boards together.

Plan the Layout

For our demonstration, we’ll use four Lumenati 90L boards combined with a Lumenati 8-pack for a chain of 20 LEDs. Then we’ll drive them with a Raspberry Pi 3 in our first example and a SAMD21 Breakout in the second.

To begin, gather the boards you want to use.

You may want to sand or file down some of the edges left from the panelization of the PCBs to aid in fitment at this point, but we’ll leave that up to your judgement.

Soldering!

The four 90L boards will form a contiguous ring of LEDs. It would be difficult to get the clock and data signals off of the last 90L board (not impossible, but difficult), so we’re going to put the 8-pack at the beginning of the chain. First, we’ll solder up the four 90L’s. To do this, you’ll need a flat surface, preferably one that doesn’t burn too much. A piece of cardboard works really great for this! Tin one of the corner connections (either power or ground) on one of the boards with some solder, like so:

Then, butt the board you’ve just tinned up against the next board you want in the sequence, and reheat that solder you just placed so that it bridges between the two boards and forms enough of a mechanical connection to hold them together. Take care to make sure that both boards are as flat as you can get them to maximize both electrical and mechanical connections.

After you secure the first connection, solder the other three on both the top and bottom. This will make the boards as strong as possible. However, be aware that these can still break apart if put under too much stress. Mounting the boards to a solid backing is recommended, but they should still hold together fairly well if you’re making something like a Christmas ornament or the like. For our demonstration, we’re going to leave all the boards unmounted.

Next, solder the leads between the 8-pack and the four 90L boards. Cut four lengths of wire about 1 inch in length. We suggest color coding your wires for power (red), ground (black), clock and data (your call on those). Strip both ends of each wire about 1/16 inch to 1/8 inch, and tin them.

Tin all the solder pads of the 8-pack and solder your four leads to 5V (either of the two 5V pads), ground (either of the ground pads), CO and DO (Clock Out and Data Out). You can lay them out to the side if you wish, but we’re going to sit them straight up so as to make positioning of the PCB easier.

Place the 8-pack board in the middle of the circle of 90L boards you’ve already made. Figure out how you’d like the board oriented, and pick one of the four interfaces between the four 90L boards to which you’ll solder your four leads.

Don’t forget: Before you solder the leads, cut the jumpers marked “CO” and “DO” that are physically closest to your selected solder points. That will ensure that your logic at the end of the circle doesn’t interfere with the logic at the start.

Once you’ve done that, solder down your leads - 5V to 5V, GND to GND, CO on the 8-pack to CI on the circle, and DO on the 8-pack to DI on the circle.

Do yourself a favor and cut these now. You can burn a couple of LEDs if you forget.

An alternate method of wiring to the 90L circle would be to solder up three of the four board interfaces leaving the fourth as open holes into which you can insert your 5V, GND, CO and DO lines. You will have to determine what your positioning is going to be before doing so.

Now, you need to get power and signal to the thing you’ve constructed. To do so, just solder four more leads to the remaining 5V and GND pads on the 8-pack board, as well as CI and DI on the 8-pack. Braid the wires for some extra geek-cred. Now, it’s ready to hook up to your control system!

Ready for action!

Example Using a Raspberry Pi 3

For this example, we’ll be using a Raspberry Pi 3, a PCA9306 Level Translator Breakout, a 5V power supply and the Lumenati boards that we put together in the last section. The hookup will look like this:

Click the image for a closer look.

You’ll notice from the diagram that the Lumenati boards are powered directly from an external 5V power supply and not from the header on the Raspberry Pi. While it is possible to drive the circuit as constructed with the supplied demo code from the Pi header, the 5V that’s available there is fused. Since it is difficult to predict how much current the Pi itself is going to draw at any given moment, driving the LEDs through the Pi as well can become problematic with increased LED count and increased brightness, risking a brown-out condition with increased current consumption. Circumvent that condition entirely by tapping 5V and ground on the power supply before it reaches the Pi.

The connections of interest are in the following table.

RasPi Pin #

Description

Goes to PCA9306 Pin

1

3.3V (for low-side level shifting reference)

VREF1

4

5V (for high-side level shifting reference)

VREF2

6

GND (ground for level shifting reference)

GND

19

Data

SCL1

23

Clock

SDA1

Astute readers will notice that we’ve connected a clock signal to what looks like a data channel and a data signal to what looks like a clock channel on the PCA9306, if the labels are to be believed. But here’s a little secret about those channels: they’re virtually identical, electrically speaking. While the labels may be incongruent, it made the wiring just slightly more uniform.

The connections from the PCA9306 Breakout to the Lumenati boards are thus:

PCA9306 Pin

Description

Lumenati Pin

SDA2

Clock

CI

SCL2

Data

DI

GND

GND (ground for level shifting reference)

GND

We’ve put together some really simple python code for you to get started with. The first is a really simple library to set up an array with the LED parameters and write them to the Lumenati boards.

Click here to get the code. Just drop the two files from SparkFun_Lumenati_Code/Firmware/RasPi into the same folder, and run Lumenati_Demo.py. If the stars align (and you’ve done everything right), the result should look as below.

The brightness is turned down to show the colors better.

Example Using a SAMD21 Mini Breakout

Our second example uses a SparkFun SAMD21 Breakout board, which is Arduino-based, a PCA9306 Level Translator Breakout, a 5V power supply and the Lumenati boards that we put together in the assembly section. The hookup will look like this:

Click the image for a closer look.

The circuit is almost identical to the Raspberry Pi example, except that there’s a SAMD21 Breakout where the Pi was. The specific connections to the SAMD21 are as follows:

SAMD21 Pin label

Description

Goes to PCA9306 Pin

VIN

3.3V (for low-side level shifting reference)

VREF1

VCC

5V (for high-side level shifting reference)

VREF2

GND

GND (ground for level shifting reference)

GND

11

Data

SCL1

13

Clock

SDA1

Again, the channels on the PCA9306 with regard to SCL and SDA are not electrically critical; either channel can do either function, clock or data. This swap just made our wiring slightly cleaner. Everything else in this circuit is identical to the RasPi example.

For the code, this time we’re going to use the FastLED library. If you haven’t already done so, now is a good time to install that library. Haven’t installed a library in Arduino before? Click here for more info.

This example will look completely different from the RasPi example, partly because we wanted to show off some of the colors available by some crazy names in the library. The FastLED library offers a LOT of versatility, probably far more than you’re ever going to need. Check their documentation for a full listing of functions.

If you’ve already done the RasPi example, you’ve already got the Arduino code in your possession, as well. It can be found in the folder SparkFun_Lumenati_Code\Firmware\SAMD21. If you haven’t got it yet, click here to get it. Load Lumenati_demo.ino onto your SAMD21, and watch the show!

In 2003, CU student Nate Seidle fried a power supply in his dorm room and, in lieu of a way to order easy replacements, decided to start his own company. Since then, SparkFun has been committed to sustainably helping our world achieve electronics literacy from our headquarters in Boulder, Colorado.

No matter your vision, SparkFun's products and resources are designed to make the world of electronics more accessible. In addition to over 2,000 open source components and widgets, SparkFun offers curriculum, training and online tutorials designed to help demystify the wonderful world of embedded electronics. We're here to help you start something.