ESP32 LVGL Multi-function box

Open source address: https://github.com/Kevincoooool/ESP_MASTER
Video introduction on station Bilibili: 【开源】ESP_MASTER 语音人脸百度AI ESP32-CAM LVGL 音乐频谱_哔哩哔哩_bilibili
This project is based on ESP32 as the core, squeezing out the ability of its MCU as much as possible to create a multi-functional collection of highly comprehensive small modules, which include:

  1. Voice recognition. Connect the digital microphone to ESP32 through I2S, after esp-skainet offline voice recognition, the maximum number of custom voice command words is 100
  2. Object recognition, text recognition (license plate recognition). Based on Baidu Smart Cloud, the RGB image obtained by the camera is converted to JPG, and the recognition result is obtained after base64 and urlcode encoding and uploaded to Baidu Cloud for display.
  3. Color recognition. The image acquired by the camera can be converted from RGB to HSL to determine each pixel, identify the color block, and obtain the color block coordinates.
  4. Home appliance control. The type of air conditioner can be set by voice, or the type of air conditioner can be set in the setting interface. Currently, Gree, Midea, and Haier air conditioners are supported. The air conditioner code library is provided by IREXT, and the code library is placed in the spiffs section of flash.
  5. LVGL. Based on LVGL 7.6.0, more than 10 interface switches.
  6. ADC button. When the ESP32 pin is extremely insufficient, one IO port is used, and the state of the three buttons can be read through the resistor divider.
  7. FFT spectrum, connect the digital microphone to ESP32 through I2S, obtain the spectrum through software fft and display it through lvgl img.
  8. Mini games. Port 2048 and Snake Game.
  9. Daily chicken soup. After entering the Daily Chicken Soup interface, HTTP randomly gets a sentence for display.

3 Likes

Some pics


Wao, what a great complexity placed into an ESP chip. Great work!

The FPS is also very good.

Will it be commercial product?

Hello, now this project is just for fun, and it will be considered as a product after it is improved in the later stage.

1 Like