Hello everyone,

I’m excited to share my recent success with the ESP32-S3 module. By following the circuit diagram of the ESP32-S3-DevKitC-1, I was able to layout my application using only the ESP32-S3 module instead of the full kit. Having tested this successfully, I wanted to provide a detailed guide for anyone looking to do the same.

Pre-requisites

  1. PCB with ESP32-S3 Module: Ensure you have designed and assembled your PCB with the ESP32-S3 module.
  2. FTDI Headers: One FTDI header is necessary for programming.

Circuit Diagram

Before proceeding, ensure you have correctly set up your circuit. The connections for the FTDI programmer are crucial for uploading code to the ESP32-S3 module.

Custom PCB using ESP32-S3 circuit

Uploading Code

Here’s a detailed guide on how to upload code to your ESP32-S3 module using the Arduino ESP32 library.

    1. Connect FTDI USB to FTDI Header on the ESP32-S3 Module:
      • Make the following connections between the ESP32-S3 module and the FTDI programmer:
        • GND (ESP32-S3) to GND (FTDI)
        • VCC (ESP32-S3) to VCC 3.3V (FTDI)
        • TXO (ESP32-S3) to RXI (FTDI)
        • RXI (ESP32-S3) to TXO (FTDI)
    FTDI connection
    1. Configure Arduino IDE:
      • Select the correct serial port under the Tools menu.
      • Click the Upload button to upload your sketch.
    Configuration Arduino IDE
    1. Enter ROM Bootloader Mode:
      • Before uploading the sketch, place your ESP32-S3 board into ROM bootloader mode by following these steps:
        • Hold down the DFU/Boot0 button.
        • While holding the DFU/Boot0 button, click the Reset button.
        • Release the DFU/Boot0 button after clicking Reset.
    2. Upload Sketch:
      • Press the Reset button on your board to launch the sketch.
      • The sketch should be uploaded successfully.
    Sketch upload successfully

    Troubleshooting

    If you encounter issues such as the serial port not appearing or problems during upload, try the following steps to manually enter bootloader mode:

    1. Reset Board into ROM Bootloader:
      • Hold down the DFU/BOOT0 button and press Reset.
    2. Select Serial Port:
      • Select the ESP32-S3 Dev Board ROM bootloader serial port in the Tools -> Port menu.
    3. Upload Sketch:
      • Attempt to upload the sketch again.
    4. Launch Code:
      • Press the Reset button to launch the code on the ESP32-S3 module.

    Conclusion

    By following this guide, you should be able to successfully program your ESP32-S3 module using an FTDI programmer and the Arduino IDE. This method provides a reliable way to manage your custom PCB without needing the full development kit.

    Feel free to reach out if you have any questions or run into issues. Happy coding!