User Tools

Site Tools


projects:crazyflie2:expansionboards:ledring

LED Ring expansion deck

The LED ring expansion deck contains two powerful front-facing white LEDs and 12 bottom-facing RGB individually addressable LEDs (it uses the same LEDs as used in the NeoPixel products by Adafruit).

The deck is designed to be installed as the last deck on the bottom of the Crazyflie 2.0. It does not have pass-through holes for the expansion port connector.

The RGB LEDs are connected in in series and can be addressed individually. When a new color is sent to U1, the U1 color is sent to U2, the U2 to U3 and so on. So sending 12 colors to U1 will update the full ring. Drivers for the ring exist in the Crazyflie 2.0 firmware.

Specification

  • DC-DC step-up/down gives up to 1A at 3.8V from input between 2-5.5V
  • 12 independently addressable RGB LED modules facing downwards (W2812B)
  • 2 strong white LEDs facing forward
  • 1-wire memory for automatic expansion deck detection
  • Designed for mounting under the Crazyflie facing downwards
  • Mechanical specification:
    • Weight: 3.3g
    • Size (WxHxD): 33x33x5.5mm

Schematic

Led ring expansion deck schematic.

Parameters

NameTypeAccessValue (default)Description
ring.effectuint8_tRW6Ring effect (0=off, 1=White spinner, 2=Color spinner, 3=Tilt effect, 4=Brightness effect, 5=Color spinner2, 6=Double spinner, 7=Solid color effect, 8=Factory test, 9=Battery status, 10=Boat lights, 11=Alert, 12=Gravity, 13=N/A)
ring.emptyChargefloatRW3.099..
ring.fullChargefloatRW4.199..
ring.glowstepfloatRW0.050..
ring.headlightEnableuint8_tRW0Headlight LEDs (0=off, 1=on)
ring.neffectuint32_tRO13Number of available ring effects
ring.solidBlueuint8_tRW20
ring.solidGreenuint8_tRW20
ring.solidReduint8_tRW20

Getting started with the LED Ring expansion deck

To get started with the LED Ring expansion deck you can either control the LEDs using the client, or by code.

Using the Client

Start the cfclient

Connect to your Crazyflie and make sure your LED tab is visible. If not, go to View → Tabs → LED tab

Now you can address each LED individually and set its RGB color.

Using code

You can easily control the LEDs by using the Crazyflie Python lib

There's two scripts in Examples that covers the basics:

  • basicLedparamSync.py
  • basicLedmemSync.py

You can then modify the scripts to your needs by adjusting the color effects, fade effects, RBG values, timings and much more. There's really no limit to what you can do with this!

projects/crazyflie2/expansionboards/ledring.txt · Last modified: 2019-07-02 16:12 by victor