How to Calibrate Current and Voltage in Betaflight (FPV Drone Guide)

by Oscar

Accurate current and voltage readings are critical for FPV drones. They tell you your battery level, how much capacity has been used, and how much is left. An incorrectly calibrated voltage and current sensor can lead to premature landings or, worse, over-discharging your LiPo. Current sensor can also show how much current the motors are drawing in real time. In this guide, I’ll walk you through the step-by-step calibration process for both voltage and current sensors in Betaflight.

Some of the links on this page are affiliate links. I receive a commission (at no extra cost to you) if you make a purchase after clicking on one of these affiliate links. This helps support the free content for the community on this website. Please read our Affiliate Link Policy for more information.

All of our recommended FC/ESC stack comes with current sensor: https://oscarliang.com/flight-controller/#The-Best-FC-Recommendations

How to Calibrate Voltage

Usually, voltage sensor is fairly accurate out of the box on a Betaflight flight controller, and you may not need to calibrate it. However, it’s always a good idea to check.

  1. Simply take a battery and check its voltage using either a battery checker or a multimeter.
  2. Then connect it to your drone. Make sure you remove the propellers first for safety.
  3. In Betaflight Configurator, if the reported voltage (circled in red in the image below) is significantly different from your measured voltage, you should calibrate the voltage sensor. A difference within 0.1V is generally acceptable.

If your voltage sensor isn’t working, make sure Voltage Meter Source is set to Onboard ADC in the Power & Battery tab in the configurator.

Betaflight 4.3 Voltage Calibration

To calibrate voltage:

  1. Click the Calibrate button at the bottom right.
  2. Enter the measured voltage.
  3. Click Calibrate. Betaflight will then ask to apply a new voltage scale.

That’s it. Within 0.1V is accurate enough.

Betaflight 4.3 Voltage Calibration Measured Voltage

Now you can put voltage in your OSD. You can display Battery Voltage (total voltage), or Battery average cell voltage, or both.

Betaflight Configurator 2025.12 Osd Battery Voltage

Why Current Sensor Is Useful

Having voltage displayed is useful, but due to voltage sag, the reading can fluctuate during flight, so it’s not always the most accurate indicator of battery level. For general flying such as freestyle and cinematic flying, using voltage alone is usually good enough. But for long-range and racing, where knowing exactly how much battery is left and when you should land is critical, that’s where the current sensor comes in.

There are two current sensor-related readings that you should know about:

  • Battery current mAh drawn: This shows LiPo battery consumption and tells you how much battery capacity has been used.
  • Battery current draw: This shows real-time current draw. It is a good indicator of how power-hungry your motor and propeller combination is at different throttle positions, and you can use it to test different setups

However, poor calibration can cause incorrect mAh consumption and current draw readings, making them confusing and basically useless. Therefore, it’s important to calibrate the sensor before relying on it.

How to Enable Current Sensor and Put It in OSD

Does your ESC have a current sensor? It usually looks like a large resistor near the power pads.

If it does, you can enable it by going to the Power & Battery tab in Betaflight Configurator and selecting Onboard ADC under Current Meter Source. Some 32-bit ESCs also support ESC Sensor (via ESC telemetry) as the Current Meter Source, but it’s usually easier to just use the ADC sensor.

If your ESC does not have a current sensor and you select Onboard ADC, you will get some random current readings.

Betaflight Configurator 2025.12 Power Battery Current Meter Source Onboard Adc

You can then display Battery current draw and Battery current mAh drawn in the OSD.

Betaflight Configurator 2025.12 Osd Element Battery Current Draw Mah Drawn

How to Check if Current Sensor Is Accurate

The easiest way to verify if your current sensor is working correctly, is to fly a battery and see if Battery current mAh drawn matches the capacity of the battery pack.

To do this:

  1. Fully charge a LiPo to 4.20V per cell, or 4.35V per cell if it’s LiHV.
  2. Fly the pack until the voltage drops to 3.3V per cell. I usually fly until 3.5V per cell, then hover close to myself until it reaches 3.3V so I don’t accidentally discharge the battery too low.
  3. Battery current mAh drawn should roughly equal to the actual capacity of the pack, or maybe a few percent lower because you land before the battery is completely empty.
  4. If Battery current mAh drawn is no where close to the battery’s capacity, then you should calibrate it.

