5
\$\begingroup\$

I am using a ESP8266 esp-12e NodeMCU development board. The board has 1117 regulator to generate the 3.3V required by the module. It takes input from USB cable.

When i connect the NodeMCU to my desktop computer via USB cable, i am able to upload and run the programs into it from ArduinoIDE.

But when i connect the same NodeMCU(using the same USB cable) to my laptop, i get the following errors when i try to run programs using ArduinoIDE:-

espcomm_sync failed

espcomm_open failed

I tried searching the internet and found some threads explaining that insufficient power is the cause of these errors. Which means the NodeMCU is not getting sufficient power from the laptop(i guess!!).

So i have ordered an external 3.3Volt power supply meant for Arduino based devices.

But i am not sure whether to connect the NodeMCU to my laptop as well as the external power supply at the same time??

Is it safe to do so or will it cause any harm to the NodeMCU/Laptop ??

\$\endgroup\$

3 Answers 3

3
\$\begingroup\$

According to the schematics of the board, there is a diode (D1) between the VDD5V and the VDDUSB net to prevent any current flowing back, towards the laptop's USB port.

enter image description here

Just make sure that you connect your external power supply's GND to your board's GND, and the 3.3 V to the board's 3.3 V pin.

\$\endgroup\$
10
  • 1
    \$\begingroup\$ considering this, wouldn't it be safer to power the 5V bus of the board? Not sure if the regulator will be happy driving(or being driven by) another 3.3V supply. Also 5V supplies are easier to come by \$\endgroup\$
    – Wesley Lee
    Commented May 25, 2016 at 9:32
  • \$\begingroup\$ Yes, the external power supply has 5Volts as well. So i should connect the 5V from external power supply to the 5V pin of NodeMCU and GND to GND. Then i can connect the USB from laptop to the NodeMCU to load program from ArduinoIDE. That's all, right ?? \$\endgroup\$ Commented May 25, 2016 at 9:53
  • 1
    \$\begingroup\$ The problem with that is: the 5 V pin (PIN1 on J1 header) is connected to the VDDUSB net which is before the D1 diode, so the USB and the external supply would be connected directly. The external supply should be connected to the VDD5V net as it is after the protection diode. This net unfortunately is not available on the headers. \$\endgroup\$ Commented May 25, 2016 at 9:59
  • 1
    \$\begingroup\$ It is the better choice, though @Wesley Lee is right. The on-board regulator may won't like it. Another way is, if you could find the PCB layout of the board, maybe you could find a via connected to the VDD5V net (though I could not find any PCB design of the nodeMCU so far). \$\endgroup\$ Commented May 25, 2016 at 10:15
  • 3
    \$\begingroup\$ @Abhishek if you reeeeally want to be safe then maybe buy an externally powered USB hub. \$\endgroup\$
    – Wesley Lee
    Commented May 25, 2016 at 10:30
2
\$\begingroup\$

Adding to the first suggestion by @Wesley Lee concerning the use of a 5V PSU.

The circuit diagram appears to be inconsistent with itself and the physical hardware. There is a Shottky diode shown dropping the USB 5V supply to VDD5V. This is labelled as a 1N4007 diode which is not a Shottky diode. The VDD5V is used to supply the voltage regulator to provide a 3V3 supply. VDDUSB is shown to be directly attached to pin 1 of the device.

When I attach a USB cable to the device I can measure a USB power rail voltage of 5.08V. Pin 1 of the device measures 4.72V which is consistent with the forward drop of a Shottky diode. Given this it would suggest that VDD5V is connected directly to pin 1 rather than the USB 5V supply (VDDUSB). This would seem to be rational as:

1) An external 5V supply applied directly to pin 1 would be isolated from the USB 5V supply by the diode.

2) In the absence of an external 5V supply the device would be powered by the USB 5V supply with the lower forward drop of the Shottky diode of 0.36V (or thereabouts).

From this I would conclude it is safe to attach an external 5V supply to pin 1. As stated above it would NOT be a good idea to hook a 3.3V supply to the device.

\$\endgroup\$
1
1
\$\begingroup\$

I am adding the suggestion posted by @Wesley Lee:

If you reeeeally want to be safe then maybe buy an externally powered USB hub.

This is the most convenient solution I found to my problem.

Although connecting an external power supply works as well, but you need to be careful while doing so.

If you do not want to toy with your development board, using an externally powered USB hub is the best solution!

P.S.: Just for reference, when I connect my NodeMCU using externally powered hub, I get the "/dev/ttyUSB0" option in the "PORT" section in "Tools" drop-down in ArduinoIDE. This got me going.

(As for my original question, @Bence Kaulics's answer above is correct).

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.