ESP32-based devices come in all kinds of shapes and sizes, but one of the most powerful you can buy at the moment combines an ESP32-P4 and an ESP32-C6. The ESP32-P4 is the most powerful ESP32 you can get, but it's aimed at Human Machine Interface devices especially, packing things like H.264 codec support, way more PSRAM, and more storage. It doesn't support wireless technologies, though, and bolting on an ESP32-C6 gives it the ability to communicate over a Secure Digital Input Output (SDIO) bridge and leverage that hardware for Wi-Fi capabilities instead. And with that extra power, you can build and deploy the ESP Brookesia Phone project.
The ESP Brookesia Phone project is built using the ESP-IDF framework, and it's a human-machine interaction development framework designed for AI Internet of Things devices. While Espressif states that it's available for "all targets", meaning all ESP32-based devices, examples mainly center around the ESP32-P4 and the ESP32-S3. These are the two most powerful ESP32-based chips you can buy today.
The board that I'm using is the Elecrow CrowPanel Advanced ESP32-P4 HMI AI display, which comes with two speakers and an optional camera module that can be purchased for an additional $8. This board closely mirrors the ESP32-P4-Function-EV-Board from Espressif, and is a great way to get started with development on the ESP32-P4. When I received it, it came preloaded with this project, and I was so impressed with it that I flashed it back to the device again just to play with it some more.
Elecrow CrowPanel Advance 7.0" HMI ESP32-P4 AI Display
The Elecrow CrowPanel Advance ESP32-P4 is a display with an ESP32-C6 bolted on for Wi-Fi and Bluetooth, speakers, and an optional camera module. The ESP32-P4 has additional capabilities no other ESP32 can offer, such as H.264 codec support and, in this board, 32MB of PSRAM.
About this article: Elecrow provided us this display for the purposes of testing. The company had no inputs into the contents of this article.
You can build your own apps for the ESP Brookesia Phone project
And there are lots of examples out there
One of the most impressive aspects of the ESP Brookesia Phone project is the fact that you can actually build your own apps for it, and they work. Apps are written as individual programs, separated in an "apps" folder under components. The user interface is defined using LVGL, and all associated logic is developed here too. The underlying operating system handles the launching of those applications, and even keeps them in memory in the background.
Elecrow preloads the following applications:
-
Squareline
- This is a UI editor for ESP32-based applications, showing an example application designed using it.
- Calculator
- Music Player
- Settings
- 2048
- Camera
All of the applications work out of the box, and you can modify the source code when building it to include your own applications or modify existing ones. The ESP Brookesia project has already been used to formulate the basis of the EchoBar project, which has voice-activated wakeup, voice interactions, and runs on the ESP32-S3.
ESP Brookesia Phone is an operating system first and foremost, and a great way to demonstrate what the ESP32 is truly capable of. It benefits from the expanded PSRAM of the ESP32-P4 development board (32MB), but it still runs well on devices with less PSRAM, too. It's designed around standardized system UIs, and provides a framework for AI-driven interactions.
The core architecture is split into three parts:
- Hardware Abstraction Layer (HAL)
- Middleware
- Application layer
The HAL uses ESP-IDF's existing HAL to interface with the display, touchscreen, camera, speakers, and other hardware aspects. The middle layer then acts as a bridge between the hardware and the application layer, creating function components that wrap around the hardware and hosting standardized APIs for things like resource management, theming, and more. Just like in a normal operating system, apps just see a high-level API that works, no matter the underlying hardware.
Finally, the application layer sits at the very top, and contains your applications that make use of the middle layer to achieve their functionality. It ships as one main system UI, and the idea is that anyone can expand on it and build on it for their own projects.
You can test out ESP Brookesia Phone yourself
You'll just need to modify the source code
If you want to try out this project, it's available on Espressif's GitHub, and it's also available in the Espressif component registry. You can download it, compile it, and flash it on your intended device, so long as you have the storage and PSRAM to spare.
The Elecrow CrowPanel Advance ESP32-P4 is the perfect testing device for it, with ample resources and high-end specifications capable of running it. However, users have had success deploying it on the ESP32-S3 as well, and so long as you have a display to show it on, you can try it out once your hardware is supported in ESP-IDF.