How to Calibrate Current Sensor

To calibrate the current sensor, you basically need to adjust the scale and offset values.

You can find these settings in the Power & Battery tab, under Amperage Meter.

Betaflight Configurator 2025.12 Power Battery Amperage Meter Scale Offset Settings

You can strap your quad to the bench, and measure current draw using a power meter, or a clamp meter while running the motors. However, as you can imagine it’s not the safest option, and it also requires additional equipment that most people probably don’t have. Therefore I prefer the trial and error method I describe below:

Fly a Battery

  1. Fully charge a battery, for example 4.2V per cell for LiPo or 4.35V per cell for LiHV.
  2. Put the OSD element Battery current mAh drawn on your screen.
  3. Fly the battery until it is nearly empty. For LiPo and LiHV, that would be around 3.5V per cell.
  4. After landing, note the Battery current mAh drawn value shown in the OSD.

Betaflight Osd Element Battery Current Mah Drawn

Recharge That Battery

  1. Recharge the battery fully to 4.2V per cell.
  2. See how much mAh your charger puts back into the battery.

Lipo Charger Fully Charge Battery 4.20v Per Cell

Update Current Scale

  1. Connect your flight controller to Betaflight Configurator.
  2. Go to the Power & Battery tab and write down the Amperage Meter Scale value.

Use this formula to calculate the new current sensor scale:

new_scale = old_scale x (OSD_mAh_consumed / mAh_charged)

I made this tool to simplify things. Just enter the numbers to get the new scale:

https://oscarliang.com/js/current_scale.html

Betaflight Current Sensor Scale Calculator

In this example:

  • OSD_mAh_consumed = 1520
  • mAh_charged = 1703
  • old_scale = 400
  • new_scale = 357

Important: When entering the new scale in Betaflight, only enter a whole number. Round it if the result is a decimal.

You might have to repeat this process 2 or 3 more times to achieve an accurate scale.

You can usually leave the offset at zero.

Calibration in the Field

You can also calibrate the current sensor without access to a charger or computer by using trial and error. It may take a few more tries, but it can still be very effective.

  1. Bring 3 to 4 fully charged batteries with you.
  2. Fly one until it is nearly empty, then write down the Battery current mAh drawn value shown in the OSD.
  3. Compare that number to the battery capacity. To make the current sensor read lower, you need to increase the scale number.
    1. For example, if Battery current mAh drawn is 10% higher than the battery capacity, increase the scale by 10%.
    2. Or you can simply use the calculator if this feels too complicated.
  4. Repeat with another fully charged battery until you are happy with the accuracy.

Let me give you an example:

  • Right now, your current sensor scale is 400.
  • You fly a fully charged battery, a 1000mAh pack, until it is empty (e.g. 3.3V per cell).
  • The OSD shows 900mAh drawn.
  • So you want the OSD to read 10% higher (or a little higher to account for the small amount of charge left in the pack), which means you need to reduce the scale by 10%.
  • New scale = 400 × 90% = 360
  • Repeat until you are happy with the accuracy.

You can also enter the new scale value in the OSD menu (Features -> Power -> IBAT Scale) if you do not have access to Betaflight Configurator.

Betaflight Osd Menu Feature Power Ibat Scale Current Sensor

Pro tip: When calibrating current sensor, it’s best to use a battery in good condition. Old or abused batteries often have degraded capacity, which can throw off your calibration.

Virtual Current Sensor Setup

If your quad does not have a physical current sensor, you can still set up a virtual current sensor. This is a feature in Betaflight where current consumption is estimated based on throttle position. It is not the most accurate method, but when it’s setup properly, it’s better than nothing.

Tutorial: http://intofpv.com/t-virtual-current-sensor-with-cleanflight-betaflight

Final Thoughts

Calibrating voltage and current in Betaflight is one of those small setup steps that makes a huge difference in real-world flying.

