Skip to content

Releases: thc1006/zephyr-m5stack-sticks3

v0.1.0 - M5Stack StickS3 Zephyr board port

Choose a tag to compare

@thc1006 thc1006 released this 30 May 01:19

First public, reproducible Zephyr RTOS board port for the M5Stack StickS3 / M5StickS3 K150 (ESP32-S3-PICO-1-N8R8), structured for upstream submission.

Verified on physical hardware (runtime-verified)

  • Board discovery, build, flash, and boot/console (m5stack_sticks3/esp32s3/procpu, Zephyr 4.4.0).
  • Buttons KEY1 / KEY2 (GPIO G11 / G12) via gpio-keys and the input subsystem.
  • Bosch BMI270 IMU over I2C (0x68); live accelerometer tracks gravity.
  • ST7789P3 LCD (135x240) over SPI2 mipi-dbi-spi, offsets x=52 / y=40. Photos of the panel cycling colours are in evidence/.
  • The LCD power rail (L3B) is enabled by an interim M5PM1 PMIC regulator (m5stack,m5pm1-l3b-regulator) that drives M5PM1 GPIO2 (PYG2) high, with a native_sim ztest (6/6 passing).

Validation app

The bundled app exercises the display and power-rail control. Build with -DCONFIG_APP_DISPLAY_DEMO=n for a quiet build that fills the screen once and only logs a heartbeat, so the panel does not flash. Both builds are verified on hardware (evidence/).

Not claimed yet (roadmap)

Full M5PM1 PMIC (charger, fuel-gauge, audio rails), IR TX/RX, ES8311 audio, and on-device power measurement are tracked as issues #1 to #4 and are not claimed to work until they have their own captured evidence.

Upstream

The interim regulator is intended to be replaced by the upstream M5PM1 MFD driver being introduced in Zephyr PR #109961 (for the M5Stack PaperColor board). The binding here is deliberately named m5stack,m5pm1-l3b-regulator to avoid clashing with the upstream m5stack,m5pm1-regulator. See docs/07_UPSTREAM_PLAN.md.

Notes

Apache-2.0, DCO sign-off on every commit. Honesty ladder (scaffolded, build-verified, flash-verified, runtime-verified, upstream-reviewed) is documented in docs/05_VALIDATION_MATRIX.md.