What is CLI ?
CLI is abbreviation of the a Command Line Interface. It is special configuration mode where commands are given insted of the dedicated setting controls and inputs. Every flight controllers firmware configurator (Cleanflight, Betaflight, Butterflight, iNav, etc) has this mode. It is useful for more specific change of settings and detailed configuration the Flight Controller. It is also usefur for dumping the whole flight controller configuration, backuping and restoring the settings in the easy way. Read more about it below.
How to use CLI?
In order to start using CLI you have to connect to your flight controller with configurator software (See here how to install the standalone configurator software). Click on the “CLI” tab – this will enable flight controllers CLI mode. Write the command in the input field and hit the [Enter] to execute it.
You need to execute save
command if you want all the commands and changes to be saved into Flight Controllers memory. Saving will reboot the flight controller. Close the CLI tab or send the exit
command to exit the CLI mode without saving.
CLI Dump
or Diff
?
PMB v4 for Betaflight 4.0.x is the first tune and setup for Betaflight 4.0, and introduces Integrated Yaw for even more control in Angle mode and delivers the same performance you had in 3.5.7 and more! Apr 17, 2019 Betaflight Blackbox Explorer. This tool allows you to open logs recorded by Betaflight's Blackbox feature in your web browser. You can seek through the log to examine graphed values at each timestep. If you have a flight video, you can load that in as well and it'll be played behind the log. There are lots of other features that make this an exceptional flight controller running Betaflight. Features include Betaflight OSD, 5V/1A power filter, Blackbox (with microSD card reader), DShot ESC support, Buzzer and LED light support as well as the ability to support SBUS/IBUS/DSM2 compatible/DSMX compatible protocol receivers. Download Betaflight - Configurator for Windows now from Softonic: 100% safe and virus free. More than 1386 downloads this month. Download Betaflight.
dump
command dumps all the setting of the flight controller. This can be quite a long listdiff
command was introduced in the BetaFlight version 3.0 and it dumps only the settings that are different from the defaults. diff all
command dumps only differencies from the defaults but also dumps all the PID profiles.
It is highly recommended to use diff
instead of the dump
as it results in the significant smaller settings list and only the ones that were changed or differ from the defaults.
How to Backup/Restore the settings using CLI?
Sometimes it is usefull to save the Flight Controller settings and restore them in case you need. These cases include FC firmware upgrade, restoring the FC to the point where it worked and etc. Backuping and restoring is very simple task.
Betaflight Configurator Download
Backup: Go to CLI, enter diff
(or diff all
if you have multiple PID profiles) and copy the provided text to anywhere just to save it for later use.
Betaflight Wiki
Restore: Go to CLI, paste the saved settings text to the command input field, hit [Enter]. Your FC settings are restored. Don’t forget to save the settings.
CLI commands list
Command | Description |
---|---|
1wire <esc> | passthrough 1wire to the specified esc |
adjrange | show/set adjustment ranges settings |
aux | show/set aux settings |
color | configure colors |
defaults | reset controller to defaults and reboot |
dump | print configurable settings in a pastable form |
diff | dump only the settings that are different from the defaults. Includes only the current PID profile. |
diff all | dump only the settings that are different from the defaults. Includes ALL PID profiles. |
exit | exit without saving |
feature | list or -val or val |
get | get the value of the specified variable |
gpspassthrough | passthrough gps to serial |
help | lists all commands |
led | configure leds |
map | mapping of rc channel order |
mixer | mixer name or list |
mode_color | configure mode colors |
motor | get/set motor output value |
play_sound | index, or none for next |
profile | index (0 to 2) |
rateprofile | index (0 to 2) |
rxrange | configure rx channel ranges (end-points) |
rxfail | show/set rx failsafe settings |
save | save settings and reboot |
serialpassthrough | serial passthrough mode, reset board to exit |
set | set the the given value to the variable. (name=value or blank or * for list) |
status | show system status |
version | show version |
serial | configure serial ports |
servo | configure servos |
sd_info | sdcard info |
tasks | show task stats |
mmix | design custom motor mixer |
smix | design custom servo mixer |
Note that specific command list depends on the type of the firmware (BetaFlight, Butterflight, iNav) and firmware version you are using. For exact list of the commands type help
in CLI mode.
Usefull CLI commands
bl
or dfu
command to enter the DFU mode without pushing the button. Reboots the FC board in bootloader mode.
set small_angle = 180
– sets any angle your quadcopter will be able to arm. Usefull when you land unexpectedly severely angled and you are unable to re-arm.
set ledstrip_visual_beeper = ON
– When set to on, and the LEDLOW mode is active (i.e. LED strip off), blink the LED strip in synch with beeping, as a visual indicator in cases where the craft is too far away for the beeper to be heard / multiple craft are flying. Values available: [ON,OFF (default)]
Binding with integrated Receivers (connected via SPI):
For Betaflight 4.x – command bind_rx_spi
For Betaflight 3.x: – command frsky_bind
Don’t forget to issue save
command after the sucessfull bind.
Betaflight Failed To Open Serial Port
History:
2018-05-23 – article created
2019-02-13 – Usefull CLI commands updated
2019-07-01 – Usefull CLI commands updated
Betaflight Configurator Releases
- Guide: How to Arm, PreArm and start your quad What is Arm and why do we need it? All modern quadcopters (or any
- ExpressLRS – Open Source Long Range radio control system – Complete Guide ExpressLRS is the Open Source Long Range radio control system, developed by Alessandro Carcione (aka AlessandroAU)