1. Product Overview
The Heemol ESP32 S3 N16R8 DevKitC-1 Module is a powerful development board designed for Internet of Things (IoT) applications. It integrates Wi-Fi and Bluetooth 5.0 (LE) connectivity, making it suitable for a wide range of projects requiring wireless communication.
Key Features:
- Powerful Performance: Features an Xtensa 32-bit LX7 dual-core processor, operating up to 240 MHz.
- Memory: Includes 16 MB Flash, 8 MB PSRAM, 512 KB SRAM, and 384 KB SPI ROM.
- Wireless Connectivity: Integrated 2.4 GHz Wi-Fi (802.11 b/g/n) with 40 MHz bandwidth support and Bluetooth 5 (LE) with Bluetooth Mesh.
- Extensive I/O: Provides 45 programmable GPIOs and common peripheral interfaces such as SPI, I2S, I2C, PWM, RMT, ADC, UART, SD/MMC host controller, and TWAITM controller.
- Flexible Antenna Options: Features an integrated PCB antenna and an IPEX connector for external antennas, enhancing signal quality and coverage.
- Dual USB-C Ports: One port for power and USB-to-UART communication (for programming and debugging), and another for native USB functions supporting USB OTG, device emulation, and USB mass storage.
- Wi-Fi Modes: Supports Infrastructure BSS station mode, SoftAP mode, and Station + SoftAP hybrid mode.
2. Hardware Introduction
This section provides an overview of the physical components and interfaces of the ESP32 S3 N16R8 DevKitC-1 module.

Figure 2.1: Detailed view of the ESP32 S3 N16R8 DevKitC-1 module, highlighting key components such as the ESP32-S3-WROOM-1-N16R8 module, power supply chip, integrated RGB-LED, RST and BOOT buttons, PWR, TX, RX lights, USB to serial port chip (CH343p), and dual USB-C ports.
- ESP32-S3-WROOM-1-N16R8 Module: The core module containing the ESP32-S3 chip, Wi-Fi, and Bluetooth capabilities.
- Power Supply Chip: Regulates the input voltage for stable operation.
- Integrated RGB-LED (WS2812): A programmable RGB LED for visual feedback.
- RST Button: Resets the module.
- BOOT Button: Used to put the module into bootloader mode for flashing firmware.
- PWR Light: Indicates power status.
- TX Light: Indicates data transmission.
- RX Light: Indicates data reception.
- USB to Serial Port Chip (CH343p): Facilitates communication between the module and your computer for programming and debugging.
- USB-C Ports: Two Type-C USB ports. One for power and serial communication, the other for native USB functions including USB OTG.
3. Pinout Diagram
Understanding the pinout is crucial for connecting peripherals and designing circuits with the ESP32 S3 N16R8 DevKitC-1 module.

Figure 3.1: Pinout diagram for the ESP32 S3 N16R8 DevKitC-1 module, showing GPIO assignments, power pins (3.3V, 5V, GND), and special function pins (RTC, TX, RX). Red indicates power supply, Green indicates TX, and Blue indicates RX.
The module features a comprehensive set of General Purpose Input/Output (GPIO) pins, along with dedicated pins for power, communication (UART, SPI, I2C), and other functionalities. Refer to the diagram for specific pin assignments and their functions.
4. Antenna Options
The ESP32 S3 N16R8 DevKitC-1 module offers flexibility in antenna configuration to optimize wireless performance for various environments.
Integrated PCB Antenna:
The module comes with an integrated PCB antenna, suitable for most general applications where space is a constraint or an external antenna is not required.
External Antenna via IPEX Connector:
For applications requiring extended range or improved signal quality in challenging environments, an external 2.4G antenna can be connected via the onboard IPEX connector.

Figure 4.1: Close-up view of the IPEX connector for attaching an external antenna.
To use an external antenna, ensure it is properly connected to the IPEX port. An IPEX to SMA cable may be required to connect standard SMA-type antennas.

Figure 4.2: Example of a 2.4G external antenna compatible with the module, showing its dimensions.

Figure 4.3: An IPEX to SMA cable, used to connect an external SMA antenna to the module's IPEX connector.
5. Setup Instructions
Follow these steps to set up your Heemol ESP32 S3 N16R8 DevKitC-1 module for development.
5.1. Connecting the Module
- Connect the module to your computer using a USB-C cable. Use the USB-C port designated for power and serial communication (typically the one connected to the CH343p chip).
- Ensure the PWR light on the board illuminates, indicating it is receiving power.
5.2. Driver Installation
The module uses a CH343p USB-to-serial converter chip. Most modern operating systems may automatically install the necessary drivers. If not, you may need to manually install the CH343p drivers. Search online for "CH343p driver" for your specific operating system.
5.3. Setting Up the Development Environment
The ESP32-S3 can be programmed using various development environments. Two common options are:
- Arduino IDE:
- Install the Arduino IDE from the official website.
- Add the ESP32 board manager URL to the Arduino IDE preferences.
- Install the "ESP32 by Espressif Systems" board package from the Board Manager.
- Select the appropriate board (e.g., "ESP32S3 Dev Module") and COM port in the Tools menu.
- ESP-IDF (Espressif IoT Development Framework):
For more advanced development, the official ESP-IDF provides a robust framework. Refer to the Espressif documentation for detailed installation and usage instructions.
6. Operating Instructions
Once your development environment is set up, you can begin programming and operating your ESP32 S3 N16R8 module.
6.1. Uploading Firmware
- Write or open your code in your chosen IDE (e.g., Arduino IDE).
- Ensure the correct board and port are selected.
- Click the "Upload" button. The IDE will compile your code and attempt to flash it to the module.
- If the upload fails, you may need to manually put the board into bootloader mode by holding down the BOOT button, pressing and releasing the RST button, and then releasing the BOOT button.
6.2. Using Wi-Fi and Bluetooth
The ESP32-S3 supports both Wi-Fi and Bluetooth Low Energy (BLE). Libraries and examples for both are available within the Arduino IDE and ESP-IDF.
- Wi-Fi: Use the Wi-Fi library to connect to access points, create SoftAP networks, or implement Wi-Fi Direct.
- Bluetooth: Utilize the BLE library for creating Bluetooth Low Energy devices or connecting to existing ones.
6.3. GPIO Usage
The 45 GPIO pins can be configured as digital inputs/outputs, analog inputs (ADC), or for various peripheral functions (SPI, I2C, UART, PWM). Refer to the pinout diagram (Figure 3.1) and the ESP32-S3 datasheet for detailed information on each pin's capabilities.
7. Maintenance
Proper care and maintenance will ensure the longevity and reliable operation of your ESP32 S3 N16R8 DevKitC-1 module.
- Handling: Handle the board by its edges to avoid touching components, especially the pins, which can be sensitive to electrostatic discharge (ESD).
- Cleaning: If necessary, gently clean the board with a soft, dry brush or compressed air. Avoid using liquids or abrasive materials.
- Storage: Store the module in an anti-static bag in a cool, dry place away from direct sunlight and extreme temperatures.
- Power Supply: Always use a stable 3.3V or 5V power supply. Exceeding the maximum voltage can damage the module.
- Avoid Short Circuits: Be careful not to short-circuit the pins, as this may cause the module to burn out.
8. Troubleshooting
If you encounter issues with your ESP32 S3 N16R8 DevKitC-1 module, refer to the following common troubleshooting tips.
- Module Not Recognized by Computer:
- Ensure the USB-C cable is fully inserted and functional.
- Verify that the CH343p drivers are correctly installed for your operating system.
- Try a different USB-C port or cable.
- Firmware Upload Fails:
- Check that the correct board and COM port are selected in your IDE.
- Ensure the module is in bootloader mode during upload (hold BOOT, press/release RST, then release BOOT).
- Verify your code compiles without errors.
- Check for sufficient power supply.
- Wi-Fi/Bluetooth Connectivity Issues:
- Ensure your antenna (internal or external) is properly connected.
- Verify your code for correct Wi-Fi/Bluetooth initialization and credentials.
- Check for interference from other 2.4GHz devices.
- Module Not Responding:
- Press the RST button to perform a hardware reset.
- Disconnect and reconnect the power supply.
- Check for any visible damage or short circuits on the board.
9. Specifications
The following table details the technical specifications of the Heemol ESP32 S3 N16R8 DevKitC-1 Module.

Figure 9.1: Dimensions of the ESP32 S3 N16R8 DevKitC-1 module (57mm x 28mm).
| Feature | Specification |
|---|---|
| Brand | Heemol |
| Model Name | ESP32-S3-DevKitC-1-N16R8 |
| Processor | Xtensa 32-bit LX7 Dual-Core |
| CPU Speed | Up to 240 MHz |
| Flash Memory | 16 MB |
| PSRAM | 8 MB |
| SRAM | 512 KB |
| Operating Voltage | 3.3V |
| Connectivity Technology | Wi-Fi (2.4 GHz 802.11 b/g/n), Bluetooth 5 (LE) |
| USB Ports | 2 x USB-C (one for USB-to-UART, one for native USB/OTG) |
| GPIO Pins | 45 programmable GPIOs |
| Dimensions (L x W x H) | 5.7 x 2.8 x 0.5 cm |
| Weight | 20 g |
10. Warranty and Support
Information regarding product warranty and customer support was not provided in the available product data. Please refer to the seller or manufacturer's official website for details on warranty coverage and support options.