Adafruit Accepts Arturo182's NXP i.MX RT10xx Port Into CircuitPython Codebase

Pull request from Arturo182 adds initial support for the NXP i.MX RT microcontroller range, bringing CircuitPython to a whole new platform.

Gareth Halfacree
4 years ago β€’ Python on Hardware
Arturo is working on two i.MX-based Feather boards, yet to be released. (πŸ“·: Arturo182)

Adafruit has officially merged preliminary support for the NXP i.MX RT10xx family of processors to CircuitPython, contributed by Feather board developer Arturo182 β€” with initial support for the RT1011 and RT1062 parts.

"The commit adds the NXP i.MX RT10xx series port, so far supporting the RT1011 and RT1062 chips but the whole family is very similar so it's easy to expand," Arturo writes in the GitHub commit message for the port. "Support status: AnalogIn β€” seems to work, tested it on the RT1011; I2C β€” seems to work, I managed to scan and talk to a sensor; SPI - should work in theory, haven't quite tested it enough yet.

"UART - seems to work, supports the new timeout stuff; DigitalInOut - seems to work really well; Pin claiming and resetting is not done yet; PWMOut β€” work started but not quite finished; RTC - uses the HW low power RTC; neopixel_write - copied from STM32 port, kinda works but sometimes glitches, needs to be looked into; os.urandom β€” uses the HW RNG; cpu.temperature β€” uses the HW temp peripheral.

"There is a lot of commented-out code from samd because I use that as a reference on how things should be implemented, this will be removed as things are finished. Since the MCUs don't have any built-in flash, both the code and the mass storage are placed on an external QSPI flash, the mass storage is available over USB as expected (that was tricky :) ). Even though the RT1011 has 128KB RAM (divided into 3 blocks, 2x 32KB and 1x 64KB), I was only able to get 96KB running right now, I'm sure we can fix that eventually."

Arturo began developing the port in order to support two upcoming Feather-format development boards of his own design: the Feather 1011, which includes an ESP32 co-processor, and Feather 1062, neither of which have yet been publicly released.

More information is available on Arturo's GitHub pull request.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles