Skip to content

Accelerometer

LIA carries an LSM6DSOXTR 6-axis IMU (accelerometer + gyroscope) on the I2C bus (SDA/SCL), with its interrupt line wired directly to the ESP32-S3 on IMU_INT (GPIO6 — see Microcontroller). Both the V1.0 and V1.1 boards carry the same reworked IMU wiring and the same lia_v1 firmware — see Building the Firmware.

Unlike a continuously-running motion sensor, the IMU here is opt-in and reported over the mesh rather than used to skip the tracker’s own sleep schedule:

  • Send IMU ON as a direct message to the device (see Meshtastic Configuration) to arm it. The first activation configures the sensor’s wake-up detector and its hardware interrupt on IMU_INT; if the sensor doesn’t respond, the device replies "IMU not detected" instead.
  • Once armed, a real motion event sends "Activity detected" to the configured target node.
  • Send IMU OFF to disarm it again.

The interrupt itself only sets a flag — reading the sensor over I2C isn’t safe to do from inside an interrupt handler, so the actual mesh message is sent from the firmware’s normal periodic task loop shortly after, not instantaneously from the interrupt.

See also: Meshtastic Configuration, Power Management, and Microcontroller.