ESP32-S3 Digit reconginiton in Tensor Flow Micro series 01: LiteRT
TensorFlowLiteMicro ESP32-S3 Digit reconginiton in Tensor Flow Micro series 01: LiteRTIntroductionLiteRT is just a run time library which just do the inference of a model. When we need to create and train a model. We still need the original tensor flow library. Moreover, it is not enough documentation about this library so far. The wire part is that after TensorFlow v2.20, the tf.lite module is removed. However, the LiteRT don’t have the related API for the module converstion and post-trai...
ESP32-S3 Digit reconginiton in Tensor Flow Micro series 00: Intro
ESP32-S3 Digit reconginiton in Tensor Flow Micro series 00IntroductionThis series explores whether TensorFlow Lite Micro (TFLM) can reproduce or improve the digit recognition results I obtained with the PyTorch + ESP-DL workflow on ESP32-S3 hardware. Goals for this post: Review the IDF example that ships with the TFLM component. Learn the minimal TFLM runtime flow (model → interpreter → invoke). Train a small model on PC/Google Colab, convert it to a TFLite model, and run it on the ESP3...
Digit Recognition Optimization Series 01: Model Re-train
Digit Recognition Optimization Series 01: Re-training the ModelIntroductionIn the previous post, I developed data collection tools to create a custom dataset using the current hardware setup. By using the Python UI test tool, I was able to collect my own dataset directly from the ESP32 device. I spent around 1 hour creating 100 samples for each digit (0-9). Unfortunately, after merging these new samples with the original dataset and re-training the model, the accuracy did not improve. There c...
Digit Recognition Optimization Series 00: Data Collection & Testing
Digit Recognition Optimization Series 00: Data Collection & TestingIntroductionIn the previous series, I completed the digit recognition project using LVGL.However, the initial accuracy of digit recognition was not satisfactory. Therefore, in this new series, I will focus on optimizing the model based on the current hardware setup. The first step is to generate a test dataset directly on the target hardware to accurately evaluate performance. The original dataset provided by Espressif w...
Learning ESP-DL Series 04- LVGL, IDF, and ESP-DL Integration 2025
IDF v5.4 & LVGL v9.2 & ESP-DL Integration (2025)IntroductionThis is the final post in my ESP-DL series. My goal is to create a simple LVGL application that utilizes the esp-dl library for digit recognition. In this blog, I will clearly explain how I implemented the integration and share key lessons learned. Project Core Values For learning purposes. The implementation is kept simple and straightforward. No fancy stuff, make it work. Application FeaturesThis application allows the us...
Learning ESP-DL Series 03: Neural Network Architecture
IntroductionIn the previous blog, we walked through how to prepare the dataset, train, quantize, and deploy the model to the ESP32-S3, following the ESP-DL digit recognition example code:https://github.com/espressif/esp-iot-solution/tree/master/examples/ai/esp_dl/touchpad_digit_recognition However, we did not take a closer look at how the neural network itself is designed. In this post, I will explain the details of the neural network architecture based on my understanding. Later on, I plan t...
Learning ESP-DL Series 02: Walkthrough on Training, Testing, and Deployment
IntroductionIn the previous blog, we updated the example code to be compatible with a general ESP32-S3 dev kit module. One issue with the ESP-DL digit recognition example is that they do not provide the original PyTorch model or the output files generated after the esp-ppq process. Only the final .espdl file is provided. Therefore, we need to build our own model based on their dataset. Fortunately, Espressif provides the code for training, testing, and quantizing the model. In this post, I wi...
Learning ESP-DL Series 01: Digit Recognition
IntroductionIn the previous blog, we verified the hardware and development environment. This time, we will go through another interesting example: touchpad-digit-recognition. This is an ESP AI example that demonstrates the complete deep learning development workflow, from data collection and training to device deployment. In this blog, I will clone this example and run the code on my own hardware, which does not have a touch sensor. How This Blog May Help You Learn ESP-DL in detail. If you wa...
Learning ESP-DL Series 2025 - 00: First Impression
IntroductionThis is the first post in a series of blogs that will explore the ESP-DL library in detail. At the time of writing, there is very little information or tutorials available for ESP-DL, especially practical guides on how to use it effectively. The official documentation from Espressif only explains what the library is, but does not clarify why you might need it, how to use it correctly, or provide helpful tips. In this post, I will focus on running an example code from the ESP-DL li...
Learning ESP32-DL library & Pytorch in 2025
Learning Pytorch in 2025I want to develop an AI applciation using ESP32-S3 and discover that you need to know some basic kowledege about nerual network. ESP32 have AI library ESP-DL, but you need pytorch to train the model. Therefore, the first step is to learn pytorch and some basic deep learning concept. Otherwise it is very diffcult to code without background knowledge. How This Blog May Help You This blog will give you some importants points and reviews on the youtube video Learn from yo...
