Development board for testing cube.AI technology on stm32h743 chip.
Machine learning in embedded systems has become a reality, with the
first tools for neural network firmware development already being made
available for ARM microcontroller developers. This board the use of
one of such tools, namely the STM X-Cube-AI, on mainstream ARM Cortex-M
microcontrollers, analyzing their performance, and comparing support and
performance of other two common supervised ML algorithms, namely Support
Vector Machines (SVM) and k-Nearest Neighbours (k-NN). Results on three
datasets show that X-Cube-AI provides quite constant good performance even
with the limitations of the embedded platform. The workflow is well integrated
with mainstream desktop tools, such as Tensorflow and Keras.
The core is a ready-made board on the stm32h743 microcontroller (https://github.com/mcauser/MCUDEV_DEVEBOX_H7XX_M) purchased on ali.
The board has an OV2640 camera (DCMI), an ILI9341 display (spi) for cube.AI testing.
The following elements have been added to extend functionality:
- INMP441 microphone via I2S interface
- input for connecting an optical encoder on a chip LS7366R-S (spi)
- input for connecting an optical encoder on the hardware timer TIM1
- two buttons
- UART output on uart1
- RS-232 output (MAX3232) on uart3
- memory chip (qspi) on the board MCUDEV_DEVEBOX_H7XX_M
- connector for connecting i2c devices
Плата разработчика для тестирования технологии cube.AI на чипе stm32h743.
Машинное обучение во встроенных системах стало реальностью уже созданы первые инструменты для разработки и прошивки нейронной сети микроконтроллер ARM. Эта плата позволяет использовать один из таких инструментов, а именно STM X-Cube-AI, на основной платформе ARM Cortex-M. микроконтроллеров, анализируя их производительность и сравнивая поддержку и производительность двух других распространенных алгоритмов контролируемого машинного обучения, а именно поддержки метода опорных векторов (SVM) и метод k-ближайших соседей (k-NN). Результаты по трем наборам данных показывают, что X-Cube-AI обеспечивает постоянную хорошую производительность даже с ограничениями встроенной платформы. Рабочий процесс хорошо интегрирован с основными настольными инструментами, такими как Tensorflow и Keras.
В репозитарии представлено несколько примеров которые показывают использование cube.AI на микроконтроллере STM32H.
В качестве ядра используется готовая плата на микроконтроллере stm32h743 (https://github.com/mcauser/MCUDEV_DEVEBOX_H7XX_M) купленная на ali. На плате смонтирована камера OV2640 (DCMI), дисплей ILI9341 (spi) для тестирования cube.AI. Для расширения функционала добавлены следующие элементы:
- микрофон INMP441 по интрефейсу I2S
- вход для подключения оптического энкодера на чипе LS7366R-S (spi)
- вход для подключения оптического энкодера на аппаратном таймере TIM1
- две кнопки
- выход UART на на uart1
- выход RS-232 (MAX3232) на uart3
- чип памяти (qspi) на плате MCUDEV_DEVEBOX_H7XX_M
- разъем для подключения i2c устройств
Внешний вид платы ver 1.0:
Фото собранной платы ver 1.0: