Platform Support
AkiraOS supports multiple embedded platforms with varying feature sets.
Supported Platforms
build.sh discovers boards automatically from the metadata headers in boards/*.conf,
so ./build.sh -h is the authoritative list. There are currently 17 selectable
boards. Pass either the canonical name or an alias to -b.
Boards with a written guide
| Platform | CPU | RAM | PSRAM | WiFi | BLE | Status |
|---|---|---|---|---|---|---|
| ESP32-S3 | Dual Xtensa LX7 @ 240 MHz | 512 KB | 8 MB | Yes | Yes | Primary |
| ESP32-C3 | RISC-V @ 160 MHz | 400 KB | No | Yes | No (default) | Supported |
| nRF54L15 | Cortex-M33 @ 128 MHz | 256 KB | No | No | Yes | Supported |
| STM32 | Cortex-M4/M7 | 256–512 KB | External | Partial | Partial | Experimental |
| Native Sim | Host CPU | Host | N/A | No | No | Testing only |
All build targets
Flash is whether ./build.sh -r a can flash the board directly. Targets marked no
build correctly but must be flashed with an external tool.
-b name |
Alias | Zephyr board | Chip | Flash | Description |
|---|---|---|---|---|---|
native_sim |
— | native_sim |
native | n/a | Native Simulator (default) |
akiraconsole_esp32s3_procpu |
akiraconsole |
akiraconsole/esp32s3/procpu |
esp32s3 | yes | Akira Console (ESP32-S3 N16R8) |
akiraconsole_prod_esp32s3_procpu |
akiraconsole_prod |
akiraconsole_prod/esp32s3/procpu |
esp32s3 | yes | AkiraConsole Production (ESP32-S3-WROOM-1-N16R8) |
esp32s3_devkitm_esp32s3_procpu |
— | esp32s3_devkitm/esp32s3/procpu |
esp32s3 | yes | ESP32-S3 DevKitM |
esp32s3_super_mini_esp32s3_procpu |
esp32s3_super_mini |
esp32s3_super_mini/esp32s3/procpu |
esp32s3 | yes | ESP32-S3 Super Mini (4 MB flash, 2 MB quad PSRAM) |
esp32_devkitc_procpu |
— | esp32_devkitc/esp32/procpu |
esp32 | yes | ESP32 DevKitC |
esp32c3_devkitm |
— | esp32c3_devkitm |
esp32c3 | yes | ESP32-C3 DevKitM (RISC-V) |
esp32c6_devkitc_esp32c6_hpcore |
— | esp32c6_devkitc/esp32c6/hpcore |
esp32c6 | no | ESP32-C6 DevKitC (RISC-V HP core) |
esp32h2_devkitm_esp32h2 |
— | esp32h2_devkitm/esp32h2 |
esp32h2 | no | ESP32-H2 DevKitM (RISC-V) |
xiao_esp32c6_esp32c6_hpcore |
— | xiao_esp32c6/esp32c6/hpcore |
esp32c6 | no | Seeed XIAO ESP32-C6 (4 MB flash) |
nrf54l15dk_nrf54l15_cpuapp |
— | nrf54l15dk/nrf54l15/cpuapp |
nrf54l15 | yes | Nordic nRF54L15 DK |
b_u585i_iot02a |
— | b_u585i_iot02a |
stm32 | yes | STM32U5 IoT Discovery Kit |
nucleo_l476rg |
— | nucleo_l476rg |
stm32 | yes | ST Nucleo L476RG |
steval_stwinbx1 |
— | steval_stwinbx1 |
stm32 | yes | ST STEVAL-STWINBX1 |
nucleo_h743zi |
h743, stm32h7 |
nucleo_h743zi |
stm32h743zi | no | ST Nucleo-H743ZI (Cortex-M7 @ 480 MHz) |
rpi_pico |
pico, rp2040 |
rpi_pico |
rp2040 | no | Raspberry Pi Pico (RP2040) |
rpi_pico2_rp2350a_m33 |
pico2, rp2350 |
rpi_pico2/rp2350a/m33 |
rp2350 | no | Raspberry Pi Pico 2 (RP2350, Cortex-M33) |
boards/template/ is a scaffold for new ports, not a selectable target — see the
Porting Guide.
Quick Selection Guide
For Production Deployment:
- ESP32-S3 — Best all-around choice. Large PSRAM for multiple WASM apps, WiFi + Bluetooth connectivity, USB support.
For BLE-Only Applications:
- nRF54L15 — Power-efficient BLE 5.3, excellent sensor integration, Thread/Zigbee capable.
For Development and Testing:
- Native Simulation — No hardware needed. Quick debugging with GDB. Ideal for algorithm development.
For STM32 Familiarity:
- STM32 Boards — Experimental support. Limited without external PSRAM.
Feature Comparison
| Feature | ESP32-S3 | Native Sim | nRF54L15 | STM32 |
|---|---|---|---|---|
| Max concurrent WASM apps | 2 | 2 | 1–2 | 1 |
| Max app size | 200 KB | Unlimited | 100 KB | 50 KB |
| OTA updates | Yes (WiFi) | No | Yes (BLE) | Partial (UART) |
| Display support | Yes (SPI) | Yes (SDL2) | Yes (SPI) | Yes (SPI) |
| Sensor support | Yes (I2C/SPI) | Simulated | Yes (I2C/SPI) | Yes (I2C/SPI) |
| Power modes | Deep sleep | N/A | Ultra-low power | Low power |
Platform-Specific Guides
- ESP32-S3 Setup Guide — Detailed ESP32-S3 configuration
- ESP32-C3 Setup Guide — RISC-V variant
- Native Simulation Guide — Running on host PC
- nRF54L15 Guide — Nordic platform setup
- STM32 Guide — STM32 experimental support
Getting Started
- Choose your platform from the comparison table above
- Follow the platform-specific setup guide
- Build and flash firmware
- Deploy WASM applications
Adding New Platforms
AkiraOS can be ported to any Zephyr-supported board. Requirements:
- Zephyr RTOS support
- Minimum 256 KB RAM
- 2 MB flash for firmware
- Optional: PSRAM for multiple concurrent apps
Related Documentation
- Installation Guide — Environment setup
- Architecture Overview — System design
- Hardware — Custom hardware designs
Last updated: 2026-09-14 (AkiraOS v1.6.5)