USB Insight Hub

A USB interfacing tool for developers & tech enthusiasts

Crowdfunding now!

View Purchasing Options
Nov 25, 2024

Project update 5 of 5

Welcoming Wi-Fi Support Thanks to an ESP32-S3 Upgrade!

by David S

This is an important update, and we think you’re going to like it. We’ve decided to include an ESP32-S3 instead of an ESP32-S2, which means USB Insight Hub will have Wi-Fi support and an embedded Web server! We invite you to have a look at its new features

Background

The initial objective of USB Insight Hub was to show the enumeration of connected devices and display power information. When choosing the microcontroller, I was looking for a something with embedded USB connectivity and enough power to handle display tasks. The Espressif ESP32-Sx and the Raspberry RP2040 were both good fits for this purpose, and they both came with the added benefit of strong open-source communities. As discussed in a previous update, our initial prototype was built with an ESP32-S3, but at that time we noticed that the dual core architecture was unnecessary unless Wi-Fi was being used, and the single core ESP32-S2 had more than enough power (while saving us some money on the BoM). And so the first versions of USB Insight Hub were built around an ESP32-S2 microcontroller.

Realization Came a Little Late…But Not Too Late!

As the design progressed, I realized that having an embedded web server makes a lot of sense for the following reasons:

  1. In case the USB Hub is not easily accessible—if it's in a server room, for instance, or a remote lab—a Web UI serving as a mirror of the physical displays and buttons allows the remote monitoring of current, voltage, and protection status as well as the control of the power and data lines. It allows you to power cycle a device remotely, for example, if you notice that it's in faulty state.
  2. It provides a more convenient interface for certain advanced configurations like setting precise current limits or a startup delay timer. These configurations are also accessible through the embedded screens and buttons, but they're more intuitive through a web browser.
  3. It provides independence from the underlying operating system that handles enumeration extraction which simplifies the development of the latter.
  4. It allows for remote control and monitoring of USB Insight Hub without a host
  5. It provides a familiar environment for initial deployment and firmware upgrades

Below is a mockup of the work-in-progress Web UI:

Implications

Adding a web server required more memory and processing resources, pushing the 4 MB flash and single core of the ESP32-S2-MINI-2 to its limits when updating screens and running the web server at the same time. This required optimizations and felt like it might prevent us from adding additional functionality in the future. Fortunately, our PCB design included proper ground planes and clearances for a Wi-Fi antenna, making it compatible with an ESP32-S3-MINI-1, which provides 8 MB of flash, two cores, and plenty of power for additional firmware enhancements.

This upgrade introduced some differences in the USB operation and required a few modifications to ensure compatibility with Windows, Linux and macOS, but we think it was well worth the effort.

Current Status & What to Expect

Our Web UI is in a raw state, as we’ve mostly used it for testing, and the design is still a work in progress. But these changes will add considerable value to the product and will not affect the campaign price…which means you have even more reason to get yourself a USB Insight Hub. :) If you have any questions, please free to reach out!

Cheers,
David


Sign up to receive future updates for USB Insight Hub.

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects