Say for example, you are working on your industrial application using the i.MX RT1010 MCU and have everything designed out. You are using two UARTs for sensor interfaces, one UART for camera, and the fourth UART will be used for development and future debug. Then, your product marketer comes by and asks you to add Bluetooth to the product.
What can you do? The i.MX RT1010 only supports 4 UARTs. Do you move to an i.MX RT1050 MCU since it has 8 UARTs? Do you add another external UART to your design?
Don’t fret! FlexIO to the rescue!
NXP’s FlexIO is capable of supporting a wide range of protocols including, but not limited to: UART, I2C, SPI, I2S, camera interface, display interface, PWM waveform generation, etc. Hens the ‘flex’ name. The module can remain functional when the chip is in a low power mode provided the clock it is using remains active. So, you can use the FlexIO to support that new Bluetooth requirement from marketing.
It is easy to remember that it is the flexibility that make this FlexIO peripheral so great. The i.MX RT1010 MCU only has one FlexIO port, but other devices like i.MX RT1060 MCU contain upward of three. And the FlexIO module has a long history in the NXP MCU portfolio. Popular product series like S32K and Kinetis also use the same FlexIO IP. Hackster.io even ran a contest on FlexIO several years ago. See the results here. What are you waiting for? Flex away.