Back

GUIDES · RESEARCH & DEVELOPMENT

Predicting drone battery health from flight data alone.

A plain-language walkthrough of Vozwin's published research with McGill University and Université de Sherbrooke: 631 flight tests, two battery types, and a model that predicts remaining capacity within 2.26 percent.

Last updated: September 22, 2026

Battery state of health (SoH) is the share of its original capacity a battery can still deliver, and a drone battery is considered end-of-life at 80 percent. Vozwin's research with McGill University and Université de Sherbrooke shows machine learning can predict a UAV battery's SoH within 2.26 percent using only the voltage, current and throttle logged during normal flights, with no extra sensors, by converting flight logs into images and transferring knowledge between battery types.

That matters because lithium batteries are the component most likely to end a drone's flight early, and the one operators know least about. This guide explains what the research set out to solve, how the data was collected, why flight logs were turned into pictures, what transfer learning contributed, and what the results mean if you run a fleet. The peer-reviewed paper is linked under Sources.

What battery state of health means for a drone

Every charge and discharge cycle degrades a lithium battery a little. State of health tracks that degradation as remaining capacity: a 2,200 mAh pack that can now hold 1,980 mAh is at 90 percent SoH. Industry practice, and the paper, treat 80 percent as end-of-life, the point where a pack should be retired before a cell fails outright. Internal resistance is the other health indicator, but neither it nor remaining capacity can be measured directly in flight.

For a UAV that makes SoH the number that decides everything else: how long a mission can safely run, when a pack should be pulled from rotation, and whether a fleet's spares budget is going to parts that still had life in them. Predict it accurately and predictive maintenance for the battery becomes a scheduling problem instead of a guessing game. Get it wrong and the failure mode is an aircraft falling out of the sky.

Why drone batteries are harder to model than EV batteries

Machine-learning SoH prediction is well studied for electric vehicles. UAVs have been largely overlooked, and not for lack of interest. The constraints are different:

  • Data scarcity. Run-to-failure life-cycle tests are how you get training data, and for drone batteries there was almost none published. Each pack has to be flown repeatedly until it dies.
  • Variety. A UAV is compatible with many packs of different brands, sizes, capacities and working voltages, and an operator typically owns several. A single model has to cope with all of them.
  • No room for sensors. Temperature is one of the most informative signals for battery health, but a temperature sensor is extra weight, so the paper deliberately works without it. The inputs are limited to what the flight controller already records.
  • Human and environmental noise. Pilot habits, payload, wind and weather all change how a pack is loaded from one flight to the next, in ways an EV's drivetrain never sees.
  • Ground truth is expensive. Remaining capacity can only be measured by fully discharging the pack, which itself damages the battery, so labels can't be collected after every flight.

Big time-series models such as transformers, the state of the art for battery forecasting when data is plentiful, overfit badly on datasets this small. The research needed a method that could learn from a few hundred flights, not a few hundred thousand.

How the data was collected: 631 flight tests

Rather than cycling packs on a bench, the team discharged them the way an operator would: by flying. A lightweight quadcopter with a Holybro Pixhawk 4 Mini flight controller, four 2300 kV motors and a 4-in-1 electronic speed controller flew take-off, steady flight and landing profiles, with the controller logging output voltage and current at 10 Hz. Flights spanned total weights of 150 to 250 grams and lengths of 5 to 15 minutes to cover a realistic range of missions. After every flight the pack was recharged on a balance charger using the same protocol.

BatteryBrandCapacityCellsDischarge ratePacks testedFlight experiments
Type 1SIGP1,100 mAh3S, 11.1 V20C5289
Type 2RoaringTop2,200 mAh3S, 11.1 V25C3342

Both are lithium polymer packs typical of lightweight UAVs. The larger 2,200 mAh packs produced more flights per pack because they take more cycles to reach end-of-life.

Because a full discharge damages the pack, remaining capacity was measured with a battery tester only after every tenth flight, with the ten flights in between flown at the same weight and duration. The capacity for each intermediate flight was linearly interpolated between the two surrounding measurements. That's a reasonable assumption the paper states openly, and it's how 631 flights ended up with a usable label each.

Turning flight logs into images

The central idea of the paper is a workaround for data scarcity: instead of training a large time-series model from scratch, reshape each flight's sensor data into a picture and let a vision model that has already seen 14 million images do the feature extraction. Each flight goes through the following steps:

  1. Each signal (voltage, current, throttle) is a one-dimensional array of measurements over the flight. It's normalized to a 0 to 255 range, the scale of a grayscale pixel.
  2. The array is reshaped into a two-dimensional matrix 112 columns wide and rounded to whole numbers, giving one grayscale image per signal. Resolution is reduced, but the images still resolve voltage changes of 0.05 V and current changes of 0.0075 A.
  3. The three grayscale images are stacked into a single three-channel image, one channel per signal, like the red, green and blue of a photograph.
  4. Because flights differ in length, images are padded with black to a common size and resized to 80 by 80 pixels, the input size used for ResNet-50.
  5. A ResNet-50 pretrained on ImageNet, with its weights frozen, turns each image into a vector of 2,048 features. No battery-specific training happens here.
  6. Small trainable fully connected layers map those 2,048 features to a single number: the predicted remaining capacity after that flight.
  7. The previous flight's remaining capacity is fed in as an extra input (autoregression), so the model carries history forward instead of judging each flight in isolation.

Because ResNet-50 does the heavy lifting with weights nobody has to train, the number of trainable parameters is small enough to learn from a few hundred flights without overfitting. Hyperparameters were tuned by sampling 500 candidate configurations with Latin hypercube sampling and picking the one with the lowest validation error over 2,000 epochs.

Transfer learning between two battery types

