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.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.MX 27 family.
The i.MX27 family is designed for videotelephony and video surveillance. It was launched in 2007.
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.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.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.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.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 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.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.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.MX 53 family.
i.MX535 was announced in June 2010. Shipped since the first quarter of 2011.
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.
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:
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.
i.MX 8.
Main features
i.MX 8M.
The i.MX 8M series were announced on January 4 at CES 2017. Main features:
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
i.MX 8X.
The i.MX 8X series were announced on March 14, 2017. Main features:
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: