CH340 Issues on Surface Pro 3?

James Young · May 31, 2016

I picked up a few LoLin NodeMCU v3 boards the other day (you can read a comparison of the various NodeMCU dev boards here).  However, I had a hiccup with it.

I couldn’t get it to work reliably on my Surface Pro 3 (running Windows 10).  Yet, when I plugged it into a colleague’s Lenovo running Ubuntu, it worked fine.

The serial UART (a CH340) was disappearing when the NodeMCU attempted to start up WiFi.  If I held down the reset button so that the ESP never initialized, the UART worked just fine.  Strange.

Then I tried plugging the NodeMCU into a dumb powered USB hub instead of directly into my Surface.  It worked just fine!

My suspicion is that the problem is caused by the power demand reported by the CH340.  It says it needs < 100mA, but I know that the power draw on these things can be upwards of 300mA.  So, I suspect that the Surface is limiting the power draw to what the USB device says is its maximum on startup.  The dumb hub doesn’t care about such things, so it powers the device regardless.

TLDR;  If you have problems with NodeMCU devices vanishing off your USB bus when you do things with them, plug them into a dumb USB hub.

Twitter, Facebook