FlySpark logo
Betaflight logoBetaflightBetaflight setup guidesUpdated

Betaflight battery settings

A Betaflight battery reading is only as good as the meter you selected. The Power tab, inside the Betaflight configurator, sets the voltage source, the current source, the per-cell warning levels and the pack capacity. The OSD, the battery warning and the mAh counter all use those settings. A scale that is off by a few percent is enough to land a pack hotter than you planned.

Voltage can come from the onboard ADC or from an ESC sensor. Current can come from the onboard ADC, a virtual estimate, an ESC sensor or MSP. None is a real choice on both, and it means the craft will not warn you. Pick the source that matches the hardware on the board, then set the cell voltages, then check the live number against a meter.

This page is the Betaflight power screen. INAV has its own voltage scale, cell count and current scale on the INAV configurator. Do not copy a Betaflight scale number into INAV and expect the same volts.

Free. Hardware connections need Chrome or Edge on a computer; phones use the FlySpark app.

  • Free
  • Nothing to install
  • Demo without hardware

In short

The Betaflight Power tab chooses how voltage and current are measured and when the cell warning appears. FlySpark shows the onboard ADC, ESC sensor and virtual current sources, plus the cell voltages and the pack capacity in mAh. A wrong scale reads the wrong voltage, so the warning fires late or early.

Key facts

  • Cell voltages are stored per cell, from 1.00 to 5.00 volts.
  • Capacity is the pack size in mAh, 0 to 20000 in steps of 50.
  • Voltage sources are none, onboard ADC and ESC sensor.
  • Current sources add virtual and MSP on top of ADC and ESC sensor.
  • The OSD and the warning use whatever source you select here.
  • Chrome or Edge connects over USB or Bluetooth. Wi-Fi needs the app.
  • iPhone has no USB host.
  • Betaflight logoBetaflight
  • INAV logoINAV
  • ArduPilot logoArduPilot
  • PX4 logoPX4
  • BLHeli_S
  • Bluejay logoBluejay
  • AM32 logoAM32
  • ExpressLRS logoExpressLRS
  • EdgeTX logoEdgeTX
  • DroneCAN logoDroneCAN
  • MAVLink logoMAVLink

Try it

Watch the pack

Cell voltage times the cell count is the pack. The cells change colour as that voltage falls.

16.20 V

Betaflight

Features

  • 01

    Voltage meter

    Voltage meter: none, onboard ADC or ESC sensor

  • 02

    Current meter

    Current meter: none, ADC, virtual, ESC sensor or MSP

  • 03

    Minimum, warning and maximum cell voltage from 1

    Minimum, warning and maximum cell voltage from 1 to 5 V

  • 04

    Pack capacity from 0 to 20000 mAh

    Pack capacity from 0 to 20000 mAh

  • 05

    Per-meter voltage and current scale cards

    Per-meter voltage and current scale cards

  • 06

    Calibration against a known voltage or current

    Calibration against a known voltage or current

  • 07

    Live pack voltage while the board is connected

    Live pack voltage while the board is connected

Voltage source

The voltage meter source has three values. None turns the meter off. Onboard ADC reads the resistor divider on the flight controller. ESC sensor reads voltage that the ESC reports, which only works when the ESC protocol and the port are already sending that telemetry. FlySpark labels those three the same way Betaflight does.

Onboard ADC is the usual choice on a board that has a VBAT pad and a divider. The scale for that meter is on the voltage meters card, not in the source dropdown. If the live voltage is a long way from a handheld meter on the balance lead, change the scale, not the warning voltage. The warning can only be honest after the scale is honest.

ESC sensor is the right source when the ESCs report voltage and the flight controller is set to listen. That path needs DShot telemetry or the ESC sensor feature the board actually supports, and it needs the motor protocol and the port left in a state that carries the telemetry. If you select ESC sensor and the voltage sits at zero, the sensor is not arriving. Go back to onboard ADC if the board has a divider, or fix the ESC telemetry before you trust the pack gauge.

None is for a bench board with no pack wired to the controller. Leave it on none and the OSD battery element stays empty. Do not leave it on none for a craft that flies.

Cell warning voltages

