/dm-ml-openart

OpenART is an open source AI Develop kit base on NXP MCU, which supported most popular engines: TFlite-Micro, CMSIS-NN, Glow and OpenMV&Micropython as well.

Primary LanguageCOtherNOASSERTION

NXP Application Code Hub

ML-OpenART

OpenART is an open source AI develop and verify kit based on OpenMV, which supports most popular machine learning inference engines: TFlite-Micro.

It provides a convenient and efficient method to verify the modes: execute the modes in python script based on micropython and OpenMV library, and also support LVGL python bindings library, that means you can implement an AI application with UI by python too.

General Purpose

  • AI Education Support most popular AI Engines: TFlite-Micro, Glow and with the python binding, people could execute the models in python script. Profile method is supported too, it can count inference time cost for each layers of the model.
  • Machine Vision Support OpenMV library V4.3. The OpenMV project aims at making machine vision more accessible to beginners by developing a user-friendly, open-source, low-cost machine vision platform.
  • MCU Education Support MicroPython V1.18, easy play with mid-high end MCU/crossovers with Python.

Four examples are included to demonstrate the deployment of AI models on OpenART.

img

Boards: EVK-MIMXRT1060

Categories: AI/ML

Peripherals: ADC, CLOCKS, FLASH, GPIO, PWM, TIMER, UART, DISPLAY, I2C, I2S, USB, VIDEO, SDMMC, SENSOR, PINCTRL

Toolchains: MDK

Table of Contents

  1. Software
  2. Hardware
  3. Setup
  4. Results
  5. Examples
  6. FAQs
  7. Support
  8. Release Notes

1. Software

1.2 Download Code

To clone repo with submodules:

git clone --recursive https://github.com/nxp-appcodehub/dm-ml-openart.git

To checkout openMV & submodules version

cd bsp/imxrt/components/openmv
git checkout v4.3.0

cd bsp/imxrt/components/openmv/src/micropython
git checkout v1.18-omv

cd bsp/imxrt/components/openmv/src/omv/modules/ulab
git checkout 4.0.0

2. Hardware

i.MXRT1060 EVK as :

3. Setup

Enter folder: bsp\imxrt\imxrt1062-nxp-evk, open 'project.uvprojx' in mdk. Compile the project.

Connect Debug USB with laptop, and flash the board.

4. Results

After board flashed , reset the board. Open term connect the debug serial. The boot log is shown as :

Connect USB OTG with laptop, "OpenMV Cam USB COM port" is shown up in device manager.

Open OpenMV IDE, Connect the deivce and excute 'Hello world_1.py', shown as :

5. Examples

Four AI examples are included in the project:

6. FAQs

7. Support

OpenMV | Small - Affordable - Expandable

MicroPython - Python for microcontrollers

Project Metadata

Board badge

Category badge

Peripheral badge Peripheral badge Peripheral badge Peripheral badge Peripheral badge Peripheral badge Peripheral badge Peripheral badge Peripheral badge Peripheral badge Peripheral badge Peripheral badge Peripheral badge Peripheral badge Peripheral badge

Toolchain badge

Questions regarding the content/correctness of this example can be entered as Issues within this GitHub repository.

Warning: For more general technical questions regarding NXP Microcontrollers and the difference in expected funcionality, enter your questions on the NXP Community Forum

Follow us on Youtube Follow us on LinkedIn Follow us on Facebook Follow us on Twitter

8. Release Notes

Version Description / Update Date
1.0 Initial release on Application Code Hub August 14 <sup>th </sup> 2023