The second idea addresses variety. The target was the 1,100 mAh pack, which had the smaller dataset: 4 packs and 203 flights for training, and 1 held-out pack with 86 flights for testing. The 342 flights from the 2,200 mAh packs were used to pretrain the fully connected layers first, then the model was fine-tuned on the 1,100 mAh training data. In effect, the model learned what battery degradation looks like on one chemistry and size, then adapted that knowledge to another.

The effect shows up in the training curve. Right after the switch to the new battery data the loss ticked up briefly, then fell below the model trained without transfer learning. At the final epoch, training loss with transfer learning was 28 percent lower than without it. For an operator, that's the important property: a model trained on the packs you have can be adapted to a new pack type with far fewer flights than starting over.

The results

The proposed approach was compared against two models commonly used for battery SoH prediction, a convolutional neural network trained from scratch and a transformer, each tuned with the same hyperparameter search. All were evaluated on the same unseen test battery:

ModelTest MSETest error (MAPE)
CNN0.01027.83%
Transformer0.01759.22%
ResNet-50, no transfer learning0.00533.47%
ResNet-50 with transfer learning0.00272.26%

MSE is mean squared error; MAPE is mean absolute percentage error, the average size of the prediction miss relative to the true remaining capacity. Test set: one 1,100 mAh battery and 86 flights the model never saw during training.

Two things stand out. The transformer, the most sophisticated model in the comparison, did worst on the test set and overfit the training data heavily, which is exactly the data-scarcity failure the paper set out to avoid. And the pretrained vision model alone already beat both baselines by a wide margin; transfer learning then cut its remaining error by a further third.

Since publication, Vozwin has continued training the model on a larger dataset, and the test error currently stands at 1.57 percent.

What this means for fleet operators

  • It works on data you already have. Voltage, current and throttle are logged by any modern flight controller. There's no hardware to add and no weight penalty.
  • It works with small datasets. A few hundred flights on a handful of packs was enough for 2.26 percent accuracy. You don't need years of history to start.
  • New pack types are cheap to add. Transfer learning means a model trained on your existing batteries adapts to a new type with a fraction of the flights.
  • Retirement becomes a data decision. Instead of pulling packs at a conservative cycle count, you retire them when their predicted capacity approaches 80 percent, and not before.
  • It's a foundation, not a finish line. The same pipeline extends to motors and other components, which is the direction the work has taken since.

Limits and what comes next

The paper is careful about its scope, and so should anyone reading it be:

  • Only discharge cycles were modelled. Charging data is rarely available from UAV batteries in practice, so it wasn't collected.
  • One airframe, two pack types. Broader validation across drones and chemistries is the obvious next step, and it's what the continued training since publication has been doing.
  • Labels between full-discharge checks are interpolated, which assumes degradation is roughly even across ten similar flights.
  • Temperature, one of the strongest health signals, was left out on purpose to respect the weight constraint. Where a platform does log it, it should help.

The motor is the next component. Vozwin's follow-on work predicts motor state of health from the accelerometers, gyroscopes, barometer and GPS a drone already carries, plus camera footage to catch the visual instability a degrading motor produces. The broader context, and what to look for in a fleet-level solution, is in our guide to predictive maintenance for UAV fleets.

Who did the research

The paper was authored by Jiarui Xie, Lingchen Kong and Yaoyao Fiona Zhao of McGill University's Department of Mechanical Engineering; Mohamed Rami Latreche and Elaine Mosconi of Université de Sherbrooke's Department of Information Systems and Quantitative Management Methods; and Sean Smith of Vozwin. It's part of the PHUMS project established by Vozwin, with UAV design and experiments guided by Fabio Bandera of Vozwin, and was supported by the MITACS Accelerate program and the Réseau SDG Innovation Network's collaborative R&D projects in digital, intelligent and sustainable transformation.

Vozwin owns the technology presented in the research. It was carried out through Vozwin's Labs division, and the commercial predictive maintenance platform built on it, Vermilion, was incubated in Vozwin's venture studio and now operates as its own company.

QUESTIONS

Questions? We've got answers.

The fraction of its original capacity a battery can still deliver, so a 2,200 mAh pack that now holds 1,980 mAh is at 90 percent SoH. Drone batteries are generally considered end-of-life at 80 percent, before a cell fails outright.
Vozwin's peer-reviewed research with McGill University and Université de Sherbrooke reached a 2.26 percent mean absolute percentage error on a battery the model had never seen, from a dataset of 631 flights. Continued training on more data has since brought that to 1.57 percent.
Only voltage, current and throttle from the discharge cycle, recorded by the flight controller at 10 Hz during normal flights. No temperature sensor or other added hardware is required, which matters because extra sensors cost a drone weight and flight time.
Because large time-series models overfit when data is scarce. Reshaping each flight's signals into an image lets a ResNet-50 pretrained on 14 million photographs extract features with no battery-specific training, leaving only a small set of layers to train on a few hundred flights.
Pretraining the model on one battery type (342 flights of 2,200 mAh packs), then fine-tuning it on a second type with less data (1,100 mAh packs). It cut training loss by 28 percent and test error from 3.47 to 2.26 percent, and it means a new pack type can be added to a fleet's model with far fewer flights.
Less published data, far more variety in packs per aircraft, strict weight limits that rule out extra sensors like temperature, and pilot and environmental variability from flight to flight. Ground-truth capacity also requires a full discharge, which damages the pack, so labels are scarce.
It's published on arXiv under the title Machine Learning-Based Battery State-of-health Prediction for Unmanned Aerial Vehicles Predictive Maintenance (arXiv:2607.06791), linked under Sources on this page.
To the top

Have a fleet dataset and a hard question?

This is the kind of applied research Vozwin Labs does with universities and operators. Tell us what you're trying to predict and what your aircraft already log.