Connect LED Strips to Navio 2 (f.e. WS2811/WS2812)

Hello Maker :-),

in the past I builded up a quadrocopter with the flight controller Flip32 (Naze32 based), there was an out-of-the-box function to connect WS2811/WS2812 RGB-LED-Strips, which could be configured dependent on the flight-mode, orientation, arm-status, throttle-state etc.

Is there any possibility to connect these kind of LED-Strips to the Navio2 board, which will be controlled dependent on MAVLink-Messages/Status?

  • Throttle-State
  • Orientation (Front Green/Back Red etc.)
  • Arming-State

Do you have any ideas? Maybe someone has already builded up a similar solution…

Looking forward to read your answers.


Hi Michael,

These LEDs use a custom data interface so there’s no port to plug them in directly.
The only way to control them is to bit-bang that interface. Simplest way would be to use something like an Arduino, there should be plenty of sketches for WS281x.

My idea was to install the 3DR Dronekit, write a Python-Script which will read the current status of the Copter, and control the LED’s with an Adafruit PWM Board or similar.

Do you know which GPIO-Ports are free for using on Raspberry, or is it possible to use the I2C-Bus from the Navio-Board?

Hello Michael!

Here’s the Navio 2’s pinout.

Sure, this is possible. Look at PCA I2C LED drivers, they have ALLCALL I2C address that allows to control multiple chips at once. There is a driver for these chips in Ardupilot that was used in Navio+, it can be reworked to do what you want.
But you would need other LEDs (standard) in that case, WSxxxx won’t work with that chip.

@wsurfer78 Have been looking to do something similar without the need for an Arduino. However, I don’t have the programming experience, if you do make the script would you mind sending me a copy? Thanks!

Sure…We should stay in contact…My plan at the moment is following: