CodeRigor

GUIDED BUILD / C++

Build a CoreS3 motion counter

Use the built-in IMU and screen to count distinct motion bursts, with gravity rejection, rearming and a cooldown.

M5Stack CoreS3 development kit
Optional project hardware · official product photo
6 lessonsDesktop logic testsDevice validation steps

What you will build

An offline CoreS3 application that counts motion events using a testable C++ policy and displays the result locally.

The course supplies guided source code and local tests. Board behavior requires your own firmware build and physical validation; these guides do not grant automatic skill mastery.

Before you start

Use a CoreS3 with its built-in BMI270 IMU and M5Unified support. The desktop policy runs without the board.

Your build sequence

  1. 01

    Define a motion event

    Distinguish gravity, noisy samples and a deliberate counted burst.

  2. 02

    Bring up the actual CoreS3

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

  3. 03

    Test edges, rearming and cooldown

    Separate event admission from how often the hardware is sampled.

  4. 04

    Run the counter on the device

    Connect new IMU samples to the policy and update the local display.

  5. 05

    Tune a repeatable motion demo

    Gather evidence before making the device more elaborate.

  6. 06

    Finish an offline sensor application

    Keep useful evidence and choose a focused next extension.

Keep the evidence separate
  1. 01Desktop policy tests
  2. 02Target firmware build
  3. 03Physical observations
  4. 04Repeatable project notes

Parts for the physical build

  • M5Stack CoreS3 with its built-in IMU and screen
  • USB data cable and a computer with Arduino IDE
  • M5Stack board support and the M5Unified library

Existing compatible parts work too. Equipment cards appear in the relevant lessons.