I am running into a power issue with a USB Host Shield 2.0 and could really use some troubleshooting advice. I have everything wired and stacked correctly, but I am getting absolutely zero power to the USB port, and my mouse won't turn on.
My Hardware:
Arduino Leonardo
USB Host Shield 2.0 (MAX3421E)
Redragon M910-KS Mouse
The Setup & Issue:
The boards are stacked, and out of the box, the required jumper pads are already soldered (the VBUS PWR 5V pad is bridged, and the lower 5V and 3.3V pads are bridged). Despite this, when I plug the Leonardo into my PC, the mouse gets no power.
I tried a few basic troubleshooting steps to see where the power was stopping:
Attempt 1: I ran a jumper wire from the Leonardo's 5V pin directly to the VBUS solder pad on the shield. The mouse flickered on for a split second, then immediately died.
Attempt 2: Suspecting the mouse was pulling too much power from the PC's USB port, I plugged a 12V/1A DC wall adapter into the Leonardo and tried the same 5V to VBUS hotwire. This time, the mouse didn't light up at all. (The Leonardo stayed powered on perfectly).
Attempt 3: Right next to the USB port, there is an unsoldered split-pad labeled 3.3V. Just to test the port itself, I touched my 5V jumper wire to the right half of that 3.3V pad (the side that leads directly into the port). The mouse instantly powered on and stayed on perfectly.
My Questions:
Based on these symptoms, does this indicate a short on the VBUS line, or is there something else I am missing about how power is routed to the port?
If the normal route is dead, is it safe to permanently solder a 5V wire to that specific half of the 3.3V pad, or will that damage the MAX3421E chip?
Are there any other tests I should run to properly diagnose this? (I don't have a multimeter)
Apologies in advance if some terminologies were used incorrectly, first time dipping my toes into this!
I think my host shield might be a defective board, or a cheap clone or something. Because I'd just noticed when I stack the boards together, it immediately loses connection and disappears from my laptop or PC, and if I do leave them stacked for a few seconds the Leonardo heats up pretty quickly.
sounds like there is a short circuit somewhere
are you sure you have the USB shield in correct orientation to the Leonardo board?
are you sure the USB shield is compatible with the Leonardo?
if you are looking for a microcontroller which directly (no need for a shield) supports USB OTG have a look at the ESP32-S3 which supports both USB device and USB Host
e.g. ESP32-S3-DevKit-1 acting as USB keyboard Host
I am brainstorming with multiple LLMs regarding this and they are all suspecting the same as well.
are you sure you have the USB shield in correct orientation to the Leonardo board?
Yes, everything is aligned properly.
are you sure the USB shield is compatible with the Leonardo?
I am honestly not sure, but it is the same one I have seen various people using online.
if you are looking for a microcontroller which directly (no need for a shield) supports USB OTG have a look at the ESP32-S3 which supports both USB device and USB Host
Question, how were you able to power up the keyboard via the ESP? If I did my research correctly, the ESP can't output power from either USB ports, right?
if the ESP32-S3 PCB does not have a OTG USB connector one can be added by connecting a USB Type A female connector to GPIO20 and GPIO19 (plus 5V for USB OTG Host - red wire in photo below)
e.g. a Heltec ESP32S3 WiFi LoRa V3 acting as a Serial OTG Host to a USB-RS232 module connected to a Quectel modem board
I see what you mean, this is very insightful, thank you very much.
I have tried soldering (bridging the gap?) the USB->OTG on the back of the PCB, but I am honestly unsure if I have done it right. Then I've plugged things in and the mouse is not turning on.
Hey thank you so so so so much! Once I set things up like you told me in the IDE everything just worked, the mouse lit up, and it was picking up the movements I was making!!!! REALLY APPRECIATE YOUR HELP!!!!
Was it a software thing that had to be enabled? I'm curious what happened haha