User Tools

Site Tools


general_troubleshooting

We've made a LOT of mistakes over the past few years with the FastLED library for the Arduino, so here's some things to think about when troubleshooting your project:

Q. Where's the documentation?

A. FastLED Documentation is located at:

Q. My LED's are the wrong colour.

A. Run RGB Calibrate as found at:

https://github.com/FastLED/FastLED/tree/master/examples/RGBCalibrate

You could be using Neopixels, which typically have a colour ordering of GRB. Instead of using:

FastLED.addLeds<NEOPIXEL, DATA_PIN>

try:

LEDS.addLeds<WS2812, LED_DT, RGB>     // or

LEDS.addLeds<WS2812, LED_DT, GRB>


In the case of APA102, try:

LEDS.addLeds<APA102, LED_DT, LED_CK, BGR>
Things We've Seen
  • Connecting to the wrong data/clock pin.
  • Incorrect LEDS.addLeds definition (i.e. using APA102 strip with WS2812 definition).
  • Incorrect pin definitions.
  • Flaky wiring/breadboard.
  • The wrong version of the library being used (wasn't up to date).
  • Old version of the Arduino IDE.
  • Incorrectly named library.
  • Using the wrong/old version of the library.
  • Duplicate library.
  • Didn't rename the library from FastLED-master to FastLED.
  • Library placed in wrong location.
  • Not enough power/current available.
  • Too high of a voltage being used (and you might have blown up the 1st LED). Try connecting clock/data to the 2nd LED.
  • Noisy power supplies.
  • Bad solder joints.
  • Trying to power too many LED's from the Arduino 5V line.
  • Connecting to Dout instead of Din.
  • Grounds not tied together (lots of people have this issue).
  • Blown LED's (see voltage above).
  • Memory leakage, i.e. referring to leds[NUM_LEDS] as opposed to leds[NUM_LEDS-1].
  • Wrong colours (as in Neopixels).
  • Make sure you're not using a 12V led strip.
  • Getting errors when using BLEND. Replace BLEND with LINEARBLEND instead.
  • Your board may not yet be supported.
  • Your code just does NOT work (yet). Have you tried known working code?
  • Trying to support too many LED's. There's 3 bytes per LED and only 2K of RAM on an UNO. Try a Teensy instead.
  • Infra Red libraries don't work with WS2812's. Try APA102's or WS2801's.
  • Swap out your USB cord. . Again if necessary.
  • Try a different Arduino.

Q. I've tried the above and it still doesn't work. Help!!!

A. There could be loads of reasons, so let's gather information. Please provide details:

  • What kind of LED's you're using.
  • What microcontroller board you're using.
  • How it's all powered up.
  • What version of the FastLED library you're using.
  • What version of Arduino IDE you're using.
  • What OS you're building from.
  • A circuit diagram/layout (try using Fritzing to show it).
  • A copy of your .ino file (copy it to www.pastebin.com or gist.github.com).
  • Essentially, give us EVERYTHING in excruciating detail.
  • Provide specifics on how/where it's all being powered up.
  • That would be pins, voltages, power supply used. . . everything.
  • Try and remove all the superfluous code and minimize the amount of code that exhibits the issue.

A. Oh, and triple check EVERYTHING. Again!

If you ask a question online and later get it resolved, please have the courtesy and post what the solution was.

Q. My FastLED .ino file gives me a (long assed) compile error.

  • Make sure you are using (the most recent version of) FastLED.
  • Some routines may require the LATEST development version (currently 3.1). Get it.
  • Make sure you've renamed the library to just FastLED.
  • Re-install the library just to be sure.
  • Check your code to make sure it's correct.
  • Try an example that's included with the FastLED library.
  • Post a copy of your (simplified) code that exhibits the problem onto pastebin.com or gist.github.com and ask for some assistance with it.

Q. I want to use a LOT of LED's. What do I need to do?

  • Remember that at full brightness, each LED can take up to 60mA of current.
  • If you need to limit the current, consider using the power management capabilities of FastLED.
  • Depending on the brightness, if you're running more than about 30 LED's, you should be using a dedicated power source for them.
  • You shouldn't be powering an Arduino UNO with 5V through the barrel connector. It should be 7-12V.
  • Just make sure that all of the grounds are tied together. Robustly.
  • You could put a 1000uf capacitor between Vcc and Gnd near the strip.
  • You could add a 330 ohm resistor between the data lines and the strip.
  • You could add a 10K ohm resistor between the data lines and Gnd.
  • Make sure that the wiring distance between the Arduino and the strip is <1M.
  • Use one Arduino data/clock pin per strip. It gets risky when driving 2 strips from one pin.
  • Consider using a Teensy 3.X with an OctoWS2811 adaptor.
  • Test the whole thing about on a small scale first, so you can isolate power/size issues from basic functionality.
  • Here's an interesting article:

http://ledwallproject.blogspot.ca/2014/05/making-5v-signals-for-ws2812-with-logic.html?m=1

Q. My Arduino is not recognized? What do I do?

  • Try a different Arduino.
  • Try a different cable.
  • Try a short cable.
  • Try a different computer.
  • Remove the LED strip and everything else connected to the Arduino.
  • Are you using an Arduino clone? With a clone FTDI chip? If so, please Google search for 'FTDI fix'.
  • Some Arduino's require you to manually install the drivers.

Q. I need help coding my sequence of awesomeness?

  • It is VERY difficult conveying to others what your sequence should do, so please put considerable effort into doing so. . clearly and concisely.
  • Please use gist.github.com or www.pastebin.com to exchange code.
general_troubleshooting.txt · Last modified: 2018/11/10 14:34 by atuline