Upgrade to Pro — share decks privately, control downloads, hide ads and more …

M5Stack CoreS3とZephyr(RTOS)で Edge AIっぽいことしてみた

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

M5Stack CoreS3とZephyr(RTOS)で Edge AIっぽいことしてみた

ミソジ 2026/4/27
M5 Japan Tour 2026 Spring Nagoya
#M5JPTOUR2026

Avatar for misoji engineer

misoji engineer

April 25, 2026

More Decks by misoji engineer

Other Decks in Technology

Transcript

  1. M5Stack + Zephyr(RTOS) + Edge Impulse M5Stackの加速度センサで、ジェスチャー認識 M5Stack CoreS3 加速度

    センサ内蔵 Edge Impulse *Edge AIモデル作成のプラットフォーム 軽量のEdgeAI モデル作成 AIモデル作成の概要まとめたブログ記事: https://misoji-engineer.com/archives/m5stack-edge-impulse.html
  2. ざっくりプログラム概要 Zephyr(RTOS)で加速度センサとEdge AIモデルを結合 ・Zephyr(RTOS)に必要なファイル main.cpp …メインプログラム Makelist …CMake prj.conf …コンフィグ

    ・Edge ImpulseのC++出力モデル →簡単なジェスチャー認識モデル (Idle, Knock, Updown, Flick) ・M5Stack_CoreS3のoverlay →I2Cの加速度センサをON (デバイスツリー上書き)
  3. Zephyr(RTOS)で優先度+スレッド処理 RTOSが「ええ感じ」にセンサ値の取得 + Edge AI処理 [ Timeline: RTOS Multi-threaded Concurrent

    Processing ] Time(ms) | 0 10 20 ... 1000 1010 1020 ... 1500 ... 2000 ----------|------------------------------------------------------------------------- 1. Sensor | # # # ... #(*) # # ... # ... #(*) (Pri: 5) | | | | | | | | | Buffers |[features_buffer] | [ features_buffer (next frame) ] | | +-> [ inference_buffer copy & notify ] +-> ----------|------------------------------------------------------------------------- 2. GUI | @ @ @ ... @ @ @ ... @ <*Text Updated*> ... @ (Pri: 6) | ¥--(10ms draw) | | | ----------|------------------------------------------------------------------------- 3.Edge AI | (--- waiting ---) = == == == (--- waiting ---) = (Pri: 7) | ^ | ^ | ¥--(read buffer) ¥--(Mutex safe update) • # : Sensor Sampling (100Hz) • @ : LVGL GUI Task Handler (100Hz) • = : AI Inference Processing (Edge Impulse) • (*) : Buffer is full. Trigger inference (Semaphore Give) センサデータは 逃がさない! 加速度センサ値は 常に取得 Edge AI処理は 隙間時間で GUI、AI処理は 優先度(低)