- 01CoreS3 hardware
- 02M5Unified setup
- 03IMU presence
- 04Screen output
Choose a matching controller
This project targets CoreS3, with its built-in BMI270 IMU and screen. Other products with similar names may use different sensors, connectors or power arrangements. The standard CoreS3 and the SE/bottomless variants have different bundles. Check the current product page rather than assuming a battery or base is included.
Establish the vendor baseline
Follow the official CoreS3 Arduino setup guide to install board support and M5Unified. Use the documented CoreS3 board profile and USB settings. A USB data cable is required; a charge-only cable will not establish an upload path.
Compile and run the library's current IMU example first. It should detect the sensor and show changing accelerometer values. Record the board package and library versions that actually work. The downloadable project's adapter uses the same documented M5.Imu.update() and getImuData() boundary.
CoreS3's main chip is ESP32-S3/Xtensa. Its firmware target is different from the Cortex-M/CMSIS examples elsewhere in CodeRigor. Do not paste CMSIS register addresses or NVIC code into this sketch.
Try it
Rotate the board gently while it rests in your hand. The axes change, while the gravity magnitude stays roughly similar. If the vendor example cannot read the IMU, fix that baseline before modifying the counter policy.