ESP32 + 2 megapixel camera + 4 MByte Flash + 8MByte PSRAM

ESP-EYE is an ESP32-based development board that integrates a digital microphone, an 8 MB PSRAM and a 4 MB flash, while also providing an external 2-Megapixel camera. These features make the board ideal for applications relating to face detection, face recognition and speech recognition. Besides, the board can also support image transmission over Wi-Fi and debugging through a Micro USB port, which enables the development of advanced AI solutions.

Face Detection and Recognition with ESP-EYE

This example demonstrates Face Recognition and Voice Wakeup with ESP-EYE.

For hardware preparation, please see HERE

Key Features

  • Voice wakeup
  • Face detection
  • Face recognition

Software Development

ESP-EYE supports firmware downloading with a Linux, MacOS or Windows PC. At present, users must set up a toolchain in the development environment before starting software development.


  • Go through Get Started to set up the toolchain in your PC.
  • Connect the ESP-EYE to your PC with a Micro USB cable.
  • Launch your development-environment tool, such as Terminal (Linux/MacOS) or MinGW (Windows).

Getting ESP-WHO

To obtain a local copy, open your Terminal (such as Terminal in a Linux environment), go to the directory in which you want to store ESP-WHO, and clone the repository by using the git clone command:

git clone --recursive 

ESP-WHO will be downloaded into an automatically-generated folder named esp-who.

Do not miss the –recursive option. If you have already cloned ESP-WHO without this option, please run another command to get all the submodules: git submodule update –init –recursive

Setting up a Path to ESP-WHO

Please follow the instruction described in Setup Path to ESP-IDF to configure the IDF_PATH variable to esp-who/esp-idf.

Downloading Firmware

This section describes the steps for downloading firmware to ESP-EYE (taking the Linux operating system as an example):

  • Power up ESP-EYE by connecting it to your PC with a USB cable.
  • Run ls /dev/ttyUSB* in your Terminal to check if the board has connected itself to your PC successfully. If the connection is successful, you will see a newly generated item named e.g, /dev/ttyUSB0 on your list, after running the command.
  • Go to an example directory, such as cd esp-who/examples/single_chip/recognition_solution.
  • Run make defconfig to complete the default configuration.
  • Run make menuconfig and go to Serial flasher config -> Default serial port to configure the device name, according to the name of the item you saw in the second step, e.g. /dev/ttyUSB0. Then, save it and exit.
  • Run make flash to download the firmware.