Once dialed in:

  • Your battery warnings become reliable
  • Your flight time becomes predictable and you can maximizing flight time without risking overdischarging battery
  • You can better understand the power demand of your motors and propellers and compare different combos

If you’ve never done this before, take 10–15 minutes and do it—it’s absolutely worth it.

Edit History

  • Apr 2017 – Tutorial created
  • Nov 2022 – Updated for Betaflight 4.3
  • Apr 2026 – Updated for Betaflight 2025.12, with more focus on the trial-and-error method since it is safer and does not require extra equipment

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.

56 comments

Jakislogin2 13th April 2026 - 11:01 am

Betaflight wiki has a nice article on a battery monitoring and calibration. Especially ADC sensor calibration with multimeter is covered there. It can be done on the bench within a few minutes and it’s quite accurate. betaflight.com/docs/development/Battery#adc-sensor

Reply
Tim Green 9th April 2026 - 12:57 pm

Your article got me going on this – Have now calibrated my 3 small Flywoo quads. One more to go.
I have multimeters, so – I made a test cable out of XT30 conns and multimeter banana plugs – and plugged it between the battery and the quad with the multimeter in between set to sense current <10A.
Measured current when armed with the vTx on, looked at what the BF OSD was reporting, adjusted scale, did it a couple more times until the BF OSD current and the multimeter current matched – and it was done.
Then I verified with a full flight. Spot on – the amount I put back while charging matched what BF said I'd used up on the OSD post flight. Actually within a couple mah.
Love your articles.

Reply
Justin W. 3rd April 2026 - 12:07 am

If anyone is interested in a tool to easily calibrate the current sensor on their flight controller, check out my fc-current-calibrator project at the link below.
github.com/jwidess/fc-current-calibrator

Reply
Vall 27th August 2025 - 9:57 pm

What about battery charge/discharge (in)efficiency? no battery puts out the same mAh during discharge that it needs to take back in to get to the same state-of-charge. Shouldn’t this be measured also (simply by doing a couple of charge/discharge cycles and noting the mAh during each) and then considered in the current sensor calibration equation?

Reply
Oscar 28th August 2025 - 5:26 pm

Even if the measurement is a bit off due to inefficiency, it doesn’t really matter that much as long as it’s consistent.
Based on my experience you might need to repeat the calibration process at least 2-3 times to get decent result.

Reply
Vall 31st August 2025 - 8:47 pm

Thanks for the clarification and additional data. In fact I just used the voltage calibration method you suggested in your Betaflight article[1] and found Betaflight can’t calibrate voltage closer than 0.05V or so due to the courseness of its “scale” field (one value gets me 0.03V less, and the next gives me 0.03V more than what I measure with my voltmeter). So it seems Betaflight limits precision anyway.

[1]https://oscarliang.com/betaflight-firmware-setup/#Voltage-Calibration

Reply
Oscar 1st September 2025 - 6:44 pm

In my experience, as long as it’s accurate to 0.1V it should be fine.

Reply
Anthonio 16th July 2025 - 10:05 am

Hi Oscar
I have a cine80a AM32 connected to a TMotor F7pro. I can see the current values by telemetry. but they very wrong. ( 40 A without any throttle).
How can I calibrate these values? Note that when I choose ESC Sensor as source of current sensor, I don’t see scale parameters.
Thanks.

Reply
Bill Williams 17th October 2024 - 10:09 pm

When using the first method of fly-and-replace tracking. What is the purpose of the offset? If we receive an out of calibration FC with an offset should we just remove it and then start the calibration process as normal?

Reply
Oscar 21st October 2024 - 6:32 pm

I normally adjust offset to make the amp draw zero (or as close to zero as possible) when the quad is on the ground, but you rarely need to do this and when you do you only need a small amount.

Reply
Marek 12th April 2025 - 8:32 am

