Giter Club home page Giter Club logo

bluejay's Introduction

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.

bluejay's People

Contributors

crteensy avatar mathiasvr avatar saidinesh5 avatar stylesuxx avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.