Supported Hardware
Ioto is highly portable and runs on a wide variety of operating systems, environment and CPU architectures.
Ioto has been ported to:
- ESP32
- FreeBSD
- FreeRTOS
- Linux
- Mac OS X
- Quadros
- VxWorks
- Windows on WSL
on the following CPU architectures:
- arm
- arm64
- mips
- mips64
- ppc
- ppc64
- riscv
- riscv64
- tidsp
- sh
- x86
- x64 *xtensa.
Ioto has also been ported by customers to many other environments including:
- QNX
- Quadros
When porting Ioto to a new environment, Ioto generally requires:
- Flash code storage for ~300K
- Flash file system for embedded database and configuration
- 1-2MB RAM on a 32-bit system that is cloud connected
- Network connection
The code can be compiled to include only the required components. The size of the flash file system is determined by the size of your device data. The configuration files are typically < 25K.
The RAM requirements are dominated by the TLS package. A typically cloud-networked device will utilize TLS for security and will require 1-2MB of RAM.
Supported CPU Architectures
ARM Cortex-A7
Raspberry Pi 2 Model B (Rev 1.1)
Manufacturers: Broadcom BCM2836
32-bit, quad-core Cortex-A7, commonly used in lower-power applications.
ARM Cortex-A53
Raspberry Pi 3 Model B, Model B+, Raspberry Pi 2 Model B (Rev 1.2) 64-bit, quad-core Cortex-A53, used in the more powerful, power-efficient Pi models.
Manufacturers: Broadcom BCM2837
Raspberry Pi 3 Model A+. 64-bit, quad-core Cortex-A53, similar to the BCM2837 with slight differences in power management and packaging.
Manufacturers: Broadcom BCM2710A1
ARM Cortex-A72
Raspberry Pi 4 Model B, Raspberry Pi 400 64-bit, quad-core Cortex-A72, providing substantial performance improvements, capable of running full desktop environments.
Manufacturers: Broadcom BCM2711
ARM Cortex-A76
Raspberry Pi 5. 64-bit, quad-core Cortex-A76 paired with quad Cortex-A55 cores for big.LITTLE architecture, offering even higher performance with modern architecture.
Manufactuers: Broadcom BCM2712
ARM Cortex-A15
Raspberry Pi 1 Model A, Model A+, Model B, Zero, Zero W 32-bit, single-core ARM11, based on the older ARMv6 architecture, making it compatible with lightweight applications.
Manufacturer: Broadcom BCM2835 (ARM11)
ARM Cortex-M Series (M0, M0+, M1, M3, M4, M7, M23, M33, M35P)
Manufacturers: STMicroelectronics, NXP, Microchip (Atmel), Texas Instruments, Renesas, Cypress (Infineon), Silicon Labs, Nordic Semiconductor, GigaDevice, Dialog Semiconductor, Maxim Integrated, Particle, Arduino, Adafruit, SparkFun
ARM Cortex-R Series (R4, R5, R7, R8)
Manufacturers: NXP, TI (Automotive/Industrial applications)
ARM7 (ARM7TDMI)
Xtensa LX6/LX7 (32-bit)
Manufacturers: Espressif Systems (ESP32 series: ESP32, ESP32-S2, ESP32-S3, ESP-C)
AVR32 UC3
Manufacturers: Microchip (Atmel)
ColdFire V2, V3, V4
Manufacturers: NXP (legacy and industrial systems)
RISC-V 32-bit
Manufacturers: SiFive, GigaDevice, Espressif (ESP32-C3)
MIPS32 (32-bit)
Manufacturers: Microchip (PIC32 series)
Renesas RX (RX100, RX200, RX600)
Manufacturers: Renesas Electronics
Intel x86 (32-bit, 64-bit)
Manufacturers: Various