Minimum, warning and maximum are per cell, not for the whole pack. Each one is stored in hundredths of a volt and shown with two decimals, from 1.00 to 5.00 volts. The warning is the value that should get your attention in the air. The minimum is the lower limit the firmware treats as empty. The maximum is the full-cell value used when the gauge draws a full pack.

A 4S pack does not get a special field. Betaflight multiplies the cell value by the cell count it detects. If the cell count is wrong, every warning is wrong by that ratio. A craft that thinks a 4S pack is 3S will hit the warning voltage while the cells are still fine, or the other way around if the count is high. Confirm the cell count the OSD shows against the pack you plugged in before you change the warning.

Set the warning for the chemistry you fly. A LiPo that you want to land at about 3.5 V per cell needs the warning near that number, with the minimum a little lower so you still have a moment after the warning starts. A Li-ion pack uses a different curve. The tab will accept 1 to 5 volts either way. It will not pick the chemistry for you.

The live card on the Power tab shows the voltage the board is reporting now. Compare it with a meter on the balance plug, at rest, before you arm. A difference of a tenth of a volt per cell is enough to fix the scale. Do not chase hundredths while the pack is under load. Sag is real, and the warning exists so you land when the loaded voltage falls, not so the resting number matches a charger to the last digit.

Current source and capacity

The current meter source has five values. None, onboard ADC, virtual, ESC sensor and MSP. Onboard ADC is a current sensor wired to the flight controller, often a shunt on the board or a separate sensor. Virtual estimates current from throttle, which is a rough guide and a poor mAh counter. ESC sensor uses current the ESCs report. MSP takes current from a device that speaks MSP. Pick the one the hardware actually provides.

Capacity is the pack size in milliamp hours, from 0 to 20000, in steps of 50. It does not measure the pack. It tells the mAh counter how big this pack is so the used-capacity warning has a target. A 1500 mAh pack typed in as 1300 will warn early. A 1500 typed in as 1800 will warn late. Change it when you change packs, or use a battery profile if you swap sizes often.

Virtual current will still draw a number, and that number is not a calibration. If you care about mAh, use a real sensor and check it. Fly a known pack, write down the mAh the OSD claims, and compare it with what the charger puts back in. If the OSD is consistently high or low, change the current scale on the current meters card. If it is randomly wrong, the source is the wrong one or the sensor is noisy.

ESC current and onboard current are not interchangeable scales. A scale that was right for a shunt on the board is wrong for ESC telemetry, and the reverse is also wrong. When you change the source, expect to redo the scale. Leave the cell warning voltages alone while you do that, so you only change one thing.

Scale and calibration

Each meter has a scale. The voltage meters card and the current meters card are separate from the source dropdown. The scale is the number that turns the raw sensor into volts or amps. FlySpark shows those cards on the Power tab, and it has a calibration card so you can line the reported value up with a meter you trust.

Calibrate voltage at rest. Plug in the pack, read a handheld meter on the balance lead, and adjust until the Power tab matches. Do this before you change the warning. If you lower the warning because the OSD looks low, and the real problem was the scale, you have taught the craft to fly a low pack.

Calibrate current with a load you can measure, or with a charge cycle you can compare. A small error matters more on a small pack. A 10 percent high current scale on a 1500 mAh pack reports 150 mAh you did not use, and you land early. A 10 percent low scale does the opposite. Write the scale down with the board backup from the CLI so a later diff still contains it.

Presets sometimes ship a battery scale for a known stack. Applying a preset can overwrite the scale you just calibrated. Read the diff after a preset. If the scale changed and your meter no longer matches, put your scale back. The presets page is the place that explains what a preset overwrites.

What the OSD and the warning use

The battery OSD elements read this tab. If the voltage element is blank, the source is none or the sensor is not arriving. If the element shows a number that does not match a meter, the scale is wrong. If it matches at rest and sags in the air, that is the pack under load, and the warning voltage is how you decide when to land.

Used capacity only moves when a current source is producing amps. Virtual current moves with throttle even on the bench. A real sensor should sit near zero with the motors stopped. A sensor that shows several amps at idle needs its offset or its scale fixed before you trust the mAh count. The current meters card is where that offset lives.

Arming does not require a battery meter. You can arm with the source on none. That is a bad setup for anything you fly away from the bench, because nothing will tell you the pack is done. Set the source, confirm a live voltage, then fly.

The OSD editor only places the elements. It does not set the volts. If you move the voltage element and the number is still wrong, come back to the Power tab. Layout and scale are different jobs.

INAV is a different power screen

INAV measures voltage with its own meter type and a voltage scale, and it stores cell count, cell detection voltage, and minimum, warning and maximum cell voltages on its power pages. Current uses a scale in millivolts per 10 amps and an offset in millivolts. Those fields are not the Betaflight cards. A Betaflight scale pasted into INAV will not mean the same volts.

Open the INAV configurator for an INAV board. The live voltage is still the test: meter on the balance lead, then the scale, then the warning. The order is the same even though the field names differ.

The Betaflight demo in FlySpark is a simulated 4.5 board. You can open the Power tab and see the sources and the cell fields without hardware. Writing them to a flight controller needs a connection. Chrome and Edge use USB or Bluetooth. The Android app adds Wi-Fi. iPhone uses Bluetooth or Wi-Fi and cannot see a flight controller over USB.

Betaflight

Set the Betaflight battery meter

  1. Choose the meters

    Open the Power tab. Set the voltage source to onboard ADC or ESC sensor, matching the hardware. Set the current source the same way. Leave none only for a bench board with no pack.

  2. Set the cell voltages and capacity

    Enter minimum, warning and maximum volts per cell, between 1 and 5. Enter the pack capacity in mAh, from 0 to 20000 in steps of 50. Confirm the cell count the board reports.

  3. Match a meter

    Read the pack with a handheld meter at rest. Adjust the voltage scale until the live card matches. Compare mAh after a flight with what the charger puts back, and adjust the current scale if the error is consistent.

  4. Save it into the backup

    Save to the board. Take a CLI diff so the scale and the warning voltages are in the backup, and check the diff again after you apply a preset.

Troubleshooting

Common problems and fixes

  • Problem

    Voltage reads zero

    Fix

    The source is none, the ESC sensor is not arriving, or the pack is not wired to the divider the ADC uses.

  • Problem

    The warning fires on a full pack

    Fix

    The scale is high, the cell count is low, or the warning voltage is set above a full cell.

  • Problem

    mAh used barely moves

    Fix

    The current source is none, or the scale is far too low, or you expected a virtual meter to see a real shunt.

  • Problem

    A preset changed the volts

    Fix

    The preset wrote a different battery scale. Compare the CLI diff and put your calibrated scale back.

FAQ

Frequently asked questions

Where are Betaflight battery settings?

On the Power tab of the Betaflight configurator. Voltage source, current source, cell voltages and capacity are the first card. Scales are on the meter cards below.

What voltage sources can Betaflight use?

None, onboard ADC and ESC sensor. Onboard ADC is the divider on the flight controller. ESC sensor needs the ESCs to be reporting voltage.

What current sources can Betaflight use?

None, onboard ADC, virtual, ESC sensor and MSP. Virtual estimates from throttle. The others need a real sensor or a device that reports current.

Are the warning voltages per cell?

Yes. Minimum, warning and maximum are per cell, from 1.00 to 5.00 volts. The pack warning is that cell value times the cell count.

What does capacity do?

It is the pack size in mAh, from 0 to 20000 in steps of 50. It gives the used-capacity warning a target. It does not measure the pack.

Why does the OSD voltage disagree with my meter?

The scale is wrong, or you are comparing sag under load with a resting meter. Calibrate at rest, then use the warning for the loaded voltage in the air.

Can I set this in Chrome?

Yes. Chrome or Edge connects over USB or Bluetooth. Android adds a Wi-Fi MSP bridge. iPhone uses Bluetooth or Wi-Fi and has no USB host.

Does INAV use the same battery screen?

No. INAV has its own voltage scale, cell count and current scale. Use the INAV configurator for an INAV board.

References

Sources

The official documentation behind the background facts on this page.

  1. Betaflight WikiBetaflight · betaflight.com
  2. Betaflight BatteryBetaflight · betaflight.com
  3. Betaflight Setup GuideBetaflight · betaflight.com

Tools

See every FlySpark tool

Ready to try it?

Free. Hardware connections need Chrome or Edge on a computer; phones use the FlySpark app.