Deep Learning models usually require a considerable amount of resources for inference. We are interested in running neural networks on low power embedded systems with limited available resources.
What it does
In this project, handwritten digits are classified on a Micro-controller with 2MB Flash/256+4KB RAM.
How I built it
We have trained a simple Convolutional Neural Network using TensorFlow2.0 and Keras on MNIST data-set. Using STM32CUBEMX.AI we converted the saved model to C files and integrated to the reset of our project.
Challenges I ran into
Importing the generate C files for the network into the main project and running inference.
Converting user input from the LCD touch screen to appropriate tensor to feed to the CNN.
Creating GUI on LCD.
Accomplishments that I'm proud of
The entire network only needs 157 KBytes of RAM and 1.2 Mbytes of flash
What I learned
What's next for Handwritten Digit Recognition On Microcontroller