Develop USB Host and Device applications with ESP32-S3-USB-OTG board

ESP32-S series chips like ESP32-S2 and ESP32-S3 come with a USB OTG interface, and Espressif unveiled the ESP32-S3-USB-OTG board last September in a post entitled “ESP-USB: Espressif’s Wireless Communication Solution“, where they mostly focused on USB code samples with documentation in Chinese only and provided few details about the board itself.

But I browsed the company’s official Aliexpress store earlier this week, and I noticed ESP32-S3-USB-OTG board was up for sale for $35 plus shipping, with additional information now available, so let’s have a closer look.

ESP32-S3-USB-OTG board specifications:

  • Wireless module – ESP32-S3-MINI-1-N8 module with ESP32-S3 dual-core Xtensa LX7 processor with WiFi 4 and Bluetooth 5.0 connectivity, 8MB QSPI flash
  • Storage – MicroSD card socket
  • Display – 1.3-inch color LCD
  • USB
    • 1x Full-speed USB host port
    • 1x Full-speed USB slave port
    • 1x Micro USB port for debugging (UART console)
  • Expansion – 14 pads with 6x GPIO, JTAG, 3.3V and GND
  • Misc – 2x LEDs, Menu, Up and Down buttons, Boot and Reset buttons, BAT/5V selection switch
  • Power Supply
    • 5V via USB host or Micro USB port,
    • Optional 4.2V/500mAh battery
  • Dimensions – TBD

The Aliexpress page links to a Github repo: https://github.com/espressif/esp-dev-kits/tree/master/esp32-s3-usb-otg, but it’s been deleted for some reason. But since Git is a revision control system, we can still access the deleted README in English and Chinese, which pointed me to the right repo with the full details including schematics and PCB layout.

ESP32-S3-USB-OTG is comprised of two boards with the mainboard with the ESP32-S3 module and most ports, and a subboard with the LCD display. The photo below is the bottom of the mainboard with the 14 pads for I/Os and JTAG, battery solder pads, as well as the LEDs, and the CP2102N USB to TTL chip.

The board can be used to develop applications leveraging ESP32-S2/S3 USB interfaces such as wireless storage devices, Wi-Fi network cards, LTE MiFi, multimedia devices, virtual keyboards and mice. You’ll find code samples on Github making use of either USB device or host interfaces notably:

  • USB Host
    • USB camera support for video streaming, local JPEG encoding, and storage, image transmission over WiFi, etc…
    • 4G USB dongle for cellular network access, use a WiFi hotspot, IoT gateways…
  • USB Device
    • USB mass storage – The board can be converted into a wireless USB disk, card reader, or music player
    • Human Interface Device (HID) with the board acting as a USB touchpad, keyboard, or gamepad
    • USB-UART bridge
Share this:

Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

6 Replies to “Develop USB Host and Device applications with ESP32-S3-USB-OTG board”

  1. The resolution for USB cameras being computational limited at 640×480 and 15fps, does not make the ESP32-S3 an viable alternative for Webcams. Or am I missing something?

    1. Doubt if it can reach even 640×480 @ 15fps in high quality mode. ESP UVC Stream Component (https://github.com/espressif/esp-iot-solution/tree/usb/add_usb_solutions/components/usb/uvc_stream):

      Frame stream bandwidth should be less than 4 Mbps (500 KB/s)

      I am kind of disappointed from EPS32-S3. No any real new features. Some mediocre USB interface, the ESP32 Ethernet interface was even removed. To mention not the higher price.

      It seems Realtek Video SoC might be better fit for such applications. But, so far I am unable to find info about Ameba Pro and Ameba Pro 2 series, to mention not reliable supplier. Anyone aware if those products are actually sold to common developers or just specific companies ?

    2. It’s clearly not suitable for typical USB webcams.
      But for products with a low-res camera and display for AI applications like Maxiduino, it should be an improvement.

      1. I am currently looking for info about Nuvoton MA35D1 series. Nuvoton has some Github repositories featuring this product, but no tech specs … Anything info about this series ?

        1. I can’t find public information either apart from lots of software with u-boot, Linux, Yocto, etc…

          You may want to try to contact them via the email on their Gitee account, or the forums @ http://forum.nuvoton.com/

  2. Unless such application demands wireless link along with USB, I see NXP i.MX RT1050 or higher as a much better fit, due to its 2 USB 2.0 HS controllers with PHYs and much higher performance CPU.

Leave a Reply

Your email address will not be published.

Advertisement
Advertisement