Skip navigation

i.MX RT

11 posts

Today I conclude my countdown of top reasons to use i.MX RT1010, and I wanted to end the blog series in the same way that it began – by talking about how to get started. It is has been  2 weeks since my first post, so hopefully by now you have found the $10.10 in your couch cushion to order your i.MX RT1010 EVK. Maybe you even already have the EVK on your desk and followed the instructions on the Getting Started webpage which leads you to download the software and tools. But what is MCUXpresso and how much does it cost?

 

MCUXpresso is the holy trinity of software tools. It includes the MCUXpresso SDK along with an IDE and set of Config Tools under one name. It launched in 2017, and I know that team surpassed the 100,000 download mark earlier this year. 

 

MCUXpresso chart

 

The MCUXpresso SDK supports the entire i.MX RT series, as well as other NXP MCU platforms, including LPC and K32 MCUs. It includes a comprehensive suite of drivers supporting the on-chip peripherals, and it also incorporates a number of key middleware and software components from NXP software partners, market-leading open source providers, and NXP software development teams.  If you are already familiar with the MCUXpresso SDK for i.MX RT, then you will be happy to hear that now complete boot configuration is supported and Wi-Fi drivers have been added.

Closely paired with the success of the MCUXpresso SDK are the accompanying development tools – the MCUXpresso IDE and the MCUXpresso Config Tools. These tools have been a key part of the success of the MCUXpresso software and tools suite. The aim of these tools, along with the SDK, is to make you as efficient as you can be.

 

So take the MCUXpresso out for a try and see for yourself just how easy it is to get started.  If you liked the $10.10 price for the EVK, you will love the $0 price for MCUXpresso software and tools. Register and get your own copy today.

 

Links to help:

MCUXpresso webpage

MCUXpresso Community

i.MX RT1010 videos with Alex Glow of Hackster

 

And don’t forget that there is a webinar going on today.  Register here.  For those that can’t attend, I will go back and add the link to the recording once it is available.

 

Listen up everyone. We are winding down the countdown and my blog today is about audio. Many consumer products and embedded devices support various digital audio functions, and more and more engineers are looking for the MCU to support these functions, rather than needing to add a DSP or other dedicated solution.  The good news is that many MCUs now have the capabilities to support these basic audio tasks. But how do you choose an MCU that will give your product the price, performance, and design flexibility you need?

 

Let’s say you are building a docking station or a set of digital speakers or even a thermostat that can play music throughout the home. A high performance, low-cost MCU like the i.MX RT1010 device, can play a big role in this type of design by managing the digital music streams. The audio subsystem of the i.MX RT1010 MCU consists of the following modules: SAI-1, SAI-2, S/PDIF and MQS. And, the performance of the i.MX RT1010 device will allow you to decode common audio formats like MP3/4, AAC, or WMA with plenty of MIPS to spare.

 

One of the more interesting audio features of the i.MX RT1010 MCU is the on-chip Sony/Philips Digital Interface (S/PDIF) module. The S/PDIF module can transmit uncompressed or compressed data and it is an easy way to get stereo or multi-channel audio to the i.MX RT MCU. The i.MX RT1010 S/PDIF module has both a receiver and transmitter. A use case for the S/PDIF interface is to carry compressed digital audio for surround sound.

 

So what’s the message here on audio? You can achieve lossless transmission of CD-quality audio from a small 80LQFP MCU and all for a super low price. Can you believe that?

 

