Neopixel LEDs as status LEDs for Ardupilot

Sometimes there's just no good place to mount the external LED to on a copter or one simply wants more light output... While developing my own little light controller, I wrote a decoder which decodes the I²C control signals for the external LED and controls arbitray amounts of Neopixels accordingly.

NOTE: Never power any amount of extra LEDs from the flight controller or the flight controller's power supply! One Neopixel can pull up to 60mA. That accumulates pretty quickly into significant currents when using many.

To get started, solder a 4-pin I²C DF13-cable to your Nano or Pro Mini. Pinouts for the flight controllers can be found in the respective documentations. Then solder ground and data in of the Neopixels to ground and your chosen data out on the Arduino. You can choose the amount of Neopixels and the data out pin in the #defines in the code.

Find the code on GitHub:
You will also need Adafruit's Neopixel library:

Original Article:

Views: 749

Comment by Fritz Barnard on July 19, 2017 at 12:43pm

Hi Stefan

I have been using your project on an arduino nano . everything worked fine until I upgraded from .3.4.6 to 3.5.copter.

working fine again after downgrading. the pixhawk still disables the onboard led, but no output on neo pixels.

I hope you can help...


You need to be a member of DIY Drones to add comments!

Join DIY Drones


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service