From 92331c919fb00c63b7f3bae3d211ac96c31036e0 Mon Sep 17 00:00:00 2001 From: lkasso Date: Sat, 13 Jun 2026 14:57:42 -0700 Subject: [PATCH] Move battery-life estimates to the Sensors board pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Battery life is a product question, so it now lives where users browse — the MetaMotion S and MetaMotion RL pages — each with a board-specific worked-examples table (battery vs flash, whichever limits first): - MMS: ~2 days for the common fusion -> Euler logging config, battery and 512 MB flash exhausting together - MMRL: its 8 MB flash, not the battery, caps high-rate logging (~minutes to an hour at 100 Hz) -- the contrast that motivates the MMS The API spec keeps the engineering inputs (per-sensor current table, BLE overhead, the estimation formula) and now points to the board pages for ready-made estimates. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/api-specification.md | 24 ++---------------------- docs/metamotion-rl.md | 17 +++++++++++++++++ docs/metamotion-s.md | 17 +++++++++++++++++ 3 files changed, 36 insertions(+), 22 deletions(-) diff --git a/docs/api-specification.md b/docs/api-specification.md index 3167325..3fe01d0 100644 --- a/docs/api-specification.md +++ b/docs/api-specification.md @@ -2727,29 +2727,9 @@ Approximate current draw per sensor when active (excluding BLE overhead): The **Sensor Fusion** figure is the extra draw of running the fusion algorithm on the MCU — it is **added on top of** the underlying sensors the fusion mode drives, not instead of them. Don't double-count: a fusion mode already implies its sensors are running (NDoF = accel + gyro + mag; IMUPlus = accel + gyro; Compass/M4G = accel + mag — see [0x19 - Sensor Fusion Module](#0x19-sensor-fusion-module)). -### Battery Life +**BLE streaming overhead**: ~7.5 mA while a connection is streaming. Logging with no connection adds **zero** — this is why logging lasts far longer than streaming. Flash writes during logging average well under 0.05 mA (brief bursts), negligible against the sensor draw. -Two things drain on a logging session, and **whichever runs out first** ends it: the battery, and the on-board flash. Estimate both. - -**Battery.** Average current ≈ BLE overhead + sum of active sensor currents (+ fusion MCU overhead if a fusion mode is active). Battery life (hours) = battery capacity (mAh) ÷ average current (mA). - -* **BLE streaming overhead**: ~7.5 mA while a connection is streaming. Logging with no connection adds **zero** — this is why logging lasts far longer than streaming. -* Flash writes during logging average well under 0.05 mA (writes are brief bursts), so they're negligible against the sensor draw. - -**Flash.** Time to fill (seconds) = log capacity (entries) ÷ (entries-per-sample × sample rate). See [Logging Memory Capacity](#logging-memory-capacity) for entries-per-sample and per-board capacity. - -#### Worked examples — MetaMotion S (100 mAh, 67.1M log entries) - -| Scenario (100 Hz) | Avg current | Battery life | Flash fills | Practical limit | -| :-------------------------------------------------- | :---------- | :----------- | :---------- | :-------------- | -| Accelerometer only — **logging** | ~0.21 mA | ~19 days | ~3.9 days | **~3.9 days** (flash) | -| Full IMU (accel + gyro + mag) — **logging** | ~1.2 mA | ~3.4 days | ~1.3 days | **~1.3 days** (flash) | -| NDoF fusion → Euler angles — **logging** | ~2.1 mA | ~47 hours | ~47 hours | **~2 days** (both at once) | -| NDoF fusion → Euler angles — **streaming over BLE** | ~9.6 mA | ~10 hours | n/a | **~10 hours** (battery) | - -The fusion-logging row is the common "wear it and capture orientation" configuration: full IMU feeding sensor fusion, Euler output to flash at 100 Hz, disconnected. On the MMS that's **roughly two days** between charges — and notably the battery and the 512 MB flash run out at nearly the same time, so neither is obviously the thing to upgrade first. Logging the *raw* IMU alongside Euler (rather than fusion output alone) fills flash about 2.5× faster (~18 hours) while battery life is unchanged. - -These are approximations: real life varies with temperature, battery age, BLE connection interval, and exact sensor settings. Treat them as ballpark, not spec. +**Estimating runtime.** Battery life (hours) = battery capacity (mAh) ÷ (BLE overhead + sum of active sensor currents + fusion MCU overhead if active). A logging session also ends when the flash fills — time to fill (seconds) = log capacity ÷ (entries-per-sample × sample rate), see [Logging Memory Capacity](#logging-memory-capacity) — so whichever of battery or flash runs out first ends the session. For ready-made per-board estimates of common configurations, see the [MetaMotion S](metamotion-s.md#battery-life) and [MetaMotion RL](metamotion-rl.md#battery-life) battery-life tables. ## Data Processor Filter Configuration diff --git a/docs/metamotion-rl.md b/docs/metamotion-rl.md index 420be30..95706a4 100644 --- a/docs/metamotion-rl.md +++ b/docs/metamotion-rl.md @@ -14,6 +14,23 @@ The MMRL optionally comes with a plastic case. Please note that the proximity of | :--- | :------------------- | :---------------- | :------------------ | | MMRL | 100mAh recharge lipo | 17mm x 25mm x 5mm | 8MB (~1M entries) | +## Battery Life + +How long the MMRL runs depends on which sensors are active, the sample rate, and whether you're **logging** (recording to onboard memory while disconnected) or **streaming** live over Bluetooth. Streaming is far more power-hungry — the radio alone draws roughly 7.5 mA. + +For a logging session, two things run down and **whichever empties first ends the session**: the battery and the 8 MB onboard flash. On the MMRL the flash is small, so at high sample rates it — not the battery — is the limit. The table below shows both for common configurations at 100 Hz. + +| Configuration (100 Hz) | Battery life | Flash fills | Lasts about | +| :------------------------------------------------ | :----------- | :----------- | :-------------- | +| Accelerometer only — logging | ~23 days | ~1.5 hours | **~1.5 hours** | +| Full IMU (accel + gyro + mag) — logging | ~2.6 days | ~30 minutes | **~30 minutes** | +| Sensor fusion → Euler angles — logging | ~1.7 days | ~45 minutes | **~45 minutes** | +| Sensor fusion → Euler angles — streaming over BLE | ~10 hours | n/a | **~10 hours** | + +On the MMRL the 8 MB flash, not the battery, is what caps high-rate logging — at 100 Hz it fills in minutes to an hour or two. To capture for longer, lower the sample rate (flash time scales inversely with rate), stream over Bluetooth (~10 hours, but the device must stay in range of a connected phone), or use the [MetaMotion S](metamotion-s.md) (512 MB) for multi-day high-rate captures. + +These are ballpark figures — real life shifts with temperature, battery age, Bluetooth settings, and exact rates. The per-sensor current draws and formulas behind them are in [Sensor Power Consumption](api-specification.md#sensor-power-consumption) and [Logging Memory Capacity](api-specification.md#logging-memory-capacity). + ## Downloads | Document | Link | diff --git a/docs/metamotion-s.md b/docs/metamotion-s.md index f5e9458..b8fd42f 100644 --- a/docs/metamotion-s.md +++ b/docs/metamotion-s.md @@ -14,6 +14,23 @@ The MMS optionally comes with a plastic case. Please note that the proximity of | :--- | :------------------- | :---------------- | :------------------- | | MMS | 100mAh recharge lipo | 17mm x 25mm x 5mm | 512MB (~67M entries) | +## Battery Life + +How long the MMS runs on a charge depends on which sensors are active, the sample rate, and whether you're **logging** (recording to onboard memory while disconnected) or **streaming** live over Bluetooth. Streaming is far more power-hungry — the radio alone draws roughly 7.5 mA. + +For a logging session, two things run down and **whichever empties first ends the session**: the battery and the 512 MB onboard flash. The table below shows both for common configurations at 100 Hz. + +| Configuration (100 Hz) | Battery life | Flash fills | Lasts about | +| :------------------------------------------------ | :----------- | :---------- | :------------- | +| Accelerometer only — logging | ~19 days | ~3.9 days | **~3.9 days** | +| Full IMU (accel + gyro + mag) — logging | ~3.4 days | ~1.3 days | **~1.3 days** | +| Sensor fusion → Euler angles — logging | ~2 days | ~2 days | **~2 days** | +| Sensor fusion → Euler angles — streaming over BLE | ~10 hours | n/a | **~10 hours** | + +The fusion-logging row is the typical "wear it and capture orientation" setup — full IMU feeding sensor fusion, Euler output recorded to flash at 100 Hz, no phone connected. That's **roughly two days** between charges on the MMS, with the battery and the 512 MB flash running out at about the same time. Recording the raw IMU channels in addition to the fused output fills flash ~2.5× faster (~18 hours) without changing battery life. + +These are ballpark figures — real life shifts with temperature, battery age, Bluetooth settings, and exact rates. The per-sensor current draws and formulas behind them are in [Sensor Power Consumption](api-specification.md#sensor-power-consumption) and [Logging Memory Capacity](api-specification.md#logging-memory-capacity). + ## Downloads | Document | Link |