필사 모드: 組込みシステム & ファームウェア開発 2026 完全ガイド — STM32 · ESP32-C6 · RP2040 · Raspberry Pi 5 · Arduino · PlatformIO · Zephyr RTOS · ESP-IDF 徹底解説
日本語1章 · 組込み2026 — MCUとSBC、そしてFPGAの境界
組込み開発者がまず内在化すべきは **チップクラスの軸** である。2026年の軸は三つに分かれる。
| 分類 | 代表チップ | 特徴 | OS |
| --- | --- | --- | --- |
| MCU | STM32, ESP32, RP2040 | メモリKB-MB、マイクロアンペア・スリープ | ベアメタル / RTOS |
| SBC | Raspberry Pi 5, Jetson Orin | メモリGB、GPU/NPU | Linux |
| FPGA | Lattice ECP5, Xilinx Artix-7 | ゲート単位の並列、HDL合成 | なし / ソフトコア |
MCUは **決定論的リアルタイム制御**、SBCは **本格的なOSとAI**、FPGAは **ハードウェア・パイプライン** が必要な場合に使う。三者は互いに置き換えられない。同一装置の中で同居することも珍しくない。産業用マシンビジョン・カメラはFPGAがセンサを読み、MCUがモータを回し、SBCが推論を走らせるのが定番構成だ。
本稿は主にMCUとSBCを扱うが、どこでFPGAが必要になるかの感覚も併せて押さえる。
2章 · STM32 — Cortex-Mの事実上の標準
STMicroelectronicsのSTM32は2007年の登場以来、Cortex-MベースMCUの **事実上の標準** になっている。2026年現在のラインナップは広い。
| シリーズ | コア | 特徴 | 代表型番 |
| --- | --- | --- | --- |
| STM32F0 | Cortex-M0 | 入門・低価格 | STM32F030 |
| STM32G0 | Cortex-M0+ | 新入門 | STM32G031 |
| STM32F4 | Cortex-M4 + FPU | 汎用高性能 | STM32F407 |
| STM32F7 | Cortex-M7 | DSP・画像 | STM32F746 |
| STM32H7 | Cortex-M7 480MHz | 高性能 | STM32H743 |
| STM32L4/L5 | Cortex-M4/M33 | 超低消費電力 | STM32L476 |
| STM32U5 | Cortex-M33 + TrustZone | セキュリティ + 低消費 | STM32U585 |
| STM32WB/WL | M4 + M0+ | BLE / LoRa | STM32WB55 |
| STM32H5 | Cortex-M33 | 新メインストリーム | STM32H573 |
| STM32MP1/MP2 | Cortex-A7/A35 + M4/M33 | ヘテロ(Linux + RTOS) | STM32MP157 |
開発フロー
典型的なSTM32ワークフローは次のとおり。
1. **STM32CubeMX** でピン・クロック・周辺(USART/SPI/I2C/ADCなど)を設定し、HALコードを生成する
2. **STM32CubeIDE**(または VS Code + Cortex-Debug)でコードを書く
3. **ST-Link V3** でフラッシュとデバッグ
4. **STM32CubeMonitor** で変数をリアルタイム可視化
ST-LinkはNucleo基板に内蔵されているため別途購入は不要。Nucleo-F411REなら15ドル程度で買える。
HAL vs LL vs ベアメタル
STは二系統のライブラリを提供する。HAL(Hardware Abstraction Layer)は抽象化が厚く、LL(Low Layer)はレジスタアクセスに近い。リアルタイム性が重要なコードではLLを使うか、いっそレジスタを直接叩く。CubeMXはどちらの生成にも対応する。
3章 · ESP32 — WiFi/BTが既定のMCU
EspressifのESP32は2016年の登場以来、IoTの事実上の標準になった。2026年のラインナップ。
| チップ | ISA | WiFi | BT/BLE | コア |
| --- | --- | --- | --- | --- |
| ESP32(Classic) | Xtensa LX6 | 4 | 4.2 / BLE 4.2 | デュアル 240MHz |
| ESP32-S2 | Xtensa LX7 | 4 | なし | シングル |
| ESP32-S3 | Xtensa LX7 | 4 | BLE 5.0 | デュアル + AI加速 |
| ESP32-C3 | RISC-V | 4 | BLE 5.0 | シングル 160MHz |
| ESP32-C6 | RISC-V | 6 | BLE 5.3 + Thread/Zigbee | シングル 160MHz |
| ESP32-H2 | RISC-V | なし | BLE 5.3 + 802.15.4 | シングル |
| ESP32-P4 | RISC-V | なし(外付け補助) | なし | デュアル 400MHz + MIPI |
**ESP32-C6**(2023)はWiFi 6・Thread・Zigbee・Matterを1チップに統合した最初のライン。**ESP32-P4**(2024量産)はWiFiを持たない代わりにデュアルRISC-V 400MHzとMIPI-CSI/DSIを備え、カメラ・ディスプレイ用途に使われる。
ESP-IDF v5.4
Espressif公式SDKのESP-IDFは、v5.4(2024)でRust統合、ESP32-P4の正式対応、OpenThread 1.3などを追加した。コマンドラインは単純である。
idf.py set-target esp32c6
idf.py menuconfig
idf.py build flash monitor
`idf.py menuconfig` はkconfigツリー上でWiFiスタック、パーティションテーブル、コンパイラ・オプションを切り替える。
Arduino-ESP32 vs ESP-IDF
ESP32はArduinoコアでも動く。`void setup(void)` と `void loop(void)` の枠組みのままWiFi/BLEを呼ぶコードなら5分で点滅する。一方でOTA、デュアルコア活用、低消費電力スリープのような高度な機能は、ESP-IDFのFreeRTOS APIを直接叩くほうが自然である。
4章 · RP2040とRP2350 — Raspberry PiのMCU
2021年に登場したRaspberry Pi PicoのRP2040は、入門用MCUの基準を引き直した。デュアル Cortex-M0+ 133MHz、264KB SRAM、そして **PIO**(Programmable I/O)という独特の周辺がある。PIOは小さなステートマシン8個を持ち、VGA・DPI・WS2812 LEDなどの厳しいプロトコルをビット単位でハードウェア合成する。
RP2350(2024年8月発表)
RP2040の後継、**RP2350**(Raspberry Pi Pico 2)は2024年8月に発表された。
| 項目 | RP2040 | RP2350 |
| --- | --- | --- |
| コア | デュアル Cortex-M0+ | デュアル Cortex-M33 + デュアル Hazard3 RISC-V |
| クロック | 133MHz | 150MHz |
| SRAM | 264KB | 520KB |
| セキュリティ | なし | TrustZone、OTP、ブートROM認証 |
| Pico基板価格 | 4ドル | 5ドル |
RP2350の本当の珍しさは **デュアルISA** だ。同じコア・ソケットにCortex-M33とRISC-V Hazard3のいずれかをブート時に選べる。SDKビルド時点で決定する。
Pico SDK
`pico-sdk` はCMakeベースで意外と素直である。
cmake_minimum_required(VERSION 3.13)
include(pico_sdk_import.cmake)
project(blink)
pico_sdk_init()
add_executable(blink blink.c)
target_link_libraries(blink pico_stdlib)
pico_add_extra_outputs(blink)
`uf2` ファイルを生成し、PicoのBOOTSELボタンを押しながらUSB接続すると、マウントされたドライブにファイルをドラッグするだけでフラッシュ完了。別途プログラマは不要だ。
5章 · Arduino Uno R4 — 16年ぶりの世代交代
Arduino Unoは2010年以来ATmega328P(8ビットAVR)を使ってきたが、2023年発表の **Uno R4** で16年ぶりにシリコンが変わった。Renesas RA4M1(Cortex-M4 48MHz、256KB Flash、32KB SRAM)へ移行している。
二種類の派生がある。
- **Uno R4 Minima** — Cortex-M4のみ、27ドル
- **Uno R4 WiFi** — Cortex-M4 + ESP32-S3補助、12x8 LEDマトリクス内蔵、32ドル
既存のUno R3とピン互換でシールドはそのまま流用できる。CAN、DAC、OpAmp、USB HIDが新規追加。元のATmega328P比でメモリが1000倍近くに増えた。
8ビット時代の一部ライブラリは互換性問題があり、R4登場直後はトラブルが目立った。2024-2025年を通じて主要ライブラリの大半がR4対応になった。
6章 · Nordic nRF52 / nRF54 — BLEの王者
BLE(Bluetooth Low Energy)専用シリコンではNordic Semiconductorが圧倒的に強い。2026年ラインの中心。
- **nRF52840** — Cortex-M4 64MHz、BLE 5、Thread、Zigbee、1MB Flash、256KB RAM。無線マウス・キーボードや医療ウェアラブルの標準。
- **nRF52833** — コスト最適化版。
- **nRF5340** — デュアルコア(アプリ + 無線)、強化セキュリティ。
- **nRF54L15**(2024) — Cortex-M33 128MHz、BLE 5.4 + 802.15.4、RISC-V補助コア。新フラッグシップ。
Nordicは **nRF Connect SDK**(NCS)を提供しており、内部で **Zephyr RTOS** を採用する。nRF52を触り始めると自然にZephyrへ入っていく。従来のSoftDevice(BLEスタックのバイナリ・ブロブ)はZephyrネイティブのBluetoothホスト/コントローラに置き換えられつつある。
7章 · その他のMCUファミリ — Microchip、NXP、TI、WCH
上位4家以外にも組込み世界は広い。
- **Microchip** — SAM(Cortex-M)、PIC(レガシー 8/16ビット)、AVR(Uno R3のATmega)。自動車・産業で強い。
- **NXP** — i.MX RT(Cortex-M7 600MHz級のクロスオーバーMCU)、LPC(汎用)、Kinetis(低消費)。i.MX RT1176はデュアル(M7+M4)。
- **Texas Instruments** — MSP430(超低消費16ビット、ラインは縮小傾向)、CC1352(Sub-GHz + 2.4GHz)、Sitara(Aシリーズ SBC)。
- **WCH CH32V** — 中国WCHのRISC-V MCU。**CH32V003** は10セントでRISC-Vコアを提供して話題になった。
- **Renesas RA / RX** — Uno R4のRA4M1がここに属する。日本の産業・自動車市場で強い。
- **GD32(GigaDevice)** — STM32とピン・周辺互換を狙う中国製。価格は半分。
チップ選定は **供給安定性、価格、ツール成熟度** の関数になることが多い。2021-2022年のチップ不足以降、一家のみに賭けないマルチベンダ設計が一般化した。
8章 · Raspberry Pi 5とSBC生態系
Raspberry Pi 5(2023年10月発表、2024年に本格普及)はSBCの基準を引き直した。
| 項目 | Pi 4 | Pi 5 |
| --- | --- | --- |
| SoC | BCM2711(A72) | BCM2712(A76) |
| クロック | 1.5 / 1.8GHz | 2.4GHz |
| メモリ | 1/2/4/8GB LPDDR4 | 4/8/16GB LPDDR4X |
| PCIe | なし | PCIe 2.0 x1(外付け NVMe) |
| 電源 | USB-C 15W | USB-C 25W(5A推奨) |
| 価格 | 35-75ドル | 60-120ドル |
Pi 5は **RP1** という自前のI/Oチップを外部に置きPCIe接続するため、USB/EthernetスループットがPi 4比で大きく伸びた。NVMe SSDをHATで増設する構成が標準化した。
その他のSBC
- **Pi Zero 2 W** — 5ドル価格帯、Cortex-A53クアッド、WiFi。
- **Pi Compute Module 5** — Pi 5コアを産業用モジュール形態で。
- **NVIDIA Jetson Orin Nano Super** — 2024年12月発表、249ドルで67 TOPS(疎)。AIエッジの新基準。
- **NVIDIA Jetson Orin AGX** — 275 TOPS、ロボティクス・自動運転向け。
- **BeagleBone Black / BeagleV-Ahead** — PRUリアルタイム・コアが特徴。BeagleV-AheadはRISC-V T-Headコア。
- **Radxa Rock 5B/5C** — Rockchip RK3588(A76 4 + A55 4 + 6 TOPS NPU)。Pi 5の代替。
- **Orange Pi 5 / Banana Pi M7** — 同じRK3588系。
- **LattePanda Sigma** — Intel Core i5、x86 SBC。
- **ODROID-N2L / H3** — 韓国Hardkernel。
- **UDOO Bolt / Vision** — AMD/Intel + Arduino MCU統合。
選定の優先順位は概ね **コミュニティ規模 → ドライバ成熟度 → 価格 → 仕様** の順。Piの強みは前二項目にある。
9章 · RTOS — FreeRTOS, Zephyr, ThreadX, NuttX
ベアメタルは単純な用途には向くが、タスクが二つ以上に増えるとRTOSが要る。2026年のRTOS地形。
FreeRTOS 11
- 2003年にRichard Barryが開始 → 2017年にAWSが買収 → 現在AWSが維持。
- Cortex-Mの事実上の標準。ほぼ全てのMCUベンダがBSPを提供する。
- ライセンス: MIT。
- v10でSMP(対称マルチプロセッシング)対応、v11で安定化。
- 軽量。カーネルコードは4-9KB。
Zephyr RTOS 4.0
- 2016年からLinux Foundation配下のプロジェクト。Wind RiverのRocket OSをベースにスタート。
- マルチ・アーキテクチャ: ARM、RISC-V、Xtensa、x86、ARC。
- **Devicetree** ベースのボード抽象化 — Linuxと同じ思想。
- 豊富なサブシステム: ネットワーキング(IP/TCP/MQTT/CoAP)、USB、ファイルシステム、ディスプレイ。
- Nordic nRF Connect SDKはZephyr上に作られており、NXP・Intel・Googleも積極的に貢献。
- v4.0(2024年11月)でLLEXT(ランタイム・モジュール・ロード)とSysbuildが安定化。
Eclipse ThreadX(旧Azure RTOS)
- 1996年にExpress Logic設立 → 2019年にMicrosoft買収 → 2024年にEclipse Foundationへ移管。
- 安全認証(IEC 61508 SIL 4、ISO 26262 ASIL D、DO-178C)を最も広く取得したRTOS。
- 医療・航空・自動車で強い。
Apache NuttX
- POSIX互換RTOS。APIは小さなLinuxのように見える。
- Sony Miraiカメラ、Nokia 8110 4Gのような商用製品で使われている。
CMSIS-RTOS / RTX
- Arm公式。Cortex-M向けに最適化された小さなRTOS。
Mbed OS
- ArmのIoTプラットフォーム。2026年時点ではメンテナンス・モードに入っており、新規プロジェクトには推奨されない。Zephyrへの移行が推奨される。
選定軸は **認証の要否、マルチ・アーキテクチャ対応、コミュニティ活性度** が中心だ。新規プロジェクトであれば、FreeRTOS(軽さ優先)またはZephyr(生態系優先)が一般的な選択になる。
10章 · 組込み言語の多様化 — Rust、TinyGo、MicroPython
Cが依然として組込み第一言語であることは変わらないが、2026年には本格的な代替が増えた。
Rust embedded
- **embedded-hal 1.0**(2024)が安定化し、HALトレイトの表面が標準化された。
- **embassy-rs** — async/await ベースの no-std ランタイム。WiFi/BLEドライバもasync対応。
- **probe-rs** — Rust生態のデバッガ。ST-Link、J-Link、CMSIS-DAPを一本に統合。
- ESP32、STM32、RP2040、nRF52は全て一級対応。
#[embassy_executor::main]
async fn main(spawner: Spawner) {
let p = embassy_rp::init(Default::default());
let mut led = Output::new(p.PIN_25, Level::Low);
loop {
led.toggle();
Timer::after(Duration::from_millis(500)).await;
}
}
PicoのGPIO 25に繋がるオンボードLEDを点滅させる。async/awaitが本当に動く。
TinyGo
- GoのLLVMバックエンド・コンパイラ。標準ライブラリの部分集合 + 組込み周辺API。
- ガベージコレクタは保守的GCまたはリーキング・アロケータから選択。
- Wasmコンパイルにも対応し、組込みとウェブを同じ言語で扱える。
MicroPython / CircuitPython
- MicroPythonは2014年にDamien Georgeが開始。
- CircuitPythonはAdafruitがMicroPythonをフォークしてメーカー向けに整えた変種。
- ESP32、RP2040、nRF52、STM32に対応。
- 参入障壁は最も低い。LED点滅まで5分。
led = machine.Pin(25, machine.Pin.OUT)
while True:
led.toggle()
time.sleep(0.5)
TinyMaix、picoTLS
より厳しい性能・メモリ予算向けの特化ライブラリ群。TinyMaixはニューラルネット推論エンジンを200KB Flashに収める。
11章 · PlatformIO — マルチターゲット・ビルドの事実上の標準
PlatformIOは2014年にウクライナのIvan Kravetsが開始したマルチプラットフォーム組込みビルドシステムである。2026年現在、約1300ボード、50プラットフォーム、20フレームワークに対応する。
[env:esp32-c6]
platform = espressif32
board = esp32-c6-devkitc-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600
[env:nucleo_f411re]
platform = ststm32
board = nucleo_f411re
framework = stm32cube
debug_tool = stlink
同一フォルダ内に二つの環境を定義しておけば、`pio run -e esp32-c6` でESP32向けに、`pio run -e nucleo_f411re` でSTM32向けにビルドが走る。ライブラリも `lib_deps = adafruit/Adafruit BME280 Library@^2.2.4` のようなSemVer依存で管理する。
VS Code拡張が最も人気のフロントエンド。Arduino IDEより強力で、Eclipseベースの ST IDEより軽量だ。
12章 · ESP-IDF v5.4とESP32ワークフロー詳細
ESP-IDFはEspressifの公式SDKで、FreeRTOS、LwIP、WiFiスタックを一つにまとめている。v5.4(2024)の主な変更点は次のとおり。
- **ESP32-P4** の正式サポート — RISC-Vデュアル 400MHz、MIPI-CSI/DSI。
- **Rust統合** — Espressifがno-std Rust HALを公式メンテナンス。
- **OpenThread 1.3、Matter 1.4** の統合。
- **Wokwiシミュレータ** の公式統合。
ビルド・パイプライン
`idf.py build` は内部でCMake + Ninjaを呼び、パーティション・テーブルに従ってブートローダ、アプリ・バイナリ、NVS領域を生成する。
build/bootloader/bootloader.bin # 2次ブートローダ(ROM の次)
build/partition_table/partition-table.bin
build/myapp.bin # アプリケーション
build/ota_data_initial.bin # OTAスロット・メタ
フラッシュは `esptool.py write_flash` または `idf.py flash` で行う。
デュアルコア活用
ESP32 ClassicとS3はデュアルコアである。FreeRTOSの `xTaskCreatePinnedToCore` で特定コアにタスクを固定する。
xTaskCreatePinnedToCore(network_task, "net", 8192, NULL, 5, NULL, 0);
xTaskCreatePinnedToCore(sensor_task, "sen", 4096, NULL, 5, NULL, 1);
コア0はWiFi/BTスタックが重く使い、コア1はアプリケーション論理が占有するのが一般的なパターンだ。
13章 · デバッグ — ST-Link、J-Link、OpenOCD、probe-rs
ベアメタルのデバッグは通常2段階。ボードのSWDピンにデバッグ・プローブを繋ぎ、ホストのGDBがプローブを介してチップを操る。
デバッグ・プローブ
- **ST-Link V3** — ST公式。Nucleo内蔵。STM32限定だが非常に安価(10ドル)。
- **J-Link**(Segger) — 事実上の業界標準。EDUライセンス70ドル、Proライセンスは数百ドル。
- **Black Magic Probe** — オープン・ハードウェア。GDBサーバがプローブ内部にあるためOpenOCD不要。
- **CMSIS-DAP** — Arm公式のオープン仕様。DAPLinkファームウェアを搭載したnRF52・STM32基板で無料で動く。
- **Raspberry Pi Debug Probe** — 12ドル。RP2040 + picoprobeファームウェア。
OpenOCDとprobe-rs
ホスト側GDBサーバは伝統的に **OpenOCD** だ。Cコードベースが古く、設定がやや煩雑である。2020年代後半に **probe-rs**(Rust)が台頭。`cargo flash --chip STM32F411RETx` 一行で書き込みが完結する単純さが特徴。
GDB自体は今も標準。VS CodeのCortex-Debug拡張や CLion の組込みデバッガはGDBを包んでいる。
14章 · 通信 — SPI、I2C、UART、CAN、USB
MCU仕事の9割はこの5種の直列通信を直接扱う。
| プロトコル | 速度 | ピン数 | 特徴 |
| --- | --- | --- | --- |
| UART | 通常 115200bps | 2(TX/RX) | 最も単純。非同期。 |
| SPI | 数十 MHz | 4(MOSI/MISO/SCK/CS) | 高速で対称。 |
| I2C | 100k/400k/1M | 2(SDA/SCL) | マルチスレーブ。プルアップ必須。 |
| CAN | 1Mbps | 2(CAN-H/L) | 差動、自動車標準。 |
| RS-485 | 10Mbps | 2(A/B) | 差動、産業用長距離。 |
| USB FS/HS | 12/480Mbps | 4(D+/D-/VBUS/GND) | ホスト/デバイス。 |
ピン識別子は `GPIO_NUM_2` のようにチップ別マクロで扱う。プルアップ/プルダウン、駆動強度、オープンドレインなどのGPIO属性も併せて設定する。
15章 · 無線 — WiFi 6、BLE 5.4、Thread、Matter
2026年の組込み無線の大きな流れは **Matter 1.4のメインストリーム化** である。
- **WiFi 6/6E** — ESP32-C6/C5、Realtek RTL8720、MediaTek MT7933。APの同時接続能力がIoTノードに直接影響する。
- **BLE 5.4** — Coded PHY(長距離)、Periodic Advertising with Responses、Channel Sounding(2024標準化)。
- **LoRaWAN** — Semtech SX1262系。数kmの距離、kbps速度。農場・都市センサ網向け。
- **Zigbee 3.0 / Thread 1.3** — 802.15.4メッシュ。Matterの下位トランスポート層。
- **Matter 1.4**(2024年11月) — Connectivity Standards Alliance。家電標準。Apple Home、Google Home、Alexa、SmartThingsが共同サポート。
チップ選定では無線スタックのRAM/Flash負担が無視できない。BLEホスト + コントローラだけで100-200KB Flash、30-50KB RAMが一般的である。
16章 · センサ — BME680、VL53L5、MPU6050、GPS
代表的なセンサ部品をいくつか押さえる。
- **BME680 / BME688** — ボッシュの環境センサ。温度・湿度・気圧・VOC。Edge ML応用も多い(BME688は内蔵4クラス分類器を搭載)。
- **VL53L1/L5/L7/L8** — STのToF LiDAR。1次元または4x4/8x8格子の距離。最大4m。
- **MPU6050 / ICM-20948** — InvenSenseのIMU。6軸/9軸。姿勢推定の標準。
- **MAX30102** — 心拍/SpO2の光学センサ。
- **u-blox ZED-F9P** — マルチバンドRTK GPS、cm級精度。
- **ホール効果センサ** — 回転検出、電流測定、位置検出。
I2Cアドレス衝突はよくある罠だ。同じアドレスのチップを2個使うにはTCA9548AのようなI2Cマルチプレクサを通すか、片方のSDO/ADDRピンでアドレスをずらす。
17章 · AI on MCU — TFLM、Edge Impulse、STM32Cube.AI
小さなニューラルネットをMCUに載せる、いわゆるTinyMLは2020年代後半に本格的に産業化した。
- **TensorFlow Lite Micro(TFLM)** — Google。C++ライブラリ。Cortex-M、Xtensa、RISC-V対応。ライセンスはApache 2.0。
- **Edge Impulse** — SaaS。データ収集 → 学習 → デバイス配置までを一連の流れに。ST、Nordic、Espressifと提携。
- **STM32Cube.AI** — ST公式。ONNX/TFLite/KerasモデルをCortex-M向けに最適化コンパイル。
- **NXP eIQ** — NXPのMLツールチェーン。
- **Microsoft ELL**(Embedded Learning Library) — 研究段階。
Cortex-M55(Helium MVE)と Ethos-U55/U65 NPUコアの追加により、MCUで0.5-1.0 TOPS級の推論が可能になった。画像1フレームを100ms以内に分類するレベルに到達している。
18章 · OTA — SUIT、mender、ESP32 OTA
配置後のファームウェア更新は組込みで最も難しい運用課題の一つだ。
- **ESP32 OTA** — `esp_https_ota`。二つのOTAスロット間で切り替える。ブートローダが最後に検証済みのスロットを起動する。
- **mender.io** — Linux SBC向けのA/Bパーティション OTA。差分更新に対応。
- **RAUC** — Yoctoベースの Linux 組込み向け OTA フレームワーク。
- **swupdate** — Stefano Babic 製のもう一つの Linux OTA。
- **SUIT**(Software Updates for the Internet of Things、RFC 9019/9124) — IETF標準。マニフェスト・ベース。
- **Memfault** — SaaS。OTA + クラッシュレポート + メトリクスを統合管理。STM32・nRF52・ESP32を一級対応。
A/Bスロット、ロールバック、署名、整合性検証、部分更新(差分)などの要件を満たすのは難しい。SaaSに任せる比率が増えている理由はここにある。
19章 · PCB CAD — KiCad 8、Altium、EasyEDA
回路図とPCBを描くツール群。
- **KiCad 8**(2024年2月公開) — オープンソース。商用ツールとの差は非常に狭まった。5万フットプリントの豊富なライブラリ、3Dビュー、自動差動ペア・ルーティング、JLCPCB直接発注。
- **Altium Designer** — 業界標準。ライセンスは年数千ドル。
- **Autodesk EAGLE** — 2026年に終息予定。Fusion 360 Electronicsへ移管中。
- **EasyEDA / LCEDA** — JLCPCB発注に最適化。クラウドベース。
- **Cadence OrCAD / Allegro** — 高機能産業向け。
- **Zuken CR-8000、Mentor PADS、Xpedition** — 産業・自動車専門。
- **Horizon EDA**、**LibrePCB** — KiCad以外のオープンソース代替。
小規模メーカーにはKiCad + JLCPCBの組合せが事実上の標準。両面100x100mm PCB 5枚で約7ドル、3日で届く。
20章 · 韓国と日本の組込み生態系
韓国
- サムスンARTIKは2019年に終息し、韓国のIoTプラットフォームの空白はESP32とRP2040のコミュニティが埋めている。
- **Coding Devs Maker**、**Hivro**、**MechaSolution**、**DeviceMart** といった部品流通が活発。
- LoRaWAN・NB-IoT通信網はCafe24、Playios、KT、LG U+などが提供する。
- 大学のSTM32・Arduino講義が普及しており、Facebookグループ「Raspberry Pi 韓国ユーザの集い」が活発である。
日本
- **M5Stack** — 本社は中国の深圳だが、日本のメーカー・コミュニティでは事実上の標準フォームファクタ。
- **スイッチサイエンス**(Switch Science) — 日本の代表的な流通業者。SparkFun に近いポジション。
- **秋月電子通商** — 東京・秋葉原の老舗パーツ・ショップ。数十年の歴史。
- **マルツエレック**(Marutsu)、**千石電商**(Sengoku Denshi) — 他のパーツ・ショップ。
- **Trigence Semiconductor**、**Nuvoton Japan** — 日本系IC設計会社。
- **Make: Japan**、**CQ出版** の **トランジスタ技術** — メディアと出版。
- **SwitchBot** — 東京発スタートアップだが、グローバル・スマートホームの強豪。
両地域ともメーカー市場は活発だが、英語ドキュメントの量が圧倒的なため、韓国・日本の開発者も英語資料で学ぶ比率が高い。
21章 · メーカー・フェアとクラウドファンディング — Hackaday、Tindie、Crowd Supply
オープン・ハードウェア・プロジェクトが製品になる通路。
- **Hackaday** — 日刊の組込みニュース + コンテスト(Hackaday Prize)。毎年1000-2000件の応募。
- **Hackaday.io** — プロジェクト・ホスティング + コミュニティ。
- **Tindie** — 組込み版 Etsy。個人メーカーが小ロットで基板を売る。
- **Crowd Supply** — 組込み・オープン・ハードウェアに特化したクラウドファンディング。
- **Kickstarter / Indiegogo** — 汎用クラウドファンディング。
- **Crowd Supplyの OSHWA認証** — Open Source Hardware Associationの正式認証を受けたプロジェクトには専用マーク。
韓国の Wadiz/Tumblbug、日本の CAMPFIRE/Makuake にも組込みカテゴリはあるが、英語圏に比べれば規模は小さい。
22章 · シミュレーション — Wokwi、Renode、QEMU
実機なしでファームウェアを動かす道具が定着した。
- **Wokwi** — ブラウザ上で Arduino、ESP32、STM32、Pi Pico をシミュレートする。回路図まで描ける。無料・有料プランあり。
- **Renode** — Antmicroのフルシステム・シミュレータ。RISC-V SoC や Cortex-M/A をサイクル精度ではなく命令単位で再現する。
- **QEMU** — Cortex-M/Aマシンモデル。Zephyrが公式対応する。
CI/CDで毎コミット単位の回帰テストを回すならシミュレーションが事実上必須だ。CIサーバに基板を100枚挿しておくのは現実的ではない。
23章 · 筐体 — 3Dプリントと CAD
組込み製品の外観は通常、3Dプリントや射出成形で作る。メーカー段階では3Dプリントが主流。
- **Fusion 360** — Autodesk。個人は無料。事実上のメーカー標準。
- **OnShape** — クラウドベースのフル・パラメトリックCAD。協業が強み。
- **FreeCAD 1.0**(2024年11月の 1.0 リリース) — オープン・ソース。ようやく本格推奨できる段階に。
- **Plasticity** — 一人開発の新興。滑らかな曲面モデリングが強み。
- **Tinkercad** — 入門用。子供向け教育でも活発。
PETG、ABS、ASA、PC、Nylonは外装によく使う。PLAは試作には良いが60度以上で変形するため、車内環境などには不向きである。
24章 · セキュリティ — Secure Boot、TrustZone、OTP
IoT機器のセキュリティはもはやオプションではない。EUの Cyber Resilience Act(CRA)は2024年に採択され、2027年12月の本格適用を控えている。
- **Secure Boot** — ブートローダがファームウェア署名を検証する。STM32 RDP、ESP32 Secure Boot V2、nRF Secure Bootloader。
- **TrustZone-M** — Cortex-M23/M33/M55のセキュリティ分離。Secure WorldとNon-secure World。
- **OTP**(One-Time Programmable) — 鍵やシリアル番号を恒久的に保存する。
- **PUF**(Physically Unclonable Function) — チップ固有の微小な製造差を鍵にする。
- **Matter 1.4 デバイス証明書** — Connectivity Standards Alliance が発行する。
小型MCUに ATECC608A のような外付けセキュアICを追加するパターンが増えている。
25章 · 学習資料 — 書籍、講座、カンファレンス
- **Making Embedded Systems**(Elecia White、O'Reilly、2024年第2版) — 入門書の定番。
- **The Art of Electronics**(Horowitz・Hill、第3版) — 電子工学のバイブル。
- **Programming Embedded Systems**(Michael Barr、O'Reilly) — 古典。
- **Embedded.fm** ポッドキャスト — 600回超の蓄積。
- **The Amp Hour** ポッドキャスト — Chris Gammell。
- **embedded world**(ドイツ・ニュルンベルク、毎年3月)、**CES**(ラスベガス、1月)、**Hackaday Supercon**(パサデナ、11月) — カンファレンス。
- **Maker Faire Tokyo**(日本、11月)、**Maker Faire Bay Area**(米国、10月) — メーカー・フェア。
韓国語資料では尹徳容氏の「AVR マイクロコントローラ」シリーズ、Jang Mun-cheol 講師のYouTubeチャンネルが有名。日本語ではCQ出版の月刊「トランジスタ技術」が創刊から70年近い歴史を持つ。
26章 · 結び — 小さなチップ、大きな世界
組込み開発はあらゆる分野の中で、最も **ハードウェアとソフトウェアの境界** に近い仕事である。同じコードでも、基板二枚のプルアップ値が違えば動作が変わる。Cの一行が100マイクロ秒の割込み遅延を生んでモータを壊すこともある。この距離感が組込みの魅力であり、難しさでもある。
2026年の組込みは、道具が大きく改善した時代だ。PlatformIO と Wokwi が入門の障壁を下げ、Rust embedded と Zephyr が安全性と移植性を強化し、KiCad と JLCPCB が PCB 製作を誰でも可能にした。RP2350 のデュアルISA、ESP32-P4 の RISC-V、nRF54L15 の BLE 5.4 といった新シリコンは、5年前には想像できない価格帯で売られている。
学びの順序は単純だ。
1. Arduino Uno R3 または Pi Pico で LED を点滅させる。
2. UART・SPI・I2C でセンサを1個読む。
3. PlatformIO または ESP-IDF で環境を整える。
4. FreeRTOS のタスクを2個動かす。
5. WiFi または BLE でクラウドかスマホと通信する。
6. KiCad で自分の基板を1枚発注する。
6段階を踏めば組込みエンジニアになれる。一度に一段ずつでよい。小さなチップが大きな世界を動かす喜びがその先にある。
参考資料
- STMicroelectronics — STM32 公式: https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html
- Espressif — ESP-IDF v5.4: https://docs.espressif.com/projects/esp-idf/en/v5.4/esp32c6/
- Raspberry Pi — RP2350 データシート: https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf
- Raspberry Pi 5 製品ブリーフ: https://datasheets.raspberrypi.com/rpi5/raspberry-pi-5-product-brief.pdf
- Arduino — Uno R4 ドキュメント: https://docs.arduino.cc/hardware/uno-r4-wifi/
- Nordic Semiconductor — nRF Connect SDK: https://www.nordicsemi.com/Products/Development-software/nRF-Connect-SDK
- Zephyr Project — 4.0 リリースノート: https://docs.zephyrproject.org/4.0.0/releases/release-notes-4.0.html
- FreeRTOS — 公式: https://www.freertos.org/
- Eclipse ThreadX: https://threadx.io/
- PlatformIO — ドキュメント: https://docs.platformio.org/
- embedded-hal 1.0 RFC: https://github.com/rust-embedded/embedded-hal
- Embassy — Async embedded Rust: https://embassy.dev/
- probe-rs — デバッガ: https://probe.rs/
- MicroPython: https://micropython.org/
- CircuitPython: https://circuitpython.org/
- TinyGo: https://tinygo.org/
- TensorFlow Lite Micro: https://www.tensorflow.org/lite/microcontrollers
- Edge Impulse: https://www.edgeimpulse.com/
- Memfault: https://memfault.com/
- KiCad — 8.0 リリースノート: https://www.kicad.org/blog/2024/02/KiCad-8.0.0-Release/
- Matter 1.4 — CSA: https://csa-iot.org/all-solutions/matter/
- Wokwi — オンライン・シミュレータ: https://wokwi.com/
- Renode: https://renode.io/
- M5Stack: https://m5stack.com/
- スイッチサイエンス(Japan): https://www.switch-science.com/
- Hackaday: https://hackaday.com/
- Tindie: https://www.tindie.com/
- Crowd Supply: https://www.crowdsupply.com/
- WCH CH32V003: http://www.wch-ic.com/products/CH32V003.html
현재 단락 (1/323)
組込み開発者がまず内在化すべきは **チップクラスの軸** である。2026年の軸は三つに分かれる。