CodeRigor

GUIDED LESSON / 2 OF 6

Bring up the actual CoreS3

Use the documented board and IMU support before adding the counter.

What moves through this step
  1. 01CoreS3 hardware
  2. 02M5Unified setup
  3. 03IMU presence
  4. 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.