Our fork of the ArduPilot firmware has supported driving
the LEDs using servo outputs (one for each of the red, green and blue channels)
for a long while now. However, one thing that was missing is to allow the servo
outputs to be inverted in case you have a wiring where a full duty cycle PWM
signal turns your LEDs off instead of setting them to full brightness. With this
firmware update, you can now set the value of the SHOW_LED0_TYPE
firmware to
8, in which case the servo outputs will be driven by taking the inversion into
account.
Besides this, we have also fixed a few bugs; most notably, the yaw angle of the drone is now controlled in a more strict manner during takeoff. We also embedded a default parameter set for the Entron 300 show drone so the LEDs should now work out-of-the-box, even after a firmware reset to factory settings.
You can download our firmware on the download page, or
get its source code from Github.
Make sure to work with one of the CMCopter-...
branches as the master
branch simply tracks ArduPilot’s master
branch.
Cover photo by Victor Aznabaev on Unsplash