CAN Lighting Board Firmware
Introduction
The purpose of this document is to describe the plan for writing the firmware for the lighting board LED Board Rev 2. The board is planned to be used for competition drone for the AEAC 2025 competition Lighting Integration 2025.
The firmware for this project can be found in this Github repository: GitHub - UWARG/efs-can-lighting: Firmware for WARG custom lighting board, communicate to Arudupilot over CAN bus..
Background
After conduction some research, we found that Ardupilot is capable of supporting LED DroneCAN peripherals DroneCAN Setup — Copter documentation. We also found that DroneCAN can send a LightCommand
message that can provide RGB data of the LED color.
Plan
The plan is to read and decode the LightCommand
message and light up the LED’s based on that data in the messages.
Setup a Simple CAN Node
The goal of this step is to setup a simple CAN node that listens for the heartbeat message from Ardupilot.
Implement something similar to libcanard/examples/SimpleNode at master · dronecan/libcanard but compatible with STM32
Refer to the ESC node libcanard/examples/SimpleNode at master · dronecan/libcanard
Request and Receive a LightCommand
Message
TODO: Add to this section of the plan
Parse LightCommand
Message and Interpret Data
TODO: Add to this section of the plan
Set LED to Requested Color
TODO: Add to this section of the plan
Contributors
@Folarin Fatola
@Mihir Gupta