Slide 1

Slide 1 text

ラズパイ & Picoで入門:Zephyr(RTOS)の 環境構築からビルドまでの紹介 ミソジ 2026/5/23 オープンソースカンファレンス2026 Nagoya #oscnagoya

Slide 2

Slide 2 text

自己紹介 名前:ミソジ @misoji_engineer ブログ: エンジニアの電気屋さん(https://misoji-engineer.com/) ハードウェアのエンジニアで、趣味でブログとか書いてます

Slide 3

Slide 3 text

アジェンダ • Zephyr(RTOS)とは • 公式通りインストール・ビルドしてみる • ラズパイ&Picoでサンプルを動かしてみる • Zephyr(RTOS)を使うことのメリット・面白さ • Zephyr Project meetup の紹介 「ラズパイ」&「Pico」で、Zephyrを遊んでみる内容

Slide 4

Slide 4 text

Zephyr(RTOS)とは

Slide 5

Slide 5 text

Zephyr(RTOS) 「Linux Foundation」がホストする、RTOSのプロジェクト https://www.zephyrproject.org/ RTOS… Real-time operating system リアルタイムオペレーションシステム  https://www.linuxfoundation.org/ +

Slide 6

Slide 6 text

Use Cases ? 「組み込み」や「IoT」など、小さいデバイスでよく使われています。 https://www.zephyrproject.org/zephyr-overview/ https://www.zephyrproject.org/portf olio/halo-smartglasses/ メモリ、ROMも超小さい。 「K(キロ)ByteのOS

Slide 7

Slide 7 text

他RTOSの比較 中立のオープンソースの強みがあり、豊富なドライバをサポート Zephyr RTOS FreeRTOS Azure RTOS (ThreadX) μITRON (TOPPERS等) ライセンス Apache 2.0 MIT MIT TOPPERS (BSD系) 設計思想 フルスタック型 ミニマルなカーネル 高性能・高信頼性 超軽量・日本標準 管理団体 Linux Foundation Amazon (AWS) Microsoft (Azure) TRON Forum / 各団体 ハード抽象化 強力 (DeviceTree) ベンダー依存 中程度 手動定義 ネットワーク 非常に豊富 追加ライブラリ対応 NetXが極めて強力 最小限 主な開発手法 West / CMake C言語ソース直接 IDE / ツールセット 独自コンフィギュレータ Zephyr(RTOS)使えば 多くのサポート有り OS無しもいいけど... CPU マイコン 本当!?

Slide 8

Slide 8 text

多くのメーカが参加 世界的企業の多くが開発に参加 + 巨大なコミュニティ https://www.zephyrproject.org/zephyr-overview/

Slide 9

Slide 9 text

1000以上のボードがサポート ラズパイ、Picoから色んなボードがサポートされています https://www.zephyrproject.org/zephyr-overview/

Slide 10

Slide 10 text

コミュニティが凄く活発 ぜひGitHubを覗いてみてください。かなり活発です。 https://www.zephyrproject.org/zephyr-overview/ https://github.com/zephyrproject-rtos/zephyr

Slide 11

Slide 11 text

Zephyr公式のまとめ資料 丁寧にまとめられているので、興味あれば是非ご覧ください。 https://www.zephyrproject.org/zephyr-overview/

Slide 12

Slide 12 text

公式通りインストール・ビルド してみる

Slide 13

Slide 13 text

Zephyrを始めるには? Zephyrを始める方法は色々あり。どれでもOK! ・NordicのVSCode拡張 ・STMのVSCode拡張 ・NXPのVSCode拡張 メーカも固有の Zephyrの環境を提供している

Slide 14

Slide 14 text

Zephyrを始めるには? Zephyrを始める方法は色々あり。どれでもOK! ・NordicのVSCode拡張 ・STMのVSCode拡張 ・NXPのVSCode拡張 今回は 公式の手順

Slide 15

Slide 15 text

Zephyr公式のインストール Ubuntu、macOS、Windows→公式の手順書あり https://docs.zephyrproject.org/latest/develop/getting_started/index.html 今回はWindowsの cmd(コマンドプロンプト)を紹介

Slide 16

Slide 16 text

Zephyr公式のインストール 公式の手順通り、インストールを進めてみます https://docs.zephyrproject.org/latest/develop/getting_started/index.html コピペで OK デフォルトだと %HOMEPATH% (C:\Users\***)にインストールされます デフォだと色んな物が入るので 10GBぐらい

Slide 17

Slide 17 text

Zephyrのサンプル(zephyr/samples) 色んなサンプルがあるので、ぜひ一度ご覧ください https://github.com/zephyrproject-rtos/zeph yr/tree/main/samples/basic/blinky https://github.com/zephyrproject-rtos/zeph yr/tree/main/samples/hello_world ・Lチカ ・Hello World

Slide 18

Slide 18 text

Picoでサンプルを 動かしてみる

Slide 19

Slide 19 text

Lチカ(ラズパイPico) まずは基本的なLチカ。 cd %HOMEPATH%\zephyrproject\zephyr west build -p always -b rpi_pico2/rp2350a/m33 samples\basic\blinky  *ラズパイ_Pico2 west build -p always -b rpi_pico/rp2040 samples\basic\blinky  *ラズパイ_Pico boardsフォルダを見れば、 サポートされているボードが分かります https://github.com/zephyrproject-rtos/zephyr /tree/main/boards/raspberrypi

Slide 20

Slide 20 text

Lチカ(ラズパイPico) ビルドしたuf2ファイルを、ドラッグ&ドロップ。 uf2(USB Flashing Format)…マイコン(Raspberry Pi Picoなど)に USB経由でプログラムを書き込むファイル %HOMEPATH%\zephyrproject\zephyr\build\zephyr の中に各ビルドのファイルが出力されます

Slide 21

Slide 21 text

Lチカ(ラズパイPico) 再度の書き込みは、BOOTSEL押しながら電源入れる

Slide 22

Slide 22 text

Lチカ(ラズパイPico) +α デフォルトだとメッセージはUART出力、変換ケーブルが必要 nRF5340 Debug Message USBシリアル ケーブル 電源 uf2書き込み 2本接続は少し手間のため…

Slide 23

Slide 23 text

Lチカ(ラズパイPico) +α USBでシリアルメッセージも受け取るようにしてみる nRF5340 + Debug Message 電源 uf2書き込み USB CDC ACM(Communication Device Class Abstract Control Model) USBデバイスをPCに接続した際に、仮想的なシリアルポート(COMポート)として認識させるための標準規格 PCからUSB1本で

Slide 24

Slide 24 text

ざっくり変更箇所の概要 他Zephyr(RTOS)のサンプル構成も大まかに、こんな感じです。 ・メインプログラム(.c)  →CDCを使うように変更 ・ラズパイPicoのoverlay →USB CDCの定義  (デバイスツリー上書き) ・コンフィグ(.conf) →CDCが使えるコンフィグ設定 細かいこと言うとMakelistやyamlなどもあるが、今回は省略…

Slide 25

Slide 25 text

GitHubのリポジストリ先 雑に作ったので、興味があれば参考までに リポジストリのURL https://github.com/iotengineer22/pico-zephyr-serial-blinky

Slide 26

Slide 26 text

Lチカ(ラズパイPico) +α USBで1本でしっかりメッセージも受け取れました。→OK nRF5340 + Debug Message 電源 uf2書き込み PCからUSB1本で

Slide 27

Slide 27 text

ラズパイでサンプルを 動かしてみる

Slide 28

Slide 28 text

ラズパイ + Zephyr ラズパイ4B(A72), 5(A76)もサポートされています https://docs.zephyrproject.org/latest/boards/ra spberrypi/rpi_5/doc/index.html https://docs.zephyrproject.org/latest/boards/ra spberrypi/rpi_4b/doc/index.html 公式の書き込み・デバッグ手順も記載されています

Slide 29

Slide 29 text

ラズパイ4B + Zephyr ラズパイ4B(A72)でLチカしてみる cd %HOMEPATH%\zephyrproject\zephyr west build -p always -b rpi_4b samples\basic\blinky  *ラズパイ4B west build -p always -b rpi_5 samples\basic\blinky  *ラズパイ5 ビルド手順はPicoと同じ

Slide 30

Slide 30 text

ラズパイ + Zephyrの試し方 RaspbianのSDの「config.txt」編集 + .binファイル で動くよ cd %HOMEPATH%\zephyrproject\zephyr west build -p always -b rpi_4b samples\basic\blinky  *ラズパイ4B west build -p always -b rpi_5 samples\basic\blinky  *ラズパイ5 雑な しっかりした手順は 公式を参考にしてね

Slide 31

Slide 31 text

Zephyr(RTOS)を使うことの メリット・面白さ

Slide 32

Slide 32 text

Zephyrを使うメリット Geminiに書かせると沢山出てくる... 1. 優れたハードウェア抽象化(DeviceTreeの強力なサポート) スライドの比較表にもある通り、DeviceTreeによる強力なハードウェア抽象化が用意されています。コードとハードウェア依存の設定(ピン配置など)が分離されているため、マイコンの変更やボードの移行が非常にスムーズです。 2. Linux Foundationによる中立な運営 特定の半導体ベンダーに依存せず、Linux Foundationがホストするオープンソースプロジェクトです。企業の枠を超えて開発が進められているため、ベンダーロックインのリスクを回避できます。 3. 非常に豊富なネットワーク・接続性機能 IoTデバイス開発を強く意識して設計されており、TCP/IP、Bluetooth Low Energy (BLE)、Wi-Fi、Thread、LoRaWANなど、数多くのネットワークスタックがデフォルトで非常に豊富に組み込まれています。 4. 1000以上の広範なボード・マイコン対応 Raspberry Pi Pico(RP2040/RP2350)やRaspberry Pi 4B/5をはじめ、世界中の主要な半導体メーカーの1000種類以上のボードが標準でサポートされています。 5. 巨大かつ活発な開発コミュニティ 世界中のトップ企業やエンジニアが開発に参加しており、GitHubの活動も非常に活発です。バグ修正が早く、新しい機能やセキュリティアップデートが常に提供されています。 6. 厳格な長期サポート(LTS)とセキュリティ対応 製品開発に安心して使えるよう、定期的にLTS(長期サポート)版がリリースされます。また、脆弱性管理(CVE)の体制もしっかりしており、製品の安全性を保ちやすい環境が整っています。 7. 省メモリ・超軽量設計(KByte単位のOS) スライドに「K(キロ)ByteのOS」とあるように、リソースの限られた小さな組み込みデバイスやIoT端末でも動作するよう、フットプリント(ROM/RAM)が極めて小さく設計されています。 8. Westによるモダンな開発・ビルド環境 CMakeや、Zephyr独自のメタツール「West」を使用した高度なビルド管理が行えます。モジュール管理や複数リポジトリの統合、複数プラットフォーム向けのビルドがコマンド一つで効率的に行えます。 9. 商用利用しやすいApache 2.0ライセンス ライセンスはApache License 2.0が採用されています。ソースコードを改変して製品(商用)に組み込んでも、その製品自体のコードを公開する義務がないため、ビジネスで非常に利用しやすいです。 10. 豊富な標準サンプルコードによる高い開発効率 samples/basic/blinky(Lチカ)やhello_worldなど、すぐに動かせる膨大なサンプルが同梱されています。環境構築さえ済めば、スライドにあるような簡単なコマンド(west build)で、迅速に開発のスタートラインに立つことができます。 凄く多く あるけど...

Slide 33

Slide 33 text

メインプログラムを変えずに、他ボードに横展しやすい ARMコア/メーカ違う ボードの 全てが同じmain.c Overlay(デバイスツリー) 調整しただけ ラズパイ4B_A72 Pico2W_M33 nRF54L15-DK_M33 XIAO nRF54L15 Sense M33 Zephyrの面白いところ 個人的に

Slide 34

Slide 34 text

OSがハードウェアの違いを、抽象化(吸収)してくれる https://www.zephyrproject.org/zephyr-overview/ ・Zephyr公式の資料 HAL…各IC/メーカの違いを OSが抽象化(吸収) ・ユーザはどのICでも標準的なドライバ・APIを 使える・調整すればOK Zephyrの面白いところ 個人的に

Slide 35

Slide 35 text

同じZephyr環境で、ボード名変えてビルドして簡単に動く Zephyrの面白いところ 個人的に ラズパイ_4B: west build -p -b rpi_4b ラズパイ_Pico2W: west build -p -b rpi_pico2/rp2350a/m33/w Nordic_nRF54L15-DK: west build -p -b nrf54l15dk/nrf54l15/cpuapp Seeed_XIAO nRF54L15: west build -p -b xiao_nrf54l15/nrf54l15/cpuapp

Slide 36

Slide 36 text

横展会が楽なので、RTOSとしてのベンチマークも簡単にできる Zephyrの面白いところ+α 個人的に 項目 内容 RPi5(A76) RPi4B(A72) Pico2W(M33) Pico(M0+) Context Switch スレッド切り替え 47 464 1,145 2,165 ISR Resume 割り込みから復帰 38 273 2,897 5,573 Mutex Lock 排他制御ロック 7 236 471 740 Semaphore Take 待機あり取得 51 615 1,794 3,205 Heap Malloc メモリ確保 35 376 4,199 8,830 Thread Create スレッド作成 480 3,876 1,481 2,870 ●数値が小さいほど高性能(高速)です。単位はすべて ナノ秒 (ns) です。 ●ラズパイ5(A76)2400MHz、RPi4B(A72)は600MHzで測定 ブログ記事 ・RTOSとしての応答速度を比較してみた(Zephyrでのベンチマーク) https://misoji-engineer.com/archives/rtos-speed-benchmark.html ラズパイ5、ラズパイ4B、Pico2W、Pico

Slide 37

Slide 37 text

色んなボードのスペック比較もできる。同じM33コアで比較 Zephyrの面白いところ+α 個人的に ●数値が小さいほど高性能(高速)です。単位はすべて ナノ秒 (ns) です。 ブログ記事 ・同じARMコア(M33)で複数メーカのRTOS処理速度を比べてみた https://misoji-engineer.com/archives/arm-m33-rtos.html RW612(NXP)、nRF54L15(Nordic)、Pico2W 項目 RW612(M33 / 260MHz) Pico 2 W(M33 / 150MHz) nRF54L15(M33 / 128MHz) Pico(M0+ / 125MHz) Context Switch (スレッド切替) 699 1,145 1,376 2,165 Mutex Lock (排他制御) 286 471 556 740 Semaphore Take (待機あり取得) 1,089 1,794 2,219 3,205 Heap Malloc (メモリ確保) 2,017 4,199 2,254 8,830 Thread Create (スレッド作成) 1,061 1,481 2,265 2,870

Slide 38

Slide 38 text

Zephyr Project meetup の紹介

Slide 39

Slide 39 text

Zephyr Project meetup(勉強会) Zephyrの勉強会(meetup)も多く開催されています ・2025年7月:札幌  株式会社Space Cubics様のビル ・2025年10月:大阪  株式会社Honda様の新しいソフトウェア開発拠点 ・2025年12月:東京  ルネサスエレクトロニクス株式会社様の豊洲オフィス ・2026年3月:名古屋  ブラザー工業株式会社様のブラザーミュージアム ・2026年5月:高知  高知工科大学 高知県産学官民連携センター

Slide 40

Slide 40 text

6/26(金)札幌でもMeetup開催します OSC北海道の6/27(土)の前日に開催 北海道:札幌 Zephyr Project meetup: Sapporo, Japan 開催 + https://zephyr-rtos.connpass.com/event/386410/

Slide 41

Slide 41 text

展示内容 オープンソースカンファレンス2026 Nagoya

Slide 42

Slide 42 text

Maker's nRF54L15 Debug Board Nordic nRF54L15を使ったコンパクトな評価ボード +

Slide 43

Slide 43 text

詳細ブログ記事のリンク先(QRコード) 基板設計のコンペ(Board Designer Competition)に参加した件 https://misoji-engineer.com/archives /board-designer-competition.html

Slide 44

Slide 44 text

Adaptive Directional BLE Audio Speaker Bluetooth LE Audio対応のトランスミッター・スピーカー SOC (nRF5340) PMIC (nPM1300) Audio IC (CS47L63) + *BLE…Bluetooth Low energy

Slide 45

Slide 45 text

詳細ブログ記事のリンク先(QRコード) BLE Audio Design Challengeの 実装コンペに参加した件 https://misoji-engineer.com/archives /ble-audio-design-challenge.html

Slide 46

Slide 46 text

XIAO nRF54L15 Sense + 拡張ボード Zephyr(RTOS) + マイク で 「音声認識」 ■XIAO nRF54L15 Sense + 低電力 Wireless SoC (Nordic nRF54L15) ・マイク ・加速度センサ 内蔵モジュール ・Up ・Down ・Right LEDの色が 変わります

Slide 47

Slide 47 text

詳細ブログ記事のリンク先(QRコード) Edge AI on Zephyr: ULP Acoustic Monitoring for Wildlife https://www.hackster.io/iotengineer 22/edge-ai-on-zephyr-ulp-acoustic- monitoring-for-wildlife-e31cdd

Slide 48

Slide 48 text

XIAO nRF54L15 Sense + 拡張ボード Zephyr(RTOS) と Pico でジェスチャー認識 +

Slide 49

Slide 49 text

詳細ブログ記事のリンク先(QRコード) pico2-ei-zephyr-demo (GitHub) https://github.com/iotengineer22/pic o2-ei-zephyr-demo

Slide 50

Slide 50 text

M5Stack + Zephyr(RTOS) + Edge Impulse M5Stackで「ジェスチャー認識」 with Zephyr(RTOS) ・M5Stack CoreS3 + 加速度センサ 内蔵 Edge Impulse Zephyr (RTOS) 優しく 触ってね! https://edgeimpulse.com/ https://www.zephyrproject.org/

Slide 51

Slide 51 text

詳細ブログ記事のリンク先(QRコード) M5Stack にZephyr(RTOS)と Edge Impulseを実装してみた https://misoji-engineer.com/archives /m5stack-zephyr-edge.html

Slide 52

Slide 52 text

まとめ

Slide 53

Slide 53 text

・Zephyr(RTOS)はラズパイ、Picoなどのボードも使えます  (1000以上のボードがサポート) ・ざっくり公式のインストール・ビルド方法を紹介できました  (ぜひ、公式ドキュメント・リポジストリを覗いて見てください) ・Zephyr(RTOS)の良いところも(少し)紹介できました。  (本当はもっと良いところが一杯あります。) まとめ Zephyr(RTOS)をざっくり紹介できた