New Board with ESP32-S2 with LiPo charger unleash the native USB-OTG functionality

We recently released our ESP32-S2-DevKit-Lipo development board with ESP32-S2 SOC. It has the same functionality and pinout as Espressif ESP32-S2-Saola-1, but in addition it has a LiPo charger and battery management and is designed for Ultra low power – only 30uA consumption when on battery and deep sleep. This allows handheld battery operated applications. The LiPo part can power external sensors/circuits. This board has a built-in programmer with a CH340T USB-Serial convertor.

Many have noticed that ESP32-S2 has a native USB-OTG. Then why did we put the CH340T on it? The reason is that the Espressif SDK didn’t support USB back when we designed this board.

Now Espressif SDK adds support for a USB bootloader and the programming of the ESP32-S2 can be done by the native USB interface, we decided to make a new revision where the native USB-OTG interface is used.

We wanted to keep the LiPo battery functionality and this created an interesting technical challenge: the USB-OTG port can be used both as device and host. When used as a device, the board is powered by the USB and LiPo battery is charging. When used as a USB host (i.e. you can attach USB devices to the port) the USB port must supply 5V to the USB devices connected. Our first prototype had a power supply problem: when the ESP32-S2 works as a host the battery is powering the USB-OTG port with 5V, but there is attached also the LiPo charger circuit, so infinite loop is made: battery -> step up to 5V -> USB -> LiPo chgarger -> battery 🙂

This issue was preventing us from releasing this board earlier, but now on Rev.B all of these issues are fixed so we are about to run production.

Needless to say we kept the ultra low power design and the new board also consumes as low as 30uA in deep sleep.

Searching on the net it seems that no one else has implemented a USB-OTG functionality to the ESP32-S2 yet so this one will be the first. Also to the best of our knowledge there is still no software support for a USB host on the ESP32-S2 but we hope after our hardware is released this will push and accelerate the software development further.

ESP32-S2-DevKit-LiPo-USB is going to be released as Open Source Hardware like other IoT solutions we have.