OTA-Pulse manages two kinds of device from the same organization and the same
account. They share the fleet model, the console and your team’s roles — but
they are not the same product, and some capabilities exist on only one of them.
Embedded Linux
Yocto and Buildroot boards on ARM64, ARMv7 or x86_64. A Go agent installs
signed root filesystem images into an inactive A/B partition. Stable.
Microcontrollers
ESP-IDF and Zephyr targets on Cortex-M, Xtensa and RISC-V. A heap-free C SDK
installs signed MCUboot images into an inactive bank. Beta.
Capability matrix
Capability
Embedded Linux
MCU (beta)
Over-the-Air Updates
✓
✓
Fleet Management
✓
✓
Phased Rollouts1
✓
~
Cryptographic Signing2
✓
✓
Automatic Rollback3
✓
✓
Device Monitoring4
✓
~
Offline Updates5
~
✓
Coredump Collection6
✓
✗
Remote SSH
✓
✗
Role-Based Access
✓
✓
Audit Logging
✓
✓
✓ supported · ~ partial, see note · ✗ not available
On MCU, campaigns advance to the next phase on their own once a phase succeeds, but that automatic advance is still in beta.
On MCU, what verifies the image depends on the target: MCUboot is authoritative at boot on Zephyr (Nordic/STM32), while ESP-IDF native OTA has no bootloader check unless Secure Boot v2 is enabled. The SDK always checks the image hash, and its Ed25519 signature check is a build option.
Linux uses A/B root filesystem partitions; MCU uses MCUboot dual-bank swap (or native ESP-IDF OTA) with auto-revert when the new image never confirms.
On Linux this is the socmond daemon. On MCU, telemetry is an optional SDK module that is off by default and buffers in RAM, so readings can be lost across a device reboot.
Both platforms can install without a server. On Linux you put the artifact on the device yourself (USB stick or local file) and run the agent's install command — there is no wireless or serial delivery path. MCU carries its own delivery transport: SMP over BLE or UART/USB, driven by the Pulse Tool field utility, so a device with no IP stack can be updated in place. A CAN and CAN-FD data plane also exists but is experimental and off by default.
Crash capture is embedded-Linux only. MCU devices have no equivalent — there is no crash reporting on MCU today.
Picking your integration guide
Linux — YoctoThe meta-otapulse layer. The recommended production path.
Linux — BuildrootThe buildroot-otapulse package for Buildroot-based images.
MCU — ESP32ESP-IDF component, native OTA or MCUboot.
MCU — ZephyrZephyr module for Nordic and STM32 targets, with MCUboot.
Things that are Linux-only
These are architectural, not roadmap items — they depend on a Linux userspace
and will not be coming to microcontroller targets:
Remote SSH — an audited, recorded interactive shell over a reverse tunnel.
Coredump collection — there is no crash-reporting equivalent on MCU today.
socmond monitoring — MCU telemetry is a separate, optional SDK module.
Offline delivery — both platforms can install without reaching a server,
but they get there differently. On Linux you place the artifact on the device
yourself and run soc-ota-agent install. On MCU the SDK carries its own
transport: SMP over BLE or UART/USB, driven by the Pulse Tool field utility,
so a device with no IP stack can be updated in place. A CAN and CAN-FD data
plane also exists, but is experimental and off by default.
Billing
Embedded Linux fleets are covered by your subscription tier. Microcontroller
fleets are billed separately, per active device, as an add-on to any tier — it
is provisioned by our team rather than through self-service checkout. See
pricing and limits.