The LumiDrive LED Driver is SparkFun's foray into all things Python on micro-controllers. With the SparkFun LumiDrive you will be able to control and personalize a whole strand of APA102s directly from the board itself. We've broken out a number of analog and digital pins from the on board SAMD21G-AU microcontroller to incorporate your own external buttons, switches, and other interfaces to interact with your addressable LED strip.
It feels like Arduino, but without the need to upload and compile code. Because the LumiDrive opens up like a USB drive on your computer when you plug it in and the code you write lives directly inside the drive it feels very much like an Arduino-device. The fact that you don't need to upload and compile code makes it a great transitionary LED driver from your traditional Arduino!
The SparkFun LumiDrive has been equipped with a USB-C connector which is capable enough to supply up to 1.5 Amps from a 3.1 USB port, a LiPo connector and charge circuit for portable power, as well as two poke-home connectors to allow you to plug in wires without the need for solder.
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
No reviews yet.
If anybody is having power on hangups solder a surface mount capacitor (100nF or so) across the reset switch to give a little RC time constant for the reset line. The R is already there in the form of a 10K resister. This solved our (rare) power on issues.
GIven the similarity to the SAMD21 Mini Breakout (DEV-13664), could this also run the Arduino core?
Yes, check the Hookup Guide for more info under "Example Code".
yes it could
How can this board be used with Arduino? This question was asked below and the answer was yes, but I do not see any Arduino code in the hookup guide example code. Regardless, that proposed code wouldn't work without a boards file right? There is none for this board in the Sparkfun repository from the Arduino board URL. I used Redboard Turbo because it's also SAMD21 based, and no go - looked at the schematic file for both of those boards, and they have the same pins for CLK and Data (I think) but still, while it uploads, it won't even run the blink sketch. I posted questions about this board on the forum, but no answers after 3 weeks.
I attempted to use this board with a LuMini LED ring with CircuitPython - it worked but was a lot of effort - the firmware that shipped on the board was version 4, multiple years out of date. the example code didn't work with version 7, didn't work with version 8 beta but did work with the "bleeding edge" builds from yesterday. Not sure why. Regardless, when I also tried to load an accelerometer library it instantly ran out of memory. So, this board works but only for simple led patterns - that is it's purpose, so fine, but thought I could use the SAMD to interface the LEDs with an IMU, no go. But! Maybe, before I junk or return this board, it can fit those libraries as C, without all of the overhead from Python. It should be possible, but see above, not simple.
Any help is appreciated!
Something that may help another user. After connecting up the board to a ring of LEDs, I was disappointed to not see the LEDs light up. After some troubleshooting I realized that the default code in "main.py" turns off all the LEDs except for the lille blue LED on the board itself. To light your string or ring of LEDs you need to change main.py, most easily done calling rainbow_cycle, as it says in the hookup guide. Also, you need to access the board with a serial driver that is capable of sending Ctrl-C and Ctrl-D. Minicom works. Finally, regarding the editor, trying to download Mu broke my apt (Ubuntu 16.04) and, turns out that gedit works just fine. Re-reading the hookup guide, it kind-of says these things, but I was pretty confused at first. Now that I have it working, the guide makes more sense.
Please add a simple power switch to all your controller design. Many of my power sources (USB power bank, LiPo battery, etc) do not have a power switch built-in. If that is too expensive for you to add, just add 2 holes and a cut-able PCB trace for users to add a switch. OK?
We'd be happy to help you out, please head over to our new forums to post a topic for assistance. That being said, from the schematic, I believe that you should be able to add a switch that shorts the 3.3V and GND pins (on the output side) to power the microcontroller and LEDs off.
So.... How would I go about setting SERCOM up to use D8/D9 as an I2C bus for connection to another device, say an RTC module? I would like to use this in conjunction with a 3in LuMini to make a clock.
I don't believe D8/D9 can be used as an I2C port (although I believe you can use A3/A4). Check out this tutorial on setting up sercom ports for more information.
Cool, A3/A4 are just fine too. Thanks for the heads up!
I'm confused by the LiPo support. When connected to a battery, it doesn't output 5v for the LED string. Since APA102s all appear to be 5v devices, I don't see how this is meant to be used.
Also, would be great if there was some accommodation for a switch or enable pin (like the LiPo charger/booster you sell).
This uses the same LEDs as the Luminati line you've sold for some time, does it not? (e.g. https://www.sparkfun.com/products/14359)
Can the LumiDrive LED Driver (the device this comment is under) drive them?
Can the setups recommended on your pages for driving the Luminati devices drive the things you sell under the LuMini LED line?
Perhaps for future versions of the lumidrive ... some additional digital pins would be great, my project would need about 10 of them...
Is there a datasheet or part number for those poke home connectors? They look really slick and want to use them on a custom arduino shield
You're not the first person who requested a part number. Unfortunately the supplier of that part does not sell them in small quantities. =(
Does the LumiDrive come with CircuitPython installed?
Yes it does
wonderful addition to the Circuitpython family!