I.MX

The i.MX range is a family of Freescale Semiconductor (now part of NXP) proprietary microcontrollers for multimedia applications based on the ARM architecture and focused on low-power consumption. The i.MX application processors are SoCs (System-on-Chip) that integrate many processing units into one die, like the main CPU, a video processing unit, and a graphics processing unit for instance. The i.MX products are qualified for automotive, industrial, and consumer markets. Most of them are guaranteed for a production lifetime of 10 to 15 years. Devices that use i.MX processors include Ford Sync, the Amazon Kindle and Kobo eReader series of e-readers until 2021, Zune (except for Zune HD), Sony Reader, Onyx Boox readers/tablets, SolidRun SOM's (including CuBox), Purism's Librem 5, some Logitech Harmony remote controls and Squeezebox radio and some Toshiba Gigabeat MP4 players. The i.MX range was previously known as the "DragonBall MX" family, the fifth generation of DragonBall microcontrollers. i.MX originally stood for "innovative Multimedia eXtension".

The i.MX products consist of hardware (processors and development boards) and software optimized for the processor.

i.MX 1 series


Launched in 2001/2002, the i.MX / MX-1 series is based on the ARM920T architecture.


 * i.MX1 = 200 MHz ARM920T
 * i.MXS = 100 MHz ARM920T
 * i.MXL = 150-200 MHz ARM920T

i.MX 2 series
The i.MX2x series is a family of processors based on the ARM9 architecture (ARM926EJ-S), designed in a 90 nm process.

i.MX 21 family
The i.MX21 family is designed for low power handheld devices. It was launched in 2003.


 * i.MX21 = 266 MHz ARM9 platform + CIF VPU (decode/encode) + security
 * i.MX21S = 266 MHz ARM9 platform + security

i.MX 27 family
The i.MX27 family is designed for videotelephony and video surveillance. It was launched in 2007.


 * i.MX27 = 400 MHz ARM9 platform + D1 VPU (decode/encode) + IPU + security
 * i.MX27L = 400 MHz ARM9 platform + IPU + security

i.MX 25 family
The i.MX25 family was launched in 2009. It especially integrates key security features in hardware. The high-end member of the family, i.MX258, integrates a 400 MHz ARM9 CPU platform + LCDC (LCD controller) + security block and supports mDDR-SDRAM at 133 MHz.


 * i.MX258 (industrial) = 400 MHz ARM9 platform + LCDC (with touch screen support) + security
 * i.MX257 (consumer/industrial) = 400 MHz ARM9 platform + LCDC (with touch screen support)
 * i.MX253 (consumer/industrial) = 400 MHz ARM9 platform + LCDC + security (no touch)
 * i.MX255 (automotive) = 400 MHz ARM9 platform + LCDC (with touch screen support) + security
 * i.MX251 (automotive) = 400 MHz ARM9 platform + security

i.MX 23 family
The i.MX233 processor (formerly known as SigmaTel STMP3780 of the STMP37xx family), launched in 2009, integrates a Power Management Unit (PMU) and a stereo audio codec within the silicon, thus removing the need for external power management chip and audio codec chip.


 * i.MX233 (consumer) = 454 MHz ARM9 platform + LCD Controller (with touch screen support) + Pixel Pipeline + security + Power Management Unit + audio codec. Provided in 128LQFP or 169 BGA packages.

i.MX 28 family
The i.MX28 family was launched in 2010. It integrates key security features in hardware, an ADC, and the power management unit. It supports mDDR, LV-DDR2, and DDR2-SDRAM memory at 200 MHz.


 * i.MX287 (industrial) = 454 MHz ARM9 platform + LCDC (with touch screen support) + security + power management + dual CAN interface + dual Ethernet + L2 Switch
 * i.MX286 (industrial) = 454 MHz ARM9 platform + LCDC (with touch screen support) + security + power management + dual CAN interface + single Ethernet
 * i.MX285 (automotive) = 454 MHz ARM9 platform + LCDC (with touch screen support) + security + power management + dual CAN interface
 * i.MX283 (consumer/industrial) = 454 MHz ARM9 platform + LCDC (with touch screen support) + security + power management + single Ethernet
 * i.MX281 (automotive) = 454 MHz ARM9 platform + security + power management + dual CAN interface + single Ethernet
 * i.MX280 (consumer/industrial) = 454 MHz ARM9 platform + security + power management + single Ethernet

i.MX 3 series
The i.MX3x series is a family of processors based on the ARM11 architecture (ARM1136J(F)-S mainly), designed in a 90 nm process.

