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
etc.
Do you have any ideas? Maybe someone has already builded up a similar solution…
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?
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!