Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 2 additions & 22 deletions docs/api-specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
17 changes: 17 additions & 0 deletions docs/metamotion-rl.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
17 changes: 17 additions & 0 deletions docs/metamotion-s.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
Loading