i.MX 31 family
The i.MX31 was launched in 2005. It integrates a 532 MHz ARM1136JF-S CPU platform (with vector floating point unit, L1 caches and 128KB L2 caches) + Video Processing Unit (VPU) + 3D GPU (OpenGL ES 1.1) + IPU + security block. It supports mDDR-SDRAM at 133 MHz. The 3D and VPU acceleration is provided by the PowerVR MBX Lite.


 * i.MX31 (consumer/industrial/automotive) = 532 MHz ARM1136 platform + VPU + 3D GPU + IPU + security
 * i.MX31L (consumer/industrial/automotive) = 532 MHz ARM1136 platform + VPU + IPU + security

i.MX 37 family
The i.MX37 processor is designed for portable media players. It was launched in 2008.

It supports mDDR-SDRAM at 133 MHz.
 * i.MX 37 (consumer) = 532 MHz ARM1176 CPU platform + D1 VPU (multiformat D1 decode) + IPU + security block

i.MX 35 family
The i.MX35 family was launched in 2009 and is the replacement for the i.MX31 series. The high-end member of the family, i.MX357, integrates a 532 MHz ARM1136J(F)-S CPU platform (with Vector Floating Point unit, L1 caches and 128KB L2 cache), a 2.5D GPU (OpenVG 1.1), a IPU, and a security block. It supports DDR2-SDRAM at 133 MHz.


 * i.MX357 (consumer/industrial) = 532 MHz ARM1136J(F)-S CPU platform + 2.5D GPU + IPU + security
 * i.MX353 (consumer/industrial) = 532 MHz ARM1136J(F)-S CPU platform + IPU + security
 * i.MX356 (automotive) = 532 MHz ARM1136J(F)-S CPU platform + 2.5D GPU + IPU + security
 * i.MX355 (automotive) = 532 MHz ARM1136J(F)-S CPU platform + IPU + security
 * i.MX351 (automotive) = i.MX355 with no LCD interface

i.MX 5 series
The i.MX5x series is based on the ARM Cortex A8 core. It consists of two families: the i.MX51 family (high-end multimedia devices like smartbook or automotive infotainment) and the i.MX50 family (eReaders). It is designed in a 65 nm process. Freescale licensed ATI's Imageon technology in 2007, and some i.MX5 models include an Imageon Z460 GPU.

i.MX 51 family
The high-end member of the family, i.MX515, integrates an 800 MHz ARM Cortex A8 CPU platform (with NEON co-processor, Vector Floating Point Unit, L1 caches and 256KB L2 cache) + multi-format HD 720p decode / D1 encode hardware video codecs (VPU, Video Processing Unit) + Imageon Z430 3D GPU (OpenGL ES 2.0) + 2.5D GPU (OpenVG 1.1) + IPU + security block. It especially supports DDR2 SDRAM at 200 MHz. The imx51 family was launched in 2009.


 * i.MX515 (consumer/industrial) = 800 MHz ARM Cortex A8 platform (600 MHz for industrial) + HD VPU + 3D GPU + 2.5D GPU + IPU + security
 * i.MX513 (consumer/industrial) = 800 MHz ARM Cortex A8 platform (600 MHz for industrial) + HD VPU + IPU
 * i.MX512 (consumer/industrial) = 800 MHz ARM Cortex A8 platform (600 MHz for industrial) + IPU
 * i.MX516 (automotive) = 600 MHz ARM Cortex A8 platform + HD VPU + 3D GPU + 2.5D GPU + IPU + security block
 * i.MX514 (automotive) = 600 MHz ARM Cortex A8 platform + 3D GPU + 2.5D GPU + IPU + security block

i.MX 50 family
The i.MX508 processor is the result of Freescale collaboration with E Ink. It is dedicated for eReaders. Launched in 2010, it integrates the E Ink display controller within the silicon to save both BOM cost and space on the PCB. It especially supports LP-DDR2 SDRAM at 400 MHz.


 * i.MX507 (consumer) = ARM Cortex A8 platform + E Ink display controller. Builds on the i.MX508.
 * i.MX508 (consumer) = 800 MHz ARM Cortex A8 platform + 2.5D GPU + Pixel Pipeline + E Ink display controller.

i.MX 53 family
i.MX535 was announced in June 2010. Shipped since the first quarter of 2011.


 * i.MX537 (industrial) = 800 MHz ARM Cortex A8 platform + Full HD VPU (1080p decode) + 3D GPU + 2.5D GPU + IPU + security + IEEE1588
 * i.MX535 (consumer) = 1 GHz ARM Cortex A8 platform + Full HD VPU (1080p decode) + 3D GPU + 2.5D GPU + IPU + security
 * i.MX536 (automotive) = 800 MHz ARM Cortex A8 platform + Full HD VPU (1080p decode) + 3D GPU + 2.5D GPU + IPU + security
 * i.MX534 (automotive) = 800 MHz ARM Cortex A8 platform + 3D GPU + 2.5D GPU + IPU + security