Tomorrow, October 24, NXP’s technical experts will be delivering a 1-hour webinar on i.MX RT and MCUXpresso (this may or may not also be a hint about tomorrow's blog topic).  We would love for you to join us and ask us any question that you are wondering about the i.MX RT1010.  You can register here.  Hope to see you online tomorrow!

So you want to add a display to your product? You look at the i.MX RT series table and see that the i.MX RT1010 device does not have an LCD interface, so you immediately write it off. Not so fast!  Did you know that you can add a display to your i.MX RT1010 design through the I2C module? What’s great about the i.MX RT1010 is that we didn’t skimp on peripherals to hit that $1 price point. Even the pin muxing takes into account maximum usability for a variety of applications. But say you are working on a thermostat application and need the I2C module to connect to a variety of sensors instead. Based on yesterday’s blog, hopefully you immediately think of the FlexIO module. Below is an example block diagram on how the i.MX RT1010 MCU could be used in a thermostat application. The i.MX RT1010 device can connect to your sensors via the I2C, a speaker via I2S, a keypad via the on-chip keyboard I/F, and the LCD display using the FlexIO module. Based on the configuration of the i.MX RT1010 device, I would estimate that your max screen resolution would be about QVGA before you would want to jump to a higher end i.MX RT device.

i.MX RT1010 thermostat block diagram

By offering a rich set of peripherals, the i.MX RT1010 MCU can enable a wide variety of use-cases, including those requiring the use of a simple QVGA LCD display. So you don’t have to be shy about putting it all out on display.

 

 

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.

All engineers – and most anyone – love to make things spin, right? That explains the revenue made on those fidget spinners. The inventor is a genius! OK ok … now back to MCUs … the i.MX RT MCU motor control demos are some of the most highly viewed demos. So what makes the i.MX RT1010 device ideal for motor control applications? Is it the FlexPWM? The ADC? Or just the raw performance of this 500 MHz MCU? The answer – all of the above.  The i.MX RT1010 MCU is an ideal solution for a single motor and here’s why:

  • Arm® Cortex®-M7 core, up to 500 MHz
    • 16 KB L1 instruction cache and 8 KB L1 data cache
    • Up to 128KB on-chip RAM that can be configured as I-TCM and D-TCM or general-purpose on chip RAM
  • FlexPWM  
    • 4 sub-modules with A, B, X PWM outputs in each FlexPWM
    • Separated 16-bit counter for center, edge-aligned, and asymmetrical PWMs for each sub-module
    • Easily configured to work in synchronous mode
    • Multiple output h/w triggers generated per PWM cycle
  • 12-bit ADC with up to 1MS/s sampling rate and 15 input channels selected by h/w or s/w triggers
  • ADC_ETC to share an ADC in a time-division-multiplexing way and to sync trigger between trigger initiator and ADC
  • 32-bit PIT for periodical interrupt generation
  • 2 x 32-bit GPT with 2 input capture Channels and 3 output compare Channels 

 

And let’s not forget about software.  The MCUXpresso SDK for i.MX RT products includes the motor control libraries (for BLDC, PSMS, and ACIM).  SDK examples are also included and are based on these libraries.

 

Check out this demo video here.

On what could be perceived as a low-cost MCU, it is nice to see that security was not compromised on the i.MX RT1010 device. In fact, the i.MX RT1010 MCU has the same security block that exists on many of the other i.MX RT products. Features like:

  • High assurance boot
  • Secure JTAG controller
  • Secure non-volatile storage
  • True random number generator
  • Advanced encryption standard
  • Cryptography accelerator
  • Cyclic redundancy check
  • Flash access control

 

One great feature available in all i.MX RT crossover MCUs is the integration of hardware protected keys. In the factory, we create the fuse material that gets placed in the MCU during manufacturing that enables security. When a customer receives the device, they cannot even use the key material in the device until they implement a secure boot. Once they do, they then have access to the OTPMK (One time Programmable Master Key). This hardware protected key then has a secret bus that goes to the AES engine and can be used to encrypt data. This multi-step method adds a new level of security for customers.

Make sure that you are implementing secure designs. Below is a great resource for you to learn more about the i.MX RT MCU security:

White Paper: Achieving End-To-End Security in Crossover Processors

For today's blog, I am going to keep it short and direct it to the PCB layout engineers out there.  The i.MX RT1010 MCU designers want you to know that the utmost care was taken when designing the i.MX RT1010 device. Even if your company typically prioritizes product requirements over package requirements, NXP has you covered. During our package development, we do a number of pin-out iterations and a fanout exercise to make sure that the i.MX RT LQFP packages are easily laid out for 2-layer through-hole PCBs. We make sure that your PCB design will not require buried or blind vias, that you will be able to support at least 4 mil PCB traces and spaces on your board and that you will be able to avoid all high-density PCB design rules. How do we do that? By designing our own EVK boards in-house and then passing along our knowledge. It’s not every day that you can find a 500 MHz device in a small, easy-to-lay-out 80LQFP package. i.MX RT1010 is the MCU where both your product requirements and your package requirements meet.

We make the schematics and design files available for download on the EVK page here: www.nxp.com/imxrt1010evk.

 

Continuing with my countdown of top reasons to use i.MX RT1010 crossover MCU, today I want to talk about performance.  The performance of the i.MX RT series really pushes this portfolio to a classification of its own – crossover MCUs. Engineers can now enjoy the level of performance historically seen in the processor space, now in the MCU world – providing tremendous familiarity and usability for engineers. But just ask the rabbit from the Tortoise and the Hare fable, sometimes it is not enough just to be fast. You have to be smart too. Within the i.MX RT1010 family, several smart features are coupled together with the 500 MHz Arm® Cortex®-M7 core. These features include:

  • 16 KB L1 instruction cache
  • 8 KB L1 data cache
  • Full featured Floating Point Unit (FPU) with support of the VFPv5 architecture
  • Support the Armv7-M Thumb instruction set, defined in the ARM v7-M architecture
  • Integrated MPU, up to 16 individual protection regions
  • Up to 128 KB I-TCM and D-TCM in total

 

While all of these features are important to designers, the large amount of tightly-coupled memory (TCM) is one of the most important and is a hidden hero of MCU performance.  TCM is a small, dedicated memory region that, as the name implies, is very close to the CPU. The CPU can access the TCM every single cycle, and TCM provides the highest possible theoretical performance.

For MCUs with only a small amount of TCM, the data must be stored in embedded flash or in an external NOR or NAND flash instead. Therefore, for every access that the CPU core has to make to a non-TCM, there is a significant degradation in the effective performance as the CPU must wait for several cycles for the data to arrive.

Conversely, i.MX RT crossover MCUs with high density of on-chip TCM delivers significantly higher net effective performance than what is possible with other traditional MCUs. So, not only will you benefit from high 500 MHz performance, you will benefit from efficient, smart performance as well.

Want to learn more about i.MX RT Series, read this white paper.  

Continuing with my 10-day countdown to top reasons to consider the i.MX RT1010, today we look at reason #9 -the unlimited memory capabilities of the i.MX RT1010.

 

Looking at the i.MX RT1010 crossover MCU, one might notice that there is no on-chip Flash memory. Where do you boot from? Where do you store your code? And is it safe? What about latency issues? The i.MX RT1010 MCU was designed to ensure maximum memory flexibility, while not sacrificing performance or security.

The truth is that an MCU with integrated flash memory is limited with regards to scalability. If the system needs more memory than what is provided internal to the controller, then external memory must then be added at that point or an entirely new MCU must be selected. And often, external memory (such as EEPROM) is added anyway to store data for other uses in the system. While a flash-based MCU might have been chosen with the best intentions in mind, it can quickly end up pretty limiting and technically challenging.

 

But is using external flash secure? First let’s look at the memory controller on the i.MX RT1010 MCU - the FlexSPI module.  The FlexSPI works with Serial NOR or Serial NAND devices. The capabilities of the i.MX RT FlexSPI memory controller enhance eXucute in Place (XiP) operation.

 

The eXecute in Place, or XiP, is a capability that allows a processor to execute code directly from external flash memory. Many embedded applications require connectivity stacks, audio processing, and vision; and the amount of executable code for these functions has grown to substantial sizes. When considering these application requirements together for one embedded system, the capability of XiP with external flash is an essential enabler as it allows nearly limitless data space for the embedded system. Designers do not have to face issues with over buying for a larger memory size to protect against software growth. The choice of external memory can be made for what is needed for the embedded design. This ensures that every penny spent on the processor components in the system goes towards relevant features for the end product. This architecture reduces both risk and design cycle times as the XiP system architecture can be scaled with only a change to the serial NOR flash in the bill of materials for the circuit boards. In addition, XiP brings an advantage in terms of power and fast wakeup from sleep mode.

 

And having code placed externally is not risky in the case of the i.MX RT1010 MCUs because it has hardware protected keys that can be used to encrypt the code from external memory before it moves into the MCU. Furthermore, the MCUXpresso SDK has examples pre-built to make it even easier to get started.

 

Check out the Memory Expansion white paper here.

 

i.MX RT1010 EVK

As explained in my blog yesterday, for the next 10 days, I will countdown 10 top reasons to consider the i.MX RT1010 for your next design.  Today we start with reason #10 -the EVK.  Since the first i.MX RT crossover MCU first launched in 2017, the EVK has been the board of choice for developers. Right-sized with the right level of features and capabilities, the EVK allows designers to evaluate the chip, develop code, and reference key layout details for their own design. I am sometimes asked why NXP does not offer a “low-cost” i.MX RT dev board. The answer is simple. In order to bring the cost lower, we’d have to compromise on features – and ultimately, that’s just not fair to you. So it’s a delicate balance. But, I’m excited to share, through the end of 2019, we’re offering the i.MX RT1010 EVK for just $10.10. Yes, that’s right! In celebration of its launch, we’re bringing you the i.MX RT1010 EVK at a promotional price to help you get started with our crossover MCUs. And check out all the features you get with this board:

  • 128 Mbit QSPI Flash
  • Audio codec and 4-pole audio headphone jack
  • External connections for speaker and microphone
  • Micro USB OTG connector
  • ARDUINO interface
  • On board NXP FXOS8700CQ digital sensor, 3D Accelerometer (±2g/±4g/±8g) + 3D Magnetometer
  • JTAG connector and on board DAP-Link debugger

 

And it is supported by the popular MCUXpresso software and tools platform, including SDK with FreeRTOS.

     

Click here to get started today!

i.MX RT 1010 crossover MCU

Though not widely publicized, the $1 price point of the newly announced i.MX RT1010 crossover MCU made me pause. My parents always told me that a dollar is not what it used to be, meaning that the value of a dollar today does not go nearly as far as it used to for them when they were growing up.

On one hand, I agree. The average trip to Starbucks, will likely cost you $6. The “One Dollar” dry-cleaner in Austin, Texas, is now charging over $3 per article of clothing. And when I go to a movie, I am easily forking over at least $10 per ticket.

But on the other hand, when I look at technology, the value actually continues to grow year after year. You do get more for less when compared to technology from years ago. And now for just $1, you can get a 500 MHz MCU, integrated with smart features and complete with software drivers and support.

For just $1, you can use the new i.MX RT1010 crossover MCU to start designing everything from a guitar pedal to a light switch to a robotic medicine dispenser.  I am excited to see what this new lower price point in the high performance MCU market will enable.

Over the next 10 days, I’ll be counting down 10 reasons why you should consider i.MX RT1010 MCUs, all in celebration of the product launch. Hopefully these blogs will give you some insight into the chip and help you launch your own legacy using i.MX RT series MCUs.