Hello Oscar,
I have build this winter 4s sub250 with moonlight VTX. My FC doesn’t have internal BEC so I connected this VTX straight to battery pins. I belive that’s the case when I should include this offset in equation, but I am struggling with this for days. What should I set first? Scale or offset? changing each heavily influences the outcome value, so using the method with flying and charging seems to be kind of infinite circle. Should I disconnect VTX first to check which one (VTX and FC) drains how much? or is there an easier method? should I then substract or add VTX value as offset? I also tried that method with spreadsheet but somehow I failed (maybe I tried on too low currents, but I’m powering from desktop DC power supply, and I don’t want to fry anything, so 6A is max).
Kind Regards

Reply
Bengamine Gibbs 1st August 2024 - 10:18 pm

Can we get an update for BF 4.5

Reply
Oscar 4th August 2024 - 1:09 pm

Not much changed, these methods still work in BF4.5.

Reply
Artur 29th December 2023 - 2:58 pm

How can I measure mAh charged with Whoopstor V3 (1s charger)? Any solution?

Reply
Marcelo 13th September 2023 - 1:21 am

Hola. Muy buena la nota, felicitaciones. ¿En INAV el análisis es el mismo?

Reply
Outluch 8th August 2023 - 12:59 pm

Screenshot for current calibration shows voltage calibration section

Reply
Matt 6th June 2023 - 10:05 am

new_scale = old_scale x (OSD_mAh_consumed / mAh_charged) is this something I type in the cli tab or where do I type those numbers in at thank you

Reply
shahar 15th November 2022 - 8:34 pm

Hi Oscar,
hope you ca help, since i upgraded from 4.2.9 to 4.3.1 – I get an un steady current measurement both for low and high currents, using speedbee V2 . Both the configurator and OSD show me an unstable current reading fluctuations.
seems to me betaflight doesn’t average the samples . Same setup was perfect in 4.2.9, any idea what happened?

Reply
Oscar 15th November 2022 - 10:06 pm

Make sure the current sensor pin from the ESC is actually matching the current sensor on the FC if you are using the ribbon cable.
Or it could just bad current sensor, it does happen to some ESC. In that case just calibrate it the best you can.

Reply
shahar 16th November 2022 - 7:53 pm

Hi
I am not using the ESC for current sense, I use the on board ADC with amp scale 168 as manufacturer recommend for speedybee F7 V2
it was working perfect in 4.2.9,looks like wrong hysteresis (averaging) setting…
any Idea?

Reply
Fer 10th May 2023 - 8:45 pm

