/STM32H743_OV2640

Development board on STM32H743 for uses STM cube.AI

Primary LanguageC

STM32H743_OV2640

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: