cybre-finn / eML-project

AI on the Edge/Embedded Machine Learning project for university

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eML Project

Docs: TBD

---- FROM Edge Impulse Example, TODO: DELETE THIS -----

Edge Impulse Example: standalone inferencing (Espressif ESP32)

This repository runs an exported impulse on the Espressif ESP32. See the documentation at Running your impulse locally.

Requirements

Hardware

While the script is mainly tested with ESP-EYE, other ESP32-based development boards will work too.

Software

Building the application

Get the Edge Impulse SDK

Unzip the deployed C++ library from your Edge Impulse project and copy only the folders to the root directory of this repository:

example-standalone-inferencing-espressif-esp32/
├─ edge-impulse-sdk
├─ model-parameters
├─ main
├─ tflite-model
├─ .gitignore
├─ CMakeLists.txt
├─ LICENSE
├─ README.md
├─ sdkconfig
├─ sdkconfig.old
└─ partitions.csv

Compile

  1. Initialize ESP IDF:
    get_idf
  2. Compile:
    idf.py build

Flash

Connect the ESP32 board to your computer.

Run:

idf.py -p /dev/ttyUSB0 flash monitor

Where /dev/ttyUSB0 needs to be changed to actual port where ESP32 is connected on your system.

Serial connection

Use screen, minicom or Serial monitor in Arduino IDE to set up a serial connection over USB. The following UART settings are used: 115200 baud, 8N1.

Troubleshooting and optimization

When switching boards or upgrading to newer version of SDK, the sdkconfig file in the project folder gets overwritten. Run idf.py menuconfig to enter configuration menu and make sure that all the relevant performance settings (e.g. Flash SPI speed (80 MHz), CPU Frequency (240 MHz), CONFIG_COMPILER_OPTIMIZATION_PERF=y) are set.

About

AI on the Edge/Embedded Machine Learning project for university

License:Apache License 2.0


Languages

Language:C 75.9%Language:C++ 22.6%Language:Assembly 1.5%Language:CMake 0.1%Language:Makefile 0.0%