Skip to content

Commit

Permalink
Merge pull request #1440 from bitcraze/tobba/Ledring-with-cf21bl
Browse files Browse the repository at this point in the history
Added documentation for LED-ring with CF21-BL
  • Loading branch information
ToveRumar authored Dec 5, 2024
2 parents 7c64c98 + 6c4d6df commit 7942b44
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 0 deletions.
Binary file added docs/images/esc-blheli_m_settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/esc-flash-local-firmware.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/esc_menuconfig_oneshot125.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
47 changes: 47 additions & 0 deletions docs/userguides/advanced-configuration/ledring_on_cf21bl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: LED-ring on Crazyflie 2.1 Brushless
page_id: ledring_on_cf21bl
---

## How to get the LED-ring working on Crazyflie 2.1 Brushless

Due to a resource conflict between the DSHOT motor signal driver and the LED-ring (they both use DMA1 Stream 6), DSHOT can not be used together with the LED-ring.
The default ESC firmware we use is [Bluejay](https://github.com/bird-sanctuary/bluejay) (a successor of BLHeli_S) which has removed support for all other motor signal protocols than DSHOT. A work-around then is to use BLHeli_S and e.g. OneShot125 protocol. However there are more complications as a 24KHz ESC PWM seem to interfere with the gyro, so a special version of BLHeli_S that supports 48KHz should be used. This version is called BLHeli_M.

### Download the BLHeli_M O_H_10_48_REV16_77.hex

The ESC firmware file O_H_10_48_REV16_77.hex can be found [here](https://github.com/JazzMaverick/BLHeli/blob/JazzMaverick-patch-1/BLHeli_S%20SiLabs/Hex%20files%2016.77%2048k/O_H_10_48_REV16_77.HEX). Download it to a local folder.

### Flash the ESCs

Use the [ESC-configuration guide](/docs/images/esc_configuration-md) to flash custom FW to the ESCs

![Flash custom FW](/docs/images/esc-flash-local-firmware.png)

### Write settings to the ESCs

We recommend the settings in the picture below:

![BLHeli_M recommended settings](/docs/images/esc-blheli_m_settings.png)

To write the setting to the ESCs press the "Write settings" button. This will write **all** the settings shown in the GUI to the ESCs.

***NOTE if you push "reset to default" these settigns are not our default settings, but the ones specified by the esc-configurator website.***

## Configure the Crazyflie 2.1 brushless firmware to output OneShot125/Oneshot42 motor signal

Use the build and flash firmware guide to learn how to build and flash firmware

Build the firmware with OneShot125/OneShot42 motor signal protocol:
```
$ make cf21bl_defconfig
$ make menuconfig
```

![Flash custom FW](/docs/images/esc_menuconfig_oneshot125.png)

Then build and flash the Crazyflie 2.1 Brushless firmware. The LED-ring should now work with your Crazyflie 2.1 Brushless.

## Restoring the original ESC firmware

We use different settings then the official Bluejay firmware, so use our fork of the Bluejay ESC firmware. Our latest release can be found [here](https://github.com/bitcraze/bluejay/releases). Download and flash the cfbl2.1_esc_normal_m1-m3.hex on all ESCs. You can configure the rotation direction afterwards together with the other settings that are shown in the [ESC-configuration guide](/docs/images/esc_configuration-md).

0 comments on commit 7942b44

Please sign in to comment.