i.MX 6 series
The i.MX 6 series are based on the ARM Cortex A9 solo, dual or quad cores (in some cases Cortex A7) and typically comes with one or more Vivante GPUs. It is designed in the 40 nm process. i.MX 6 Solo, Dual and Quad were announced in January 2011, during Consumer Electronics Show in Las Vegas.


 * "Plus" versions with 1.2 GHz are currently only available via special request to NXP.
 * Vivante GC2000 achieves ~19 GFLOPS for a 594 MHz shader clock and ~23 GFLOPS for a 720 MHz shader clock.

i.MX 7 series
The i.MX 7 series is based on the low-power ARM Cortex A7 CPU core with a secondary ARM Cortex M4 real-time co-processor. It is designed 28 nm fully depleted silicon on insulator (FDSOI) process. Only low-powered single and dual-core models, designed for IoT applications, have been released. i.MX 7Solo and i.MX 7Dual were announced in September 2013.

i.MX 8 series
There are four major different series of the i.MX 8:


 * i.MX 8 series
 * i.MX 8M series,
 * i.MX 8ULP series,
 * i.MX 8X series.

Each series differs significantly from each other and are not pin compatible. Within each series some versions are pin compatible.

Each series also has a suffix such as Quad, Dual, Plus, Max or a combination thereof, for example: QuadMax or DualPlus. The i.MX 8 series has many variants but it is not clear how the name corresponds to a feature set. In previous CPU series the naming convention clearly corresponds to a function or feature set, but this is not the case with i.MX 8.

The i.MX 8 series was announced in September 2013 and is based on the ARMv8-A 64-bit CPU architecture. According to NXP, the i.MX 8 series is designed for Driver Information Systems (car computers) and applications have been released.

In May 2016 the i.MX 8 became available as a multisensory enablement kit (MEK) based on i.MX 8. Slides from NXP FTF found on the web indicated an initial total of 5 variants (with a main level of categorization into "Dual" and "Quad") with varying the CPU and GPU capabilities. The CPU was suggested to include varying counts of Cortex-A72, Cortex-A53 and Cortex-M4, while the GPU is either 1 or 2 units of the Vivante GC7000VX. Other publications supported this general image, some even including photos of an evaluation kit that is named "Multisensory Enablement Kit" (MEK) that got later promoted as a development support product by NXP.

The i.MX 8 was announced Q1 2017, based around 3 products. Two variants include four Cortex-A53. All versions includes one or two Cortex-A72 CPU cores and all versions includes two Cortex-M4F CPU cores.

All i.MX 8 SoCs include Vivante GC7000 Series GPUs. The QuadPlus is using GC7000Lite cores, while the 'QuadMax' includes two full GC7000 GPUs.

Standard Key Features: Advanced Security, Ethernet with AVB, USB 3.0 with PHY, MMC/SDIO, UART, SPI, I²C, I²S, Timers, Secure RTC, Media Processor Engine (Neon™), Integrated Power Management. * pre-production

i.MX 8M
The i.MX 8M series were announced on January 4 at CES 2017. Main features:


 * Up to four 1.5 GHz ARM Cortex-A53 processors
 * Cortex-M4F for real-time processing
 * LPDDR4, DDR4 and DDR3(L) memory support
 * Two USB 3.0 interfaces with PHY and Type-C support
 * Two PCIe interfaces (1-lane each) with L1 substates for fast wakeup and low power
 * HDMI 2.0a and MIPI-DSI (4-lane) display interfaces • Up to two MIPI-CSI2 (4-lane) camera interfaces
 * Gigabit Ethernet MAC with Audio Video Bridging (AVB) and EEE capability
 * 4K UltraHD resolution and 10-bit High Dynamic Range (HDR) in H.264, H.265 and VP9 support
 * Up to 4Kp60 resolution on the HDMI 2.0a output and 1080p60 resolution on the MIPI-DSI (4-lanes) interface
 * OpenGL ES 3.1, OpenCL 1.2, OpenGL 3.0, OpenVG and Vulkan support

i.MX 8M Mini
The i.MX 8M Mini is NXP's first embedded multi-core heterogeneous applications processors built using 14LPC FinFET process technology.

At the heart is a scalable core complex of up to four Arm Cortex-A53 cores running up to 2 GHz plus Cortex-M4 based real-time processing domain at 400+MHz. i.MX 8M Mini core options are used for consumer, audio, industrial, machine learning training and inferencing across a range of cloud providers.

Features
 * Heterogeneous Multi-core Processing Architecture
 * Quad-core Arm Cortex-A53 core up to 2 GHz
 * Cortex-M4 at speeds of 400+MHz
 * 1080p video encode and decode
 * 2D and 3D graphics
 * Display and camera interfaces
 * Multi-channel audio and digital microphone inputs
 * Connectivity (I2C, SAI, UART, SPI, SDIO, USB, PCIe, Gigabit Ethernet)
 * Low-power and standard DDR memory support
 * Multiple pin-compatible product offerings
 * Consumer and Industrial

