Customer request
The customer needed an application layer typical of a micro-ROS-class gateway — command/status exchange, peripheral coordination and diagnostics — but also required standard Linux capabilities: SSH service access, persistent logs, field configuration and maintainable software updates. The new compute layer had to fit the current circular board geometry, remain cost-aware, and keep the real-time inertial-control electronics unchanged.
Target platform
Engineering response
We defined a custom circular compute board around the NXP i.MX93 application processor. The i.MX93 provides Cortex-A55 Linux application processing together with a Cortex-M33 subsystem and native interfaces suitable for industrial control integration, including CAN FD. The board is treated as another layer of the product stack rather than as an external computer.
The software baseline combines the NXP boot/kernel support for i.MX93 with an Alpine Linux aarch64 root filesystem. The critical userspace is intentionally small: OpenRC, the product application, SocketCAN/libgpiod integration, logging, OpenSSH and the update service. Non-critical services are kept out of the application-ready boot path.
The Linux workload is supervisory. Safety timing, inertial sampling and deterministic actuation do not depend on Linux scheduler latency.
Why Linux instead of another MCU?
Architecture and component interaction
- BootStart only the minimum services required for product readiness.
- ConfigureBring up CAN filters, GPIO roles and health supervision.
- ObserveCollect MCU, sensor and peripheral state.
- CommandTranslate application requests into CAN/GPIO operations.
- RecordPersist faults, events and relevant diagnostic context.
- ServiceExpose controlled SSH/debug/update paths without entering the real-time loop.
Fast boot and field service
Fast startup was treated as a system requirement. The boot chain is minimized around the actual board: U-Boot delay removed, device tree reduced to used hardware, console output kept out of the critical path, network configuration made deterministic, and the application service started before non-essential maintenance services.
Diagnostics and update path
Custom compute integration
Circular i.MX93 board integrated into the existing mechanical stack, with the memory, PMIC and interfaces required by the product.
Alpine-based Linux stack
Lean aarch64 userspace with NXP BSP boot/kernel support, OpenRC startup and a deliberately small runtime package set.
Remote diagnostics
Key-based SSH plus service UART; can-utils, libgpiod tools, gdbserver, strace, tcpdump and kernel logs available for engineering builds.
Maintainable update path
Versioned release bundle, integrity verification, inactive eMMC system slot and rollback strategy designed into the field-maintenance flow.
Result
Linux capability inside the product stack — not beside it.
The resulting architecture adds a maintainable Linux application layer without replacing deterministic embedded control and without attaching a separate SBC. The customer gains standard Linux serviceability, richer diagnostics and a controlled update path while the inertial-control electronics preserve their real-time responsibilities and physical packaging.