I have the same fluctuating reading in betaflight 4.4.1, speedy bee f405 v3 :*(

Reply
Giuliano 9th November 2022 - 10:13 am

Hi Oscar, why don’t you also explain how to use the method with the spreadsheet that can be found here directly on the betaflight wiki?
You can find it here: https://docs.google.com/spreadsheets/d/1lkL-X_FT9x2oqrwQEctDsEUhgdY19upNGc78M6FfJXY/

Reply
Oscar 9th November 2022 - 12:31 pm

Personally I don’t like this method, the current value jumps a lot on both OSD and multimeter at low current draw (for example you may see 3.2A-3.7A, some current sensors jump even more than that), it’s really hard to take precise measurements.
Also not everyone has the needed equipment like multimeter or the necessary cables.
I still found it way more practical to just do the trial and error method.
But thanks for mentioning it i will add a link to the post just in case anyone is interested.

Reply
Gavin Percy 27th May 2022 - 2:10 pm

Hi Oscar

My current sensor is way off. In goggles it reported 545Mah used from a 1300Mah battery, at this point the voltage said land (3.5v per cell).

When I recharged the battery it said it put a full 1.30ah in.

100 is the scale in Betaflight currently.

I’ve used your formula, which in this case is 100 X (545/1300) which returns a result of 42. Should I set my new scale to 40??

Thanks

Gavin

Reply
Oscar 27th May 2022 - 5:31 pm

Give that a try, and check mah in OSD and compare that with the number from your charger?
It’s likely that you have to repeat this process 2-3 times until you get it right.

Reply
Jako 16th March 2022 - 1:46 am

Hello Oscar! Thanks for the article. Been calibrating my 7 inch for a while but I’m constantly rising the scale or lowering..never satisfied. But than I noticed, that until I don’t arm the quad, the amp stays on 0! But ofcourse it is consuming, vtx, camera, gps…So until I wait to get gps fix it should be let’s say 50 mah used or more, but it is 0. It is just a bug(bf 4.2) or should I play with the offset? Somethimes, at the end of flying, osd shows 3000 but in reality I used 3200, and sometimes(same scale) osd 3200, real mah=3000. Is this normal? It is a Mamba stack f405 mk3.

Reply
Rudi Ramaekers 22nd July 2021 - 11:33 am

Resource: https://github.com/betaflight/betaflight/blob/master/docs/Battery.md

amperage_meter_scale = old_amperage_meter_scale * (mAh_recharged / cleanflight_reported_mAh_drawn)

For example, assuming:

An amount recharged of 1500 mAh
A Cleanflight reported current drawn of 2000 mAh
An existing amperage_meter_scale value of 400 (the default)
Then the updated amperage_meter_scale is:

amperage_meter_scale = old_amperage_meter_scale * (mAh_recharged / cleanflight_reported_mAh_drawn)
= 400 * (1500 / 2000)
= 300

Reply
Thomas 15th September 2020 - 4:40 pm

I have tested whit an Tyro79 Virtual Current Sensor:
Scale: 400 / used 444 / recharged 334 = new scale 334
control test:
Scale:301 / used 304 / recharged 307 = new scale 304

Our formula is wrong! I used this: old_amperage_meter_scale * (mAh_recharged / cleanflight_reported_mAh_drawn)

(Tyro whit Betaflight 4.2)

Reply
Thomas 15th September 2020 - 2:28 pm

I think this on our page is wrong: new_scale = old_scale x (OSD_mAh_consumed / mAh_charged)
shouldn’t that mean old_scale * (mAh_charged / OSD_mAh_consumed) (Github)
or am I wrong?

Reply
Albert Gilding 13th February 2020 - 4:19 pm

So heres a interesting one for you. I have three quads that I have calibrated the current sensor on with this method, however my 4th one wants to be special. When I plug the battery in disarmed it says Im running 70a. I tried messing with the offset but it didnt seem to change anything. I have the scale set to 13,000 and it still says that its running 2a before arming. Is this a sign of a sensor gone wrong?

Reply
Luke Perry 14th March 2019 - 6:36 pm

I just soldered up my current sensor on f4 ominibus, all fine but i accidently soldered the + on the left of the current sensor not just to the pad it was supposed to go on to, but it soldered directly to the side of the current sensor, im guessing this will still be ok? or have a made a grande mistake?

Reply
Maori 8th March 2019 - 10:26 pm

My mAh going up and up as soon o plug ThE battery, no matter if it calibrated or not. Im using aikon f4 FC and current sensor from matek pdb. If iuse multishot mAh reads are correct . With dshot not. Any idea?

Reply
danny 23rd February 2019 - 3:53 pm

very helpful!

Reply
Jann 30th January 2019 - 6:33 pm

Hi,

doing the second method “Bench Test and Power Meter” without any Props on the motors, won´t deliver reliable results? I need to have props on in any case?

Thanks.

Jann

Reply
Adam 15th December 2018 - 10:46 am

My used mah is over 1000 when my battery used is only 350. How do I actually adjust it so it reads accurately in my osd?

Reply
Oscar 20th December 2018 - 2:37 pm

Calibrate it?
New scale = Old scale x (1000/350)

Then repoeat the process until you are happy with the result.

Reply
Adam 11th January 2019 - 11:52 am

Sorry, what scale or value am I changing in betaflight?

Reply
michel PAPON 6th December 2018 - 4:22 pm

Hi Oscar,

I would like to use the current sensor of my PDB instead of the one of my F4PRO-V2, but where to link the output wire ?

Reply
Oscar 8th December 2018 - 3:45 pm

it’s usually not possible to override the built-in current sensor in the flight controller because it’s “hard-wired” to the MCU. Unless your FC has allows external current sensor (has a dedicated pin)

Reply
Tomasz Chmielewski 22nd November 2018 - 3:06 pm

Hey, hope you can help me out. I have a hobbywing xrotor 45a esc which has a current sensor, and a OMNIBUS F4 Nano v6 with LC filter which supports Telemetry. Can I connect the wire from the esc current sensor to the flight controller telemetry and still get current sensing. Thanks

Reply
al 3rd December 2018 - 6:31 am

please answer this,.. I got the hobbywing xrotor g2 stack with xrotor micro 45a esc and I cant get esc sensor to work even though its in the breakout cable that plugs from esc to fc..

Reply
John 2nd November 2018 - 7:58 pm

Hi – what is considered to be to high of an amp draw? Trying to get a good motor prop combo…

Reply
100tu 17th August 2018 - 7:01 pm

Hi Oscar,

Mi OSD is reading current and the mAh is increasing when putting the batterie with no throttle. The increase seems to be the same with no relation with flying or not… You linear method doesn’t resolve this problem. Any idea? Thanks

Reply
Oscar 20th August 2018 - 6:17 pm

Please join our forum for further troubleshoot:
IntoFPV.com

Reply
Esy 28th May 2018 - 12:13 am

Man you cover all topics in quad universe!:D love it <3

Reply
Abutalib 22nd May 2018 - 2:20 am

Hi
I got a pdb equipped with this function but I don’t want to use it. If I didn’t wire the current sensor terminal would this affect the other wirings ?
Thanks

Reply
Oscar 22nd May 2018 - 3:44 pm

no, it won’t affect anything, you can just leave it if you don’t want to use it.

Reply
abutalib 23rd May 2018 - 4:18 am

appreciated, thanks the informative blogs.

Reply
Peter Takacs 11th May 2018 - 7:18 am

Dear Oscar,

I think, the correct formula is:
old_scale : OSD_mAh_consumed = new_scale : mAh_charged
old_scale x mAh_charged = new_scale x OSD_mAh_consumed
new_scale = old_scale x (mAh_charged / OSD_mAh_consumed )

Peter

Reply
blub 31st May 2018 - 2:43 am

This formula can’t be correct, at least not with Betaflight.
If the current measurement is too high, you have to increase the scale value. Using this formula would decrease the scale. The example by Oscar shows it the right way.

My guess is, that this is different to Cleanflight. Their documentation shows your formula as correct.

Reply
Brandon Hill 31st December 2018 - 11:47 am

I agree, Peter. The correct formula is scale x actual mAh / estimated mAh.

Reply
bragee 13th March 2018 - 11:48 am

/QUOTE
• Fly a fully charged LiPo pack and land when “mAh consumed” reaches a whole number, for example 1000mah or 1200mah or 1400mah…
/UNQUOTE

Dear Oscar,
do you think is really necessary to land the quad when a whole number is reached?
In theory, since I know the total mAh capacity of the battery, any value is good for calculation… eithe 998 consumed mAh, 655, 1247 etc..
It’s all a matter of calculations no? I’m I somehow wrong?

Thanks a lot for your clear and exhaustive article and forgive me if my question is silly…
Best regards,
bragee

Reply
Benoit PAILLARD 5th February 2018 - 8:57 pm

Oscar,
Thanks for your very usefull knowledge sharing blog. In fact, I could calibrate precisely the Typhoon32 4 in 1 4 X 35A ESC connected to the OMNIBUS PRO F4 V5. With the soft method I obtained 230 to put on the Betaflight onboard current sensor tab..

Best reguards

Benoit

Reply
Brenden 17th January 2018 - 6:21 pm

my current sensor readout is backwards, how do i fix it?

Reply
ViES 16th September 2017 - 12:32 am

By the way, for Matek FCHUB-6S the scale value specified in documentation. mateksys.com/?portfolio=fchub-6s

Reply
Steven 1st September 2017 - 1:39 am

Okay I have wraith esc they have current sensing and matek fchub 6 w current sensing and f7 can I connect my swift w osd to flight controller because it has filtering for camera or do I have to connect to pdb to use current sensing capabilities?
Thank you,
Steven

Reply