i.MX 8X
The i.MX 8X series were announced on March 14, 2017. Main features:


 * Up to four 1.2 GHz Cortex-A35 processors
 * Cortex-M4F for real-time processing
 * Latest cryptography standards (AES, flashless SHE, elliptical curve cryptography, key storage)
 * ECC memory
 * Tensilica HiFi 4 DSP for audio pre- and post- processing, key word detection and speech recognition
 * 28 nm FD-SOI process

i.MX RT series
As of August 2020, this family consists of Cortex-M7 devices (400–600 MHz with up to 2 MB of SRAM) and Cortex-M33 devices (200–300 MHz with up to 5 MB of SRAM).

This series uses large amounts of SRAM instead of having flash memory.

The series was introduced at up to 600 MHz on a 40 nm node, which was later upgraded to 1 GHz on a 28 nm node.

The inaugural device from this series was the i.MX RT1050, introduced in the fall of 2017. NXP supports the open source PyTorch Glow neural-network compiler in its eIQ machine learning software. This especially targets IoT applications.

As of August 2020, the i.MX RT1170 is in preproduction status. It is slated for 1 GHz performance on the Cortex-M7, and provides an additional Cortex-M4 co-processor. For peripherals, the RT1170 provides two Gb Ethernet ports, not found elsewhere in this product family. The part is fabricated in 28 nm FD-SOI. The processors run in separate clock and power domains, otherwise everything is shared between the two cores except for the private L1 caches.

Related series
A very similar series designed for the automotive market currently using ARM Cortex-A53 and/or ARM Cortex-M4 cores was presented in mid-2015 using the prefix S32.

Software support
Freescale proposed a layered approach of software with selection of software components optimized for its chips. The i.MX board support packages (BSP), common across all i.MX nodes, consists of kernel optimization, hardware drivers, and unit tests. The company also provides multimedia codecs (ARM and Video processing unit accelerated). i.MX also includes middleware with reuse of open source frameworks like multimedia framework plugins, power management, security/DRM, or graphics (OpenGL/OpenVG).

Linux
Freescale i.MX development kits include a Linux software stack with a GNOME Mobile environment.

On the i.MX51 family, the reference user interface is Ubuntu. The last Ubuntu version supported is 10.04.1 (still available on mirrors). Ubuntu dropped the "official" i.MX51 family support since version 10.10. Since Ubuntu 11.10 support for the i.MX53 Quickstart board is available as a preinstalled desktop or server SD card.

The OpenEmbedded Linux distribution supports several i.MX platforms.

Commercial Linux support is available from companies like Lanedo, TimeSys, MontaVista, Wind River Systems and Mentor Graphics.

FreeBSD
Support for the Freescale i.MX51 was added to FreeBSD on 2013-03-20. Support for other members of the i.MX5 family has been added since.

Support for the Freescale i.MX 6 family was added to FreeBSD on 2013-10-31.

NetBSD
NetBSD 6.0 comes with support for the Freescale i.MX51. In version 7.0, support for i.MX 6 based boards was added.

OpenBSD
Support for the FreeScale's i.MX 6 series SoC was added to OpenBSD's head on the 2013-09-06.

RISC OS
i.MX support in RISC OS has been available since 2015.

Windows CE
Freescale i.MX development kits include WinCE.

Android
In February 2010, Freescale launched an Android platform for the i.MX5x family.

Chromium
In early 2010 Freescale demoed ChromiumOS running on the i.MX515 processor. The company has not disclosed any further plans about Chromium or Chrome.

Real-time OS
Freescale has a range of partners providing real-time operating systems and software running on the i.MX processors, such as Trinity Convergence, Adeneo, Thundersoft, Intrinsyc, Wind River Systems, QNX, Green Hills, SYSGO and Mentor Graphics.

wolfSSL
wolfSSL includes support for i.MX6 following all versions after (and including) wolfSSL v3.14.0. wolfSSL also provides additional support for using the Cryptographic Assistance and Assurance Module (CAAM) on the i.MX6.

Plan 9
9front runs on MNT Reform (i.MX8) since mid-2022.

Reference designs
In January 2010, Freescale announced the first platform of its Smart Application Blueprint for Rapid Engineering (SABRE) series. It is a smartbook (tablet form factor with 7" touch screen resistive), running on i.MX515.

In February 2010, Freescale demoed the SABRE platform for eReaders, based on i.MX515.

Many more reference boards are mentioned and supported through the Freescale i.MX community website. These include:
 * i.MX23EVK
 * i.MX25PDK
 * i.MX28EVK
 * MX37PDK
 * i.MX35PDK
 * i.MX51EVK
 * i.MX53QSB (LOCO)