oren-speiser/drone-battery-radar — explained in plain English
Analysis updated 2026-05-18
Analyze existing drone flight logs to estimate how much life remains in each battery cell.
Reproduce the published results on the CMU eVTOL Battery Dataset with the included script.
Apply the same early-warning formula to other battery fleets to flag cells nearing end of life.
| oren-speiser/drone-battery-radar | 0xallam/my-recipe | 0xhassaan/nn-from-scratch | |
|---|---|---|---|
| Stars | 0 | — | 0 |
| Language | Python | Python | Python |
| Last pushed | — | 2022-11-22 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 2/5 | 2/5 | 4/5 |
| Audience | researcher | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires downloading the external CMU eVTOL dataset before running the script.
Drone Battery Radar is a research project that predicts when a drone or eVTOL battery pack is about to wear out, weeks or months before it actually fails. It does this with a single formula, Theta equals I over R, where I is the load being asked of the battery and R is its remaining capacity to handle that load. As R shrinks while I stays the same, Theta rises, signaling the battery is running out of margin even though it still works. The method needs no extra hardware or sensors. Every time a cell moves from resting to a takeoff power pulse, its voltage dips slightly. The size of that dip reveals the cell's internal resistance, which is R. The takeoff current draw is I. Both values already exist in a normal flight log. The project was tested on the CMU eVTOL Battery Dataset, 22 real battery cells cycled through takeoff, cruise, and landing until they died. Using one fixed threshold applied to every cell, with no per-cell tuning or training, the method caught all 9 cells that reached end of life, with a median of 53 days of advance warning. The alarm consistently fired when each cell reached about 87 percent of its original health, even though the cells were flown under very different temperatures, cruise lengths, and power levels. The README is upfront about limits: one cell only gave 7.8 days of warning, 13 cells could not be scored because their tests ended early, and testing was done on a lab cycler rather than in real flight, so conditions like vibration and altitude were not present. To reproduce the results, install numpy, pandas, and matplotlib, download the dataset, and run the included Python script, which is about a hundred lines. The code is released under the MIT license, and the underlying research findings are released under CC BY 4.0.
A Python tool that predicts drone and eVTOL battery failure weeks in advance using a single physics-based formula, with no extra sensors or training needed.
Mainly Python. The stack also includes Python, NumPy, Pandas.
Code is MIT licensed, free to use and modify, research findings are under CC BY 4.0, free to share with attribution.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
double-check against the repo, no cap.