This repository contains examples that demonstrate the use of TensorFlow Lite based machine learning executing on the SparkFun Edge Development board. The examples are designed for use within the Arduino development environment, enabling rapid setup and deployment of the examples.
The examples contained in this repository make use of the variety of sensors available on the SparkFun Edge Development board to show the modern capabilities of machine learning executing on a low-power microcontroller-based system.
The following examples are included in the repository:
To run the examples, the following hardware is required:
The examples in this repository are for use and execution within the Arduino development environment. This section details the steps required to setup Arduino for the examples.
Arduino is avilable for a variety of platforms. To ensure compatiblity with the demos in this repository, the latest version should be installed.
The Arduino application is available for a variety of platforms and is available online from Arduino. Download the application from the Arduino website using this link.
The examples utilize the TensorFlowLight Arduino libary, which is installed using the Arduino Library Manager.
To install this library, use the following steps:
With the Library Manager dialog still displayed, install the Himax camera driver.
Once the install is completed, close the Arduino Library Manager dialog.
Load the SparkFun Boards package into the Arduino Board Manger.
To install package, use the following steps:
In Arduino, open the Preferences menu item. File > Preferences, (macOS) Arduino > Preferences
Add the following path to the Additional Boards Manager URLs: path in preferences.
https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
Select the OK button to save the preferences.
Once the location of the SparkFun boards package is set in the preferences, the board definition package for the SparkFun Apollo3 boards must be installed.
To install package, use the following steps:
.ino
file in one of the example directories
micro_speech
SparkFun Edge
board (Tools->Board under 'SparkFun Apollo3')SVL Baud Rate
from 921600 to 460800Verify
button (checkmark symbol)Upload
button (arrow symbol)
The micro speech example has a model that is trained to recognize "Yes" and "No". An example of how to train a new model based on Google collected sample phrases is included in the tensorflow micro_speech example repository. The method listed utilizes Google Colaboratory to run the training session - an Jypter notebooks based system that presents a Python based notebook and abstracts the management of compute resources.
The notebook to run the training for this example is contained in the tensorflow github repository at this location.