Fork from bluejay at github and modified for my custom ESC. I need to modify it because some mistake design on my ESC hardware.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Dinesh Manajipet 3b355fb02a
feat: Make startup melody user configurable (#8)
4 years ago
.github chore: Create FUNDING.yml 4 years ago
.husky chore: Make commitlint a git hook 4 years ago
Layouts style: Minor O layout fix 4 years ago
Silabs chore: Move efm include files 4 years ago
tools build: Use latest git tag as default version when building (#18) 4 years ago
.editorconfig style: Add editorconfig 4 years ago
.gitignore build: Add docker as a build container (#11) 4 years ago
BLHeliBootLoad.inc BLHeli_S source code 4 years ago
Bluejay.asm feat: Make startup melody user configurable (#8) 4 years ago
CHANGELOG.md chore(release): 0.11 4 years ago
COPYING BLHeli_S source code 4 years ago
Common.inc docs: Add pca interrupt macro comments 4 years ago
Makefile chore: Add register bank directive and move all to makefile 4 years ago
README.md chore: Update readme 4 years ago
bluejay.svg docs: Update readme 4 years ago

README.md

Bluejay

Bluejay

GitHub release (latest by date) Discord

Digital ESC firmware for controlling brushless motors in multirotors.

Based on BLHeli_S revision 16.7

Bluejay aims to be an open source successor to BLHeli_S adding several improvements to ESCs with Busy Bee MCUs.

Current Features

  • Digital signal protocol: DShot 150, 300 and 600
  • Bidirectional DShot: RPM telemetry
  • Selectable PWM frequency: 24, 48 and 96 kHz
  • PWM dithering: 11-bit effective throttle resolution
  • Power configuration: Startup power and RPM protection
  • Numerous optimizations and bug fixes

See the project changelog for a list of changes.

Flashing ESCs

Bluejay firmware can be flashed to BLHeli_S compatible ESCs and configured using any of the following:

Release binaries

All releases can be found in the releases section.

Release files use a naming convention similar to BLHeli: {T}_{M}_{D}_{P}_{V}.hex.

T A - W Target ESC layout
M L or H MCU type: L (BB1 24MHz), H (BB2 48MHz)
D 0 - 90 Dead time (0 only for ESCs with built-in dead time)
P 24, 48 or 96 PWM frequency [kHz]
V E.g. 0.7 Bluejay version

Comparison of BLHeli_S and Bluejay settings

The following table shows a correspondence between BLHeli_S and Bluejay's startup power settings.

BLHeli_S Bluejay
Startup Power Min. Startup Power Max. Startup Power RPM Power (Rampup)
0.031 2 (1001) 1 (1004) 2x
0.047 4 (1002) 2 (1008) 2x
0.063 6 (1003) 3 (1012) 3x
0.094 8 (1004) 4 (1016) 4x
0.125 12 (1006) 6 (1024) 5x
0.188 18 (1009) 9 (1035) 6x
0.25 24 (1012) 12 (1047) 7x
0.38 36 (1018) 18 (1071) 8x
0.50 50 (1024) 25 (1098) 9x
0.75 74 (1036) 37 (1145) 10x
1.00 100 (1049) 50 (1196) 11x
1.25 124 (1061) 62 (1243) 12x
1.50 150 (1073) 75 (1294) 13x
  • Minimum startup power: Minimum power when starting motors. Increase if motors are not able to start with low throttle input.
  • Maximum startup power: Limits power when starting motors or reversing direction.
  • RPM Power Protection (Rampup): Limits how fast power can be increased. Lower values will avoid power spikes but can also decrease acceleration.

Contribute

Any help you can provide is greatly appreciated!

If you have problems, suggestions or other feedback you can open an issue.

You can also join our Discord server to ask questions and discuss Bluejay!

Obtaining the toolchain

To obtain the toolchain, download the C51 package from Keil. Run it with wine:

wine c51v960a.exe

This will install toolchain and uVision. To obtain a license key (which you will need in order to link files above a certain size) you will have to run uVision in order to get your Computer ID.

wine ~/.wine/drive_c/Keil_v5/UV4/UV4.exe

Go to "File" -> "License Management" note your "Computer ID".

With this information, you can request a licence key on the Keil license installation page. In the CID field you need to enter the Computer ID which uVision showed you in the previous step.

The license ID will be sent to you via E-Mail, once received you paste it into the LIC field, press "Add LIC" and you are done.

Building

For your convenience a Docker Image is provided that will set up the toolchain. For this to work you need to have completed the step Registering via Wine and your .wine directory has to be copied to the tools directory.

The .wine directory can be deleted from the tools directory after the docker image has been created.

To build the docker image install docker and from the tools directory run:

docker build -t bluejay-build .

A build script is provided, it will build all targets if no further parameters are provided:

./build.sh

or a specific target if you chose to:

./build.sh -l A -m H -d 0 -p 96

If a specific target is chosen, all parameters need to be provided: layout, mcu, deadtime and pwm

The source from the projects root is used to build the firmware.