Customizing Startup and Self-Test Tones on Bluejay ESC Firmware

Bluejay is an open-source electronic speed controller (ESC) firmware designed specifically for modern multirotor drones. Built as a forward-looking evolution of BLHeli_S revision 16.7, it targets the Busy Bee microcontroller platform and focuses on digital communication, stability, and user configurability. Unlike legacy analog protocols, Bluejay exclusively supports DShot—DShot150, DShot300, and DShot600—with bidirectional capability enabling real-time RPM telemetry to the flight controller.

Key Capabilities

  • Digital protocol support: DShot150/300/600 with bidirectional telemetry
  • Configurable PWM carrier frequencies: 24 kHz, 48 kHz, or 96 kHz
  • 11-bit effective throttle resolution with minimized jitter
  • Integrated safety features: startup voltage guard and RPM-based protection
  • Optimized commutation timing for reduced electrical noise and smoother throttle response
  • Full support for user-defined startup and self-test melodies

Editing Melodies Using Configuration Tools

To modify or upload custom tones, use one of the following official supported tools:

  • ESC Configurator — Progressive Web App (PWA), browser-based, requires Chrome or Edge
  • Bluejay Configurator — Standalone desktop application (Windows/macOS/Linux)

Prerequisites

  • A flight controller running Betaflight (v4.3 or newer); other firmware stacks (e.g., iNav, ArduPilot) do not support Bluejay ESC flashing via passthrough
  • At least one ESC flashed with Bluejay firmware (if upgrading from BLHeli_S, verify hardware compatibility first)
  • Power source: LiPo battery or regulated bench supply (ensure safe current limits)
  • Wiring: Connect ESC signal wires (typically labeled "PWM" or "S") for motors 1–4 plus a shared ground wire to the FC’s corresponding motor outputs

Workflow Summary

  1. Remove all propellers and power up the ESCs.
  2. Connect the FC to your computer via USB.
  3. Launch ESC Configurator in Chrome and click Connect.
  4. Click Read Settings to confirm firmware version and current configuraton.
  5. Open the Melody Editor panel (bottom-right corner).
  6. Select or compose a melody using the visual interface or raw syntax field.
  7. Preview playback using the Play button.
  8. Click Accept, then Write Melody. Repeat per motor if individual tones are desired.

Melody Syntax Reference

Each melody string follows a structured format composed of a header and note sequence.

Header Format

MelodyName:b=147,o=5,d=4:
  • MelodyName: Arbitrary identifier (e.g., sky, tiga) — used internally for labeling only
  • b=: Beats per minute (BPM); controls global tempo (e.g., b=120)
  • o=: Base octave; default o=5 maps to middle C range
  • d=: Default note duration denominator; d=4 means quarter-note base unit (i.e., "4" = ¼ note)

Note Encoding Rules

Notes are comma-separated and follow this pattern: [duration][pitch][octave]

  • Duration: Integer representing note length as a fraction of a whole note. Valid powers of two: 1 (whole), 2 (half), 4 (quarter), 8 (eighth), 16, 32. Example: 8a = eighth-note A
  • Pitch: Letter from c to b, mapping to solfège do–ti; p denotes a rest. Optional # suffix indicates sharp (e.g., f#)
  • Octave: Numeric suffix: 4 = low, 5 = middle (default, optional), 6 = high
Solfège Letter Scale Degree
do c 1
re d 2
mi e 3
fa f 4
so g 5
la a 6
ti b 7
Octave Designation Value
Low 4
Middle (default) 5
High 6

Example Melody Snippets

sky:b=100,o=5,d=4:e,a6,32p,8a6,g,32p,8g,8e,8d,c.,32p,8c.,d,8c,8d,g.,2e
luck:b=130,o=5,d=4:a,8e6,8d6,32p,d6,8c6,8d6,a,a,32p,a,d6,c6,8a,8g,d,8g,8a,e,e,32p,e,8a,8g,a,32p,8a,8g,a,8d6,8c6,d6,d6,8c6.,32p,16c6,32p,8c6,8d6,8e6,32p,8e6,8d6,8c6,g,8c6,8a,32p,a,a
jojo:b=200,o=5,d=4:f#,8g,32p,16g,16f#,8e,8d,8e,8d,8c,8b4,8d,8b4,8c,8a4,8b4,8g4,8a4,e4
tiga:b=200,o=5,d=4:8a4,8c,8a,g,8f,p,e,8f,e,8d,8c,8d,8a4,8c,8a,g,8f,p,8e,f,a,32p,8a,a
heal:b=200,o=5,d=4:e,16p,e,16p,8e,16p,8d,16p,g
nokia:b=150,o=5,d=4:16g6,16f6,8a,8b,16f6,16e6,8f,8g,16d6,16c6,8e,8g,c6,c6
level5:b=138,o=5,d=8:8c6,8b5,8c6,8d6,4e6,8e6,8c7,8b6,16a6,16g6,8g6,8e6,8g6,8e6,8g6,16a6,4e6,8p,8e6,8f6,16g6,16a6,8a6,8c7,8b6,16a6,16g6,8g6,8d6,8e6,16f6,16e6,4e6
canon:b=290,o=5,d=32:2g6,4e6,4f6,2g6,4e6,4f6,4g6,4g,4a,4b,4c6,4d6,4e6,4f6,2e6
cherry:b=310,o=5,d=32:4g,4a,8d,8c,8d,8c,4g,4a,8d,8c,8d,8c,4g,4a,8d,8c,8d,8c,4f,8e,8f,4d,4c,4g,4a,8d,8c,8d,8c,4g,4a,8d,8c,8d,8c,4g,4a,4c6,4f6,4e6,8f6,8e6,4d6,4c6
duck:b=130,o=5,d=32:4g4,4a4,4c,4p,8c,8a4,8c,8d,4d,4p,4d,4e,4g,4p,8g,8e,8g,8e,4e,4p,4d,4e,4c,4p,8c,8a4,8c,8d,4d
porcelain:b=220,o=6,d=32:4g,p,4g,4e,4d,4e,2a5,4d,4e,4g,4e,2d,4p,4g,p,4g,4e,4d,4e,2g5,4d,4e,4g,4d,2c

Tags: bluejay esc dshto Firmware rc-drones

Posted on Thu, 23 Jul 2026 16:30:05 +0000 by vbracknell