ATOMS3R accelerometer and gyro readings always 0
-
Hi everyone,
I bought an ATOMS3R, and burned the UIFlow2.0 ATOMS3R firmware on it. In UIFlow 2.0 I tried to print the accelerometer and gyroscope readings with below code.
However, the readings are all zero regardless of how I move or shake the ATOM. Did I miss an initialization or calibration step?import os, sys, io import M5 from M5 import * import time accel = None gyro = None def setup(): global accel, gyro M5.begin() def loop(): global accel, gyro M5.update() acc_x, acc_y, acc_z = Imu.getAccel() gyro_x, gyro_y, gyro_z = Imu.getGyro() print(f'accel: {acc_x}x, {acc_y}y, {acc_z}z') print(f'gyro: {gyro_x}x, {gyro_y}y, {gyro_z}z') time.sleep(1) if __name__ == '__main__': try: setup() while True: loop() except (Exception, KeyboardInterrupt) as e: try: from utility import print_error_msg print_error_msg(e) except ImportError: print("please update to latest firmware")
-
@toffifee
have you tried Arduino example? we can determine if that was a hardware problem
https://github.com/m5stack/M5AtomS3/blob/main/examples/Basics/imu/imu.ino -
It looks like you're missing initialization for the IMU sensor. Try adding Imu.begin() inside the setup() function after M5.begin(). Without this, the sensor may not start properly, leading to zero readings. Also, ensure you're using the latest firmware and that the device isn't in USB mode, which can disable sensor updates.