Important news about HackSpace

We have some important news to share about HackSpace: Issue 81 was the last issue of HackSpace as a standalone magazine, and HackSpace has become part of The MagPi, the official Raspberry Pi magazine. Starting with issue 145, We’ll be adding pages to The MagPi to make room for the stories and tutorials you’ve come to expect from HackSpace.

SparkFun LumiDrive LED Driver review

By Ben Everard. Posted

The LumiDrive is a board for controlling APA102 (aka DotStar) RGB LEDs with CircuitPython. It’s powered by a SAMD21G-AU microcontroller, and has a built-in LiPo battery charger.

Slightly unusually, this board has USB-C for power. While this probably is the future, we’re currently stuck in the past. We have drawers full of micro USB connectors, and precious few USB-C. This isn’t a good reason to cling to the past, and in a few years we’ll probably be complaining about antiquated micro USB connections. Alas, times move on and we’ll begrudgingly accept that USB-C is probably a good choice now. This power passes through to the LEDs, so providing you’re not using too many, you won’t need an additional power supply. Not too many is an annoyingly vague point, but fortunately, SparkFun has a handy chart for power draw of APA102s under different conditions. You can see the results here: hsmag.cc/NJcfuF. For example, you can power 100 LEDs on the rainbow cycle at 50% brightness and expect to draw under 1 amp, which should be possible from many USB power sources. However, if you want to go full brightness and display white, you’ll get this current with about 20 LEDs.

Unfortunately, the amount of power you can get from a USB port is a bit vague. Officially, on computer ports, USB 2.0 should support 0.5 A while USB 3.1 (which has a blue tongue) should support up to 0.9 A. In practice, most will supply more than this without any problems, but it’s up to you whether you want to risk it, as it could damage your computer. On wall warts, you should see the current rating written on the adaptor, and you shouldn’t exceed this.

If in doubt, make the LEDs extra dim (don’t be afraid to go down to 10% brightness when testing), and be conservative. You can always measure the current and boost the brightness later, but it’s much harder to fix a broken USB port.

lumidrive2

The APA102 LEDs that this board controls are chainable, so you can add almost as many as you like to the four outputs on the board (power management gets difficult when you’ve got lots, and you’ll run out of memory eventually). There are poke-home connectors that are secured by pushing the wire in while pressing down on a button on the top. These provide a connection that’s secure enough to use in projects, so there’s no need to solder, even for long-term projects. We’re really impressed with how well these work – the wires don’t come out accidentally, even with a concerted yank, and the button at the top is hard to press accidentally. This makes the board really easy to get started, prototype, and change around.

Of course, there are bits you can solder on to – there’s two digital GPIO pins and two analogue inputs. This isn’t a huge number, but it’s enough to provide a little interactivity to a light-up project.

There’s a button on the board connected to the D6 pin, so you can access the status of this in your code. It is a little close to the reset button, so you have to be careful to make sure you press the correct one. If this is a significant problem for your project, you could cover up the reset button, or wire another button on one of the other GPIO pins.

SparkFun makes a range of Lumi-branded LED boards, including a LuMini matrix (pictured) and LuMini LED rings. However, any APA102 products should work. You can get them in strips and other configurations from a range of manufacturers. They’re not quite as common as WS2812 LEDs, and they are more expensive, but they have a high data rate so it’s possible to drive them much faster.

Interactive software

This board comes set up with CircuitPython, and there’s currently no ability to program it in another language. There’s a guide to getting started with the language on this board at: hsmag.cc/NJcfuF. CircuitPython is a great language for getting started, and it allows you to really quickly add some interactive lights to your build. However, complex animations can require quite a bit of processing and, while the processor on this board is no slouch, you’ll struggle to keep complex animations running smoothly with this language. Compiled languages (such as Arduino C++) are much faster, but at the moment, there’s no option to use these on this board.

This is a really well thought-out product, and an example of ‘do one thing well’. There are plenty of limitations on this board – for example, it only controls one type of LED, and there aren’t many GPIOs. By not catering to everyone, SparkFun has made a board that suits a small subset of people really well. You can get up and running without soldering anything. The focus on Python, as the language of choice, will make it easier for beginners to get started. The on-board button means you don’t have to worry about circuitry (even simple circuity) to get some input. If you’re an experienced maker, these might seem like trivial things, but to some people they’re not.

Sparkfun $19.95 Sparkfun.com

Verdict

A great board that makes it easy to get started with APA102 LED projects.

9/10


https://hsmag.cc

From HackSpace magazine store

Subscribe to our newsletter