espressif/esp-who

Face detection and recognition framework

C++

2,157

219 commits

updated Aug 21, 2026

See the code

README

ESP-WHO [中文]

ESP-WHO is an image processing development platform based on Espressif chips. It contains development examples that may be applied in practical applications.

Overview

ESP-WHO provides examples such as Human Face Detection, Human Face Recognition, Pedestrian Detection, QRCode Rocognition etc. You can develop a variety of practical applications based on these examples. ESP-WHO is developed based on ESP-DL. It can realize many interesting applications with various peripherals.

What's new

  1. The repository has been fully refactored. It adapts to the new ESP-DL
  2. New chip ESP32-P4 is now supported.
  3. Camera and the deep learning model now runs asynchronously, which achieves higher fps.
  4. Add lvgl(Light and Versatile Graphics Library) support, feel free to develop your own graphical applications.
  5. New pedestrian detect model is added.

Some chip such as esp32 and esp32-s2, and examples such as cat face detection, color detection is not available in this branch currently, we're still working on them. Old branch can be found here. old ESP-WHO branch

Supported ESP-IDF version

ESP-IDF
Release/v5.4
ESP-IDF
Release/v5.5
ESP-IDF
Release/v6.0
ESP-IDF
Release/v6.1
✔️✔️✔️✔️

Supported develop board

Board nameSoCSupported FeaturesPhoto
ESP32-P4 Function EV Boardesp32p4🎵 Audio
🎤 Audio Microphone (es8311)
🔈 Audio Speaker (es8311)
📟 LCD Display (ek79007, ili9881c, lt8912b)
💾 uSD Card
☝️ Display Touch (gt911)
ESP32-S3-EYEesp32s3🎵 Audio
🎤 Audio Microphone
🔘 Button
📷 Camera
📟 LCD Display (st7789)
🎮 IMU
💾 uSD Card
ESP32-S3-Korvo-2esp32s3🎵 Audio
🎤 Audio Microphone (es7210)
🔈 Audio Speaker (es8311)
🔘 Button
📷 Camera
📟 LCD Display (ili9341)
💡 LED
💾 uSD Card
☝️ Display Touch (tt21100)

Quick Start

All examples of ESP-WHO are stored in examples. Enter the corresponding folder and perform the following steps.

Add environment variable

Linux:

export IDF_EXTRA_ACTIONS_PATH=/path_to_esp-who/tools/
echo $IDF_EXTRA_ACTIONS_PATH

Win/powershell:

$Env:IDF_EXTRA_ACTIONS_PATH="/path_to_esp-who/tools/"
echo $Env:IDF_EXTRA_ACTIONS_PATH

Win/cmd:

set IDF_EXTRA_ACTIONS_PATH=/path_to_esp-who/tools/
echo %IDF_EXTRA_ACTIONS_PATH%

[!IMPORTANT] Make sure the echo command return the correct path.

Set the target SOC and the default sdkconfig configuration file.

idf.py -DSDKCONFIG_DEFAULTS=sdkconfig.bsp.bsp_name set-target esp32xx

Add "" if using powershell.

idf.py -DSDKCONFIG_DEFAULTS="sdkconfig.bsp.bsp_name" set-target "esp32xx"

[!NOTE] Check the sdkconfig.bsp.* files under each example to see the supported bsp_name.

(Optional) Configure sdkconfig options

idf.py menuconfig

Build, Flash and monitor

idf.py [-p port] flash monitor

[!NOTE]

Resources

  • If you need to deploy your own model, you can refer to ESP-DL, ESP-DETECTION.

  • For the use of the peripheral interfaces related to the development board, you can refer to ESP-BSP.

  • For camera driver related information, please refer to ESP32_CAMERA, ESP_VIDEO_COMPONENTS.

  • If you find an error or need new features during use, please check GitHub Issues first to ensure that the issue is not submitted repeatedly.

espressif/esp-who

Face detection and recognition framework

C++

2,157

219 commits

updated Aug 21, 2026

See the code

README

ESP-WHO [中文]

ESP-WHO is an image processing development platform based on Espressif chips. It contains development examples that may be applied in practical applications.

Overview

ESP-WHO provides examples such as Human Face Detection, Human Face Recognition, Pedestrian Detection, QRCode Rocognition etc. You can develop a variety of practical applications based on these examples. ESP-WHO is developed based on ESP-DL. It can realize many interesting applications with various peripherals.

What's new

  1. The repository has been fully refactored. It adapts to the new ESP-DL
  2. New chip ESP32-P4 is now supported.
  3. Camera and the deep learning model now runs asynchronously, which achieves higher fps.
  4. Add lvgl(Light and Versatile Graphics Library) support, feel free to develop your own graphical applications.
  5. New pedestrian detect model is added.

Some chip such as esp32 and esp32-s2, and examples such as cat face detection, color detection is not available in this branch currently, we're still working on them. Old branch can be found here. old ESP-WHO branch

Supported ESP-IDF version

ESP-IDF
Release/v5.4
ESP-IDF
Release/v5.5
ESP-IDF
Release/v6.0
ESP-IDF
Release/v6.1
✔️✔️✔️✔️

Supported develop board

Board nameSoCSupported FeaturesPhoto
ESP32-P4 Function EV Boardesp32p4🎵 Audio
🎤 Audio Microphone (es8311)
🔈 Audio Speaker (es8311)
📟 LCD Display (ek79007, ili9881c, lt8912b)
💾 uSD Card
☝️ Display Touch (gt911)
ESP32-S3-EYEesp32s3🎵 Audio
🎤 Audio Microphone
🔘 Button
📷 Camera
📟 LCD Display (st7789)
🎮 IMU
💾 uSD Card
ESP32-S3-Korvo-2esp32s3🎵 Audio
🎤 Audio Microphone (es7210)
🔈 Audio Speaker (es8311)
🔘 Button
📷 Camera
📟 LCD Display (ili9341)
💡 LED
💾 uSD Card
☝️ Display Touch (tt21100)

Quick Start

All examples of ESP-WHO are stored in examples. Enter the corresponding folder and perform the following steps.

Add environment variable

Linux:

export IDF_EXTRA_ACTIONS_PATH=/path_to_esp-who/tools/
echo $IDF_EXTRA_ACTIONS_PATH

Win/powershell:

$Env:IDF_EXTRA_ACTIONS_PATH="/path_to_esp-who/tools/"
echo $Env:IDF_EXTRA_ACTIONS_PATH

Win/cmd:

set IDF_EXTRA_ACTIONS_PATH=/path_to_esp-who/tools/
echo %IDF_EXTRA_ACTIONS_PATH%

[!IMPORTANT] Make sure the echo command return the correct path.

Set the target SOC and the default sdkconfig configuration file.

idf.py -DSDKCONFIG_DEFAULTS=sdkconfig.bsp.bsp_name set-target esp32xx

Add "" if using powershell.

idf.py -DSDKCONFIG_DEFAULTS="sdkconfig.bsp.bsp_name" set-target "esp32xx"

[!NOTE] Check the sdkconfig.bsp.* files under each example to see the supported bsp_name.

(Optional) Configure sdkconfig options

idf.py menuconfig

Build, Flash and monitor

idf.py [-p port] flash monitor

[!NOTE]

Resources

  • If you need to deploy your own model, you can refer to ESP-DL, ESP-DETECTION.

  • For the use of the peripheral interfaces related to the development board, you can refer to ESP-BSP.

  • For camera driver related information, please refer to ESP32_CAMERA, ESP_VIDEO_COMPONENTS.

  • If you find an error or need new features during use, please check GitHub Issues first to ensure that the issue is not submitted repeatedly.

Project health

Overall

3.4/10

Maintained

10/10

Code review

0/10
OpenSSF Scorecard

Significant stargazers

Rochus Keller

366 followers · starred May 2019

Pierre Fenoll

203 followers · starred Aug 2026

Yegor Yefremov

55 followers · starred Feb 2019

Niek van der Maas

188 followers · starred Jan 2019