ESP32 Thing Plus (USB-C) Hookup Guide

Contributors: santaimpersonator, Brudnerd
Favorited Favorite 3

Troubleshooting Tips

Upload Issues

If users are have issues during the uploading process, they can try to manually force the board into the serial bootloader with the BOOT button. Holding down the BOOT button, while connecting the board to a computer through its USB-C connector or resetting the board will cause the MCU to enter the Firmware Download mode and its serial bootloader. The board will remain in this mode until it power cycles (happens automatically after uploading new firmware) or the RST button is pressed.

  1. Hold the BOOT button down.
  2. Reset the MCU.
    • While unpowered, connect the board to a computer with through the USB-C connection.
    • While powered, press the RST button.
  3. Release the BOOT button.
  4. After programming is completed, reboot the MCU.
    • Press the RST button.
    • Power cycle the board.

Boot Button
BOOT button on the ESP32-WROOM Thing Plus. (Click to enlarge)

COM Port Not Shown

If the board doesn't appear on a COM port, double check the correct driver has been installed. Unlike previous versions of the ESP32 Thing Plus, this variant requires the CH340 driver to be installed. For more information, check out our How to Install CH340 Drivers Tutorial.

How to Install CH340 Drivers

August 6, 2019

How to install CH340 drivers (if you need them) on Windows, Mac OS X, and Linux.

Users can also check their USB cable; some cables are power only. Try testing the cable with a smart phone or tablet to see if it appears as a device on the computer. If the phone/tablet doesn't appear, then the USB cable is power only.

Serial Stream Difficulties

We have noticed that with the ESP32 Arduino core, Serial.available() does not operate instantaneously. This is due to an interrupt triggered by the UART, to empty the FIFO when the RX pin is inactive for two byte periods:

  • At 9600 baud, hwAvailable takes [number of bytes received + 2] x 1 ms = 11 ms before the UART indicates that data was received from: \r\nERROR\r\n.
  • At 115200 baud, hwAvailable takes [number of bytes received +2] x .087 ms = ~1 ms before the UART indicates that data was received from: \r\nERROR\r\n.

For more information, please refer to this chatroom discussion.

µSD Card

Make sure that the µSD card is compatible with the Arduino library being used for it. For example, the default SD Arduino library is only compatible with FAT16 or FAT32 file systems; therefore, the card capacity is limited to 16GB or 32GB and smaller. Another consideration is that the library was also written to only handle short 8.3 names for files.

Qwiic Connector Power

For users having issues with the power to their Qwiic devices, don't forget that GPIO 0 controls the power output from the XC6222 LDO regulator to the Qwiic connector. Users must toggle GPIO 0 high to enable power for the Qwiic connector. In order to conserve battery power or in low power applications, users will can toggle GPIO 0 low, to disable the power to the Qwiic connector.

Note: GPIO 0 is also connected to the BOOT button. Therefore, pressing the BOOT button will momentarily disable power to the Qwiic connector.

Current Consumption

For ultra low power projects, these are the current consumption of the individual components, as specified in their datasheet:

  • XC6222 LDO Regulator:
    • Supply Current: 100 - 220 µA
  • MCP73831 Charger Controller:
    • Supply Current:
      • 510 - 1500 µA (Charging)
      • 53 - 200 µA (Charge complete; no battery)
    • Constant-Voltage Mode
      • Line/Load regulation: 100 - 50 mA
    • Fast Charge Constant-Current Mode
      • Fast Charge Current: 450 - 550 mA
    • Battery Detection Current: 6 µA
    • Leakage Current: up to 2µA
    • Status Indicator:
      • Sink Current: 25 mA
  • MAX17048 Fuel Gauge:
    • Supply Current:
      • Sleep: 0.5 - 2 µA
      • Hibernate: 3 - 5 µA
      • Active: 23 - 40 µA
    • I2C: 0.2 - 0.4 µA
  • CH340C Serial-to-UART Bridge:
    • Supply Current: 4 - 12 mA
      • USB Suspended: 0.04 - 0.15 mA
  • ESP32 SoC:
    • Rec Supply current: 500 mA
    • Active: 95 - 240 mA
      • w/ RF Transceiver:
        • TX: up to 380 mA
        • RX: Up to 118 mA
    • Sleep Modes:
      • Modem: 20 - 68 mA
      • Light: .8 mA
      • Deep: 10 - 150 µA
      • Hibernation: 5 µA
      • Off: 1µA
  • WS2812 RGB LED:
    • Supply Current: 1µA (@5V)
    • LEDs: 5mA each (@5V)