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.Many devices use i.MX processors, such as Ford Sync, Kobo eReader, Amazon Kindle, 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, 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 CMOS 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 especially integrates key security features in hardware, an ADC and the power management unit. It supports mDDR, LV-DDR2, DDR2-SDRAM 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 CMOS 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.

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

i.MX 35 family
The i.MX35 family is the replacement of i.MX31. It was launched in 2009. 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) + 2.5D GPU (OpenVG 1.1) + IPU + 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 comprises 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 CMOS 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 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 CMOS 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. So far 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. NXP have written that 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 8 
Main features
 Fast multi-OS platform deployment via advanced full-chip hardware virtualization and domain protection
 Deploy rich, fully independent graphics content across 4x HD screens or 1x 4K screen
 Ensure all displays are always-on via SafeAssure® Fail-over capable Display Controllers
 Incorporate Vision and Speech Recognition interactivity via a powerful vision pipeline and audio processing subsystem
 Rapidly deploy multiple products by utilizing pin & power compatible packages and software friendly copy-exact IP blocks
 Android™*, Linux®*, FreeRTOS, QNX™*, Green Hills®, Dornerworks* XEN™*
 Automotive AEC-Q100 Grade 3 (-40° to 125 °C Tj), Industrial (-40° to 105 °C Tj), Consumer (-20° to 105 °C Tj)
 Fully supported on NXP's 10 and 15-year Longevity Program

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).

Rather than provide on-chip flash, this series supplies larger amounts of fast SRAM.

Introduced at up to 600 MHz on a 40 nm nodes with plans for 1 GHz on 28 nm.

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
For the automotive market a very similar series currently using ARM Cortex-A53 and/or ARM Cortex-M4 cores got presented in mid-2015 using the prefix S32.

Software support
Freescale proposes 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 2019.

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 Chromium OS 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 solutions 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.

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)

See also
 List of Freescale Microcontrollers
 eBook reader
 Automotive infotainment
 Chumby
 Device tree
 Smartbook
 UDOO

References

External links
 i.MX Applications processor - Product page
  Freescale i.MX community website
 Freescale Public GIT - Linux Kernel and U-Boot.
   Chips&Media's video codec technology used in Freescale’s i.MX 6 series

ARM architecture
Microcontrollers
System on a chip
NXP Semiconductors