Hello, I'm doing my first steps with APA102 before I used WS2801.

Hello, I’m doing my first steps with APA102 before I used WS2801. And I have some problems with the apa102.
I started with the blink code and when I define in setup:
FastLED.addLeds<DOTSTAR, BGR>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
I use the spi Pins of my teensy 3.1 ( Clock pin 13, Data pin 11).
This works fine like with my ws2801. But when I use:
FastLED.addLeds<DOTSTAR,15,16, BGR>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
And connect Data to pin 15 and Clock to pin 16. Nothing happens.
Can I use the APA102 only with the hardware SPI Pins??
Or is it a problem of the Voltage? I have connected them directly to the Leds without a level shifter…
Thanks for support!

In the FastLED.addLeds line, instead of “DOTSTAR”, can you try “APA102”? I’m not sure DOTSTAR is defined.

Hmm, that’s probably not the problem. I see @Erin_St_Blaine ​ used DOTSTAR in her code example here:

Hi Marc, I saw this in Erins code so I did it the same way. But it won’t work. Only the hardware spi pins are working

Can you post your code?

Here the very simple code:
#include “FastLED.h”

#define NUM_LEDS 1


void setup() {

FastLED.addLeds<DOTSTAR,15,16, BGR>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );

void loop() {
// Turn the LED on, then pause
leds[0] = CRGB::White;
// Now turn the LED off, then pause
leds[0] = CRGB::Black;

I will check it with a level shifter now. Maybe it will work!

now I have tested it with an 74HCT125 levelshifter to boost the 3,3V from the teensy to 5V with clock and signal. But the leds are only white… no reaction, no animation.
The code is correct. Because this code is very very simple and if I use the hardware spi pins it works. But with other pins it won’t work. Maybe it is a bug in the library!? Any suggestion? @Mark_Kriegsman

Huh… so these APA102’s are working fine on hardware SPI pins, but not on other pins? Hrm. I presume it’s not something small like getting the CLK and DATA backwards. (Any “next step” diagnostics, @Daniel_Garcia ?)

Not off the top of my head - and I did run the apa102 off of software spi pins when I did my testing for it. I won’t be able to do anything to test it again until later tonight.

Yes I think so. Tomorrow I will test them with an nano and see if it works. Maybe it is a problem of the teensy. In Erins example code on adafruit worked it the same but not with a teensy. I have also tried another teensy but same reaction…

Thanks @Daniel_Garcia ​. I will tell you tomorrow if it works with an nano.

I just confirmed you can use non-hardware spi pins on a Micro and APA102’s.

@Daniel_Garcia and @Mark_Kriegsman I can confirm it too. On Arduino Nano Software SPI Pins are running fine with APA102. But not with the Teensy 3.1. Maybe if it helps I have Arduino 1.0.6. and Teensyduino 1.20 and FastLed 3.1. I hope you can help me.

The Teensy has two choices of SPI output - right?

Anyone tried using the non-default ones? 7 for DOUT and 14 for CLK?

I may have a need to use both sets - not simultaneously but alternately - presume that’s doable? For instance you could wire up 2 sets of APA102? Or a few SPI devices on one and APA102 on the other?

Hi James, what I have seen it is this case: when you don’t difine the pins you could only use the default spi pins, these are working. The non default spi pins aren’t working. But you could use any digital pin if you define them for clock and Data! e.g. DOTSTAR,15,16, BGR>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
This works with arduinos and apa102, but if you ask me not at the moment with teensy 3.1. But I think Daniel will fix it. Or can you confirm it that it works/ won’t work?

I have some changes I need to make to ensure that you can use both spi ports at the same time. It’s on my list, maybe tomorrow depending on how work goes.

Great @Daniel_Garcia ​!

Brill @Daniel_Garcia

@Daniel_Garcia do you have any news for us?

Yup - pull the latest FastLED3.1 branch.