Skip to content

IMUTag

IMUTag is the high-rate end of the family. Where a BitTag spends one bit per second, an IMUTag resolves individual wingbeats — and fills its memory in a day doing it. The board documented here is imutag-smps: the revision with a switching regulator and NAND flash.

The board

imutag-smps, top side

Top

imutag-smps, bottom side

Bottom

The inductor beside the buck converter is the visible sign of the only switching supply in the family. These are rendered from the KiCad layout by kicad-cli; see Board Designs for how they are regenerated.

Block diagram

flowchart LR
  subgraph TAG[imutag-smps]
    direction LR
    subgraph ON["Always on (+1V8)"]
      direction TB
      RTC["RV-3028-C8<br/>RTC"]
      MCU["STM32U375KGU6<br/>processor"]
      IMU["LSM6DSV<br/>accel + gyro"]
      MAG["BMM350<br/>magnetometer"]
      PRS["BMP581<br/>pressure"]
      NAND["GD5F2GM7RE<br/>NAND flash"]
      RTC --- MCU
      MCU --- IMU
      MCU --- MAG
      MCU --- PRS
      MCU --- NAND
    end
    subgraph PWR[Power]
      BAT["12 mAh LiPo cell"]
      BUCK["TPS62840 buck<br/>+ 2.2 µH"]
      BAT --- BUCK
    end
    IF["Interface<br/>SWD + pogo pads"]
  end
  ON --- PWR
  ON --- IF

There is no switched section, and that is a deliberate result rather than an omission. An earlier revision gated the NAND flash behind a TPS22916 load switch on FLASH_PWR. Power measurements showed the benefit was negligible, so in September 2026 the load switch, its two capacitors and both of its nets were removed and the NAND was wired straight to +1V8. The trade is that the NAND's standby current is now drawn continuously — measured, accepted, and worth re-measuring rather than re-assuming if the deployment duty cycle ever changes materially.

Major components

Role Part Notes
Processor STM32U375KGU6 The only board in the family not on an STM32L4
RTC RV-3028-C8 32.768 kHz, 1 ppm
Sensor LSM6DSV 6-axis inertial measurement: acceleration and rotation rate
Sensor BMM350 3-axis magnetometer
Sensor BMP581 Barometric pressure and temperature
Memory GD5F2GM7REYIGR NAND flash — far larger than the serial flash the other tags carry
Power TPS62840YBGR + 2.2 µH Step-down switching converter producing +1V8
Battery 12 mAh LiPo Specific cell not yet settled

This is the only tag with a switching converter. Every other board in the family runs its parts directly from the cell through a Schottky diode. At IMUTag's sampling rates the processor and sensors draw enough that a buck converter's efficiency earns its complexity — and the whole board then sits on a single regulated 1.8 V rail rather than on a battery voltage that sags as the cell drains.

The converter is also what lets this board use a different cell. Every other tag is tied to a 3 V coin cell because its parts sit directly on the rail; put a 4.2 V LiPo on one and you are at the absolute maximum of the processor. Here the TPS62840 steps whatever the cell gives down to a regulated 1.8 V, so a 12 mAh LiPo is usable — more capacity than a coin cell, and a rail that stays at 1.8 V rather than sagging as the cell drains. The specific cell is not yet settled.

Using the YBG package has one consequence worth knowing: it has no MODE pin, so forced-PWM operation is not available on this board.

What it records

Acceleration, rotation rate, magnetic field, pressure and temperature, at sampling rates from 100 Hz to 1600 Hz. At those rates the question stops being "was the bird active" and becomes "how did it move" — wingbeat by wingbeat, including the orientation and altitude context around each flight.

The cost is endurance. An IMUTag records continuously for hours rather than months, and spends the rest of its deployment armed and waiting for a trigger. The IMUTag overview on the software site carries the current figures for both.

Power

Measured on firmware fw-v0.6 at 3.6932 V. This board regulates with an SMPS, so every figure scales with supply voltage — unlike the coin-cell tags, whose rail follows the cell.

State Current
IDLE 6.43 µA
RUNNING at 400 Hz 665 µA
FINISHED 6.43 µA

Across sample rates, on a 12 mAh cell with the 2 Gbit NAND:

Rate Running Battery limit Storage limit Usable Binds on
100 Hz 539 µA 22.3 h 54.6 h 22.3 h battery
200 Hz 580 µA 20.7 h 27.3 h 20.7 h battery
400 Hz 662 µA 18.1 h 13.7 h 13.7 h storage
800 Hz 827 µA 14.5 h 6.8 h 6.8 h storage
1600 Hz 1003 µA 12.0 h 3.4 h 3.4 h storage

Above 200 Hz the flash fills before the battery empties, crossing over near 300 Hz. A bigger cell buys nothing at 400 Hz and up.

Idle shelf life is about 74 days on a 12 mAh cell — the conservative end of an unresolved split, where seventeen readings fall into two populations near 6.7 and 5.5 µA, separating 74 days from 91.

IMUTag draws three orders of magnitude more than the coin-cell tags and alone decides whether a deployment makes its battery life.

Full log: IMUTag power and runtime.

Design files

Design directory on GitHub Schematic (PDF) Design review

The review is the most thorough in the repository: two rounds covering the switching converter and its loop layout, the magnetometer noise and offset budget, the full STM32U375 pin map including the SPI1 collisions, and the reasoning behind removing the load switch. An earlier non-SMPS revision is in the repository under BoardDesigns/Tags/imutag.