-
ESP32-S3-N16R8-M: Difference between revisions
| Line 91: | Line 91: | ||
[[File:ESP32-P4-ETH-09.jpg|500px]] | [[File:ESP32-P4-ETH-09.jpg|500px]] | ||
==Development | ==Development Methods== | ||
The ESP32 supports multiple development methods, allowing for professional development using the Espressif official ESP-IDF framework, or rapid prototyping using platforms like the Arduino IDE or MicroPython. | |||
The main development platforms include: | |||
* [https://docs.espressif.com/projects/esp-idf/en/stable/esp32s2/get-started/index.html ESP-IDF]: Espressif's official development framework, specifically built for the ESP32 series chips, providing a complete development toolchain, code libraries, and documentation. It can fully leverage all the performance and features of ESP32 and is the preferred solution for professional development and commercial products. | |||
* | |||
* | * [https://docs.espressif.com/projects/arduino-esp32/en/latest/getting_started.html# Arduino]: A well-known open-source hardware/software platform offering a simple and standard C++ interface, supporting numerous microcontrollers including ESP32. Arduino has rich libraries and examples, widely used in prototyping and education, and is a popular entry-level platform for beginners. For the development environment configuration, please refer to [https://docs.waveshare.com/ESP32-S3-DEV-KIT-N8R8/Arduino Working with Arduino] page. | ||
* | |||
* [https://micropython.org/ MicroPython]: The simplified version of Python 3 includes core features and is optimized for microcontroller environments. It supports instant execution without repeated compilation and flashing. It provides an efficient way for developers familiar with Python to get started with ESP32 quickly. For development environment setup, please refer to the [https://docs.waveshare.com/ESP32-S3-DEV-KIT-N8R8/MicroPython Working with MicroPython] page. | |||
* | |||
* '''Other Development Methods''': The ESP32 development ecosystem is very rich. Besides the aforementioned platforms, development is also supported via platforms like PlatformIO, Mongoose OS, Espruino (JavaScript), ESPHome, etc., catering to the needs of developers with different technical backgrounds. | |||
* | |||
==Packing List== | ==Packing List== | ||
Revision as of 17:40, 24 August 2026



Important Notes
- This documentation describes ESP32-P4-ETH bare board.
- The board is equipped with PoE expansion header ONLY. External PoE module must be purchased separately to achieve PoE power supply.
- Onboard microphone and speaker connector are provided. Audio codec and amplifier are NOT assembled on the board.
- MIPI-DSI display, MIPI-CSI camera and speaker are peripherals, NOT included with bare board.
Overview
The ESP32-S3-DEV-KIT-N16R8-M is a compact microcontroller development board equipped with multiple digital interfaces.
Hardware-wise, it uses the ESP32-S3-DEV-KIT-N16R8 module, which integrates an Xtensa 32-bit LX7 dual-core processor running at up to 240 MHz, with built-in 512KB SRAM (TCM) and 8MB PSRAM. The board also features CH343 and CH334 chips, allowing both USB and UART development through a single USB-C interface. When connected to a computer, the board enumerates two independent COM ports: one for the ESP32-S3 native USB interface and one for the CH343 USB-to-UART interface. See the FAQ for how to identify them. Its pinout is compatible with the ESP32-S3-DevKitC-1 board, enabling expansion with various peripherals for greater convenience.
This is the -M version, with factory pre-soldered 2×20 header pins (2.54 mm pitch) on both sides, ready to be inserted into a breadboard out of the box; no soldering is required.
As for the software, you can choose ESP-IDF, Arduino, MicroPython, or other development environments so that you can easily and quickly get started and apply it to the product.
Features
- Powered by the ESP32-S3-WROOM-1-NXRX module, featuring an Xtensa 32-bit LX7 dual-core processor with a main frequency of up to 240MHz
- Integrated 512KB SRAM and 384KB ROM, with optional PSRAM and Flash memory configurations
- Integrated 2.4GHz Wi-Fi and Bluetooth LE dual-mode wireless communication with excellent RF performance
- USB Type-C interface, eliminating concerns about plug orientation
- Onboard CH343 and CH334 chips, meeting USB and UART development needs through a single Type-C port
- Rich peripheral interfaces brought out; pin-compatible with the ESP32-S3-DevKitC-1 board for strong compatibility and expandability
- The pin headers are pre-soldered (-M version), with a standard 2.54 mm pitch, ready to use.
- Castellated module design allows direct soldering and integration onto user-designed carrier boards
- Supports multiple low-power operating states, balancing communication distance, data rate, and power consumption to meet the power needs of various application scenarios
Technical Specification
| Module | ESP32-S3-WROOM-1-N16R8 |
| Processor | Xtensa 32-bit LX7 dual-core, up to 240 MHz |
| On-chip | Memory 512 KB SRAM (TCM), 384 KB ROM |
| Flash | 16 MB (Quad SPI, DIO/QIO mode) |
| PSRAM | 8 MB |
| Wireless | 2.4 GHz Wi-Fi (802.11 b/g/n), Bluetooth 5 (LE), Bluetooth Mesh |
| USB Interface | USB Type-C (power supply, programming, debugging) |
| Onboard Chips | CH343 (USB to UART), CH334 (USB 2.0 HUB) |
| GPIO (chip) | GPIO35/36/37 are NC on the WROOM-1 module |
| Peripherals | 4× SPI, 3× UART, 2× I2C, 2× I2S, 14× Touch, RMT, LED PWM, USB-OTG, TWAI, 2×12-bit ADC, LCD interface, DVP |
| Dimensions |
63.30 × 25.40 mm |
| Development Environment | ESP-IDF, Arduino, MicroPython, PlatformIO, etc. |
Hardware Description
- ESP32-P4NRW32 ESP32-P4 with 32MB stacked PSRAM
- 100M RJ45 Ethernet Port
- 32MB Nor Flash
- Display Interface MIPI-DSI (2-lane), compatible with 5 / 7 / 8 / 10.1inch DSI screens
- Camera Interface MIPI-CSI (2-lane), compatible with cameras such as OV5647
- Type-C Interface For power supply, programming, and debugging
- SMD Microphone
- Speaker Interface MX1.25 2P connector, supports 8Ω 2W speaker
- 4PIN USB Interface USB OTG 2.0 High Speed interface
- PoE Module & Power Supply Header
- BOOT Button Press during power-up or reset to enter download mode
- RESET Button Reset button
- Power Indicator
- TF Card Slot SDIO 3.0 interface protocol
Install Guide
Dimensions
Development Methods
The ESP32 supports multiple development methods, allowing for professional development using the Espressif official ESP-IDF framework, or rapid prototyping using platforms like the Arduino IDE or MicroPython.
The main development platforms include:
- ESP-IDF: Espressif's official development framework, specifically built for the ESP32 series chips, providing a complete development toolchain, code libraries, and documentation. It can fully leverage all the performance and features of ESP32 and is the preferred solution for professional development and commercial products.
- Arduino: A well-known open-source hardware/software platform offering a simple and standard C++ interface, supporting numerous microcontrollers including ESP32. Arduino has rich libraries and examples, widely used in prototyping and education, and is a popular entry-level platform for beginners. For the development environment configuration, please refer to Working with Arduino page.
- MicroPython: The simplified version of Python 3 includes core features and is optimized for microcontroller environments. It supports instant execution without repeated compilation and flashing. It provides an efficient way for developers familiar with Python to get started with ESP32 quickly. For development environment setup, please refer to the Working with MicroPython page.
- Other Development Methods: The ESP32 development ecosystem is very rich. Besides the aforementioned platforms, development is also supported via platforms like PlatformIO, Mongoose OS, Espruino (JavaScript), ESPHome, etc., catering to the needs of developers with different technical backgrounds.
Packing List
- ESP32-P4-ETH Development Board x1
- 20-pin GPIO Headers x2
User Manual
FAQ
Q1: Which screens are supported by the development board?
A: Please first check the component documentation to confirm compatible screen types: esp32_p4_platform
Q2: How do I determine my ESP32-P4 chip revision?
A: Check the silkscreen marking on the chip and the boot log from the serial port. The ESP32-P4 Platform examples provide build configurations for rev v3.0 and later chips, rev v3.1 and later chips, and rev v0.x / v1.x engineering samples. Before flashing, make sure the firmware configuration matches the actual chip revision.
Q3: Which ESP-IDF version is recommended for ESP32-P4?
A: ESP-IDF v5.5.1 ~ v5.5.4 is recommended. The ESP32-P4 Platform examples are primarily maintained for ESP-IDF release/v5.4 and later versions. Some advanced UI examples may retain compatibility notes for release/v5.3; please refer to the README in the example directory for details.
Q4: Which ESP-IDF version is recommended for ESP32-P4?
A:This message means the firmware's ESP32-P4 chip revision configuration doesn't match the chip on your board. Do not use --forceto skip the check — rebuild with the correct chip revision instead.
The ESP32-P4 Platform repository provides shared configuration files:
- rev v3.1 or later:
config/esp32p4_rev_v3_1.defaults - rev v3.0 or later:
config/esp32p4_rev_v3_0.defaults - rev v0.x / v1.x engineering sample:
config/esp32p4_rev_pre_v3.defaults
Specify the matching config in the example directory via SDKCONFIG_DEFAULTS. See the detailed instructions under ESP-IDF examples.
Q5: Can the development board be powered by both USB Type-C and PoE at the same time?
A: Yes, it does not affect power delivery.
Q6: What is the maximum camera resolution supported by ESP32-P4?
A: During functionality testing, we have validated several features. Currently, there are developments such as using a Cat-4 module to provide network connectivity for the P4, or using the P4's MIPI-DSI to extend a host screen. However, for stability reasons, related example programs are not yet provided. They will be added to the wiki once the features and solutions are more mature.
Q7: Can I develop using PlatformIO or MicroPython?
A:
- For stability, support for ESP32-P4 in PlatformIO requires the PlatformIO community to support the Arduino-esp32 SDK version 3.1x.
- During development, we have experimented with using MPY firmware for the ESP32-P4, which can run simple commands. However, this is still in the validation phase. Actual interfaces and peripheral applications are not yet fully adapted. Once adaptation is complete and stable, usage examples for ESP32-P4 in MicroPython will be released.