Magic smoke with Lolin D32 pro

i have burnt my lolin d32 pro with a magic smoke after connect servo wires to 3V pin, very sad :frowning:

can someway to continue using this board ?, i have tried cp2102 module to connect rx,tx, 3v, gnd pin but it didnt work.

the PlatformIO show these errors:

'Original message: {!r}'.format(ctypes.WinError()))

serial.serialutil.SerialException: Cannot configure port, something went wrong. Original message: WindowsError(31, 'A device attached to the system is not functioning.')

please help, thanks :frowning:

m4u_hoahoctro:
i have burnt my lolin d32 pro with a magic smoke after connect servo wires to 3V pin, very sad :frowning:

Sorry to hear. Very sad indeed :(.

The spec sheet specifies the absolute max on the VDD pin as 4.2V, If I understand you correctly, you have connected that to 5V. I think you have cooked the CP1202. Those small QFN packages are a real swine to solder, so, replacement could be difficult unless you are set up for that.

Willem.

Willem43:
Sorry to hear. Very sad indeed :(.

The spec sheet specifies the absolute max on the VDD pin as 4.2V, If I understand you correctly, you have connected that to 5V. I think you have cooked the CP1202. Those small QFN packages are a real swine to solder, so, replacement could be difficult unless you are set up for that.

Willem.

Not the CP2102, the programmer onboard is CH340, i mean i use external programmer CP2102 after it burnt, but nothing works,
there is only 1 3.3v pin on this board, so is only the ch340 damaged or the esp32 chip died ? :frowning:

m4u_hoahoctro:
Not the CP2102, the programmer onboard is CH340, i mean i use external programmer CP2102 after it burnt, but nothing works,
there is only 1 3.3v pin on this board, so is only the ch340 damaged or the esp32 chip died ? :frowning:

OK. I now understand. As far as I am aware the CH340 should be fine with 5V - that is how we run them on the arduinos. The ESP32, however is not - the spec sheet quotes the absolute max VDD as 3.6V. The ESP32 most likely got damaged.

I have no idea how to check which is damaged except by deduction - and that is that the ESP is the problem.

Sorry I cannot be of more help here. I am sure there are other here with more expertise on this.

Willem.

m4u_hoahoctro:
there is only 1 3.3v pin on this board, so is only the ch340 damaged or the esp32 chip died ? :frowning:

If I understand correctly, you connected a high current load (power to the servos) to the +3V3 pin on the nodeMCU.

The most likely primary failure would be to either the voltage regulator or to the protection diode (D2) between USB VBUS (+5 V). If the voltage regulator blew, it may allow overvoltage to downstream circuitry (the ESP32) and destroyed it.

To diagnose the diode with a multimeter you can use the diode test function to measure across D2. It should conduct in one direction and not the other. If it's failed, it will not conduct in either direction.

If the diode tests ok, you can apply USB voltage and observe the voltage on the input (pin 1) of the voltage regulator. If there is voltage (about 4.5V) there, the diode is good and voltage is reaching the regulator. If the regulator is working there should be 3.3V at the output (pin 5).

The external CP2102 probably didn't work because the voltage regulator on the USB to Serial board is unable to provide sufficient current for the nodeMCU board either because the regulator simply doesn't have the capacity or because the nodeMCU board has been fried to a low resistance short.

MrMark:
If I understand correctly, you connected a high current load (power to the servos) to the +3V3 pin on the nodeMCU.

The most likely primary failure would be to either the voltage regulator or to the protection diode (D2) between USB VBUS (+5 V). If the voltage regulator blew, it may allow overvoltage to downstream circuitry (the ESP32) and destroyed it.

To diagnose the diode with a multimeter you can use the diode test function to measure across D2. It should conduct in one direction and not the other. If it's failed, it will not conduct in either direction.

D2, you mean GPIO2 ?, measure with pin 2 and USB pin ?

I viewed D32 pinout ( https://wiki.wemos.cc/_media/products:d32:sch_d32_pro_v2.0.0.pdf ), and if as you told, the pin 2 is the pin of ME6211, on the board they re too small so that i cant know which exactly pin need to measure :frowning:

MrMark:
If the diode tests ok, you can apply USB voltage and observe the voltage on the input (pin 1) of the voltage regulator. If there is voltage (about 4.5V) there, the diode is good and voltage is reaching the regulator. If the regulator is working there should be 3.3V at the output (pin 5).

I think the red rounded one is that chip, i measure at pin 1 and vol is 3.6
But at pin 5 theres nothing

I havent checked the diode yet, its too small, i cant see anything number on them to identify which one is D2

I had a look at the schematic for the lolin d32 pro (the only one I could find).

I assume the servo power is 5V. If that was applied to the 3.3V pin it will be applied to the output side of the voltage regulator. If I read the spec sheet correctly it could probably handle the 5V there.

It is highly unlikely that diode D2 will be damaged. First you will need to blow the regulator to get a short to the input. Second that diode can handle up to 40V reverse voltage.

My concern is that that 3.3V pin (pin 1 if my diagram is correct) is connected directly to the ESP32, CH340 and the Micro Card reader power inputs. The only problem I see with the CH340 is that the V3 reference voltage pin is also connected to the 3.3V line. I do not know if that could damage the CD340.

If USB is connected and we do not have a short circuit on the 3.3V output side of the regulator the power LED should light up if the regulator is working.

I still think the ESP32 could also be damaged.

Willem

I'm guessing that the part you have circled in post #7 is the TP4054 just from its proximity to the battery connection and being next to the indicator LED. I think the voltage regulator is the part (S2R* marking) next to the board I/O pins labeled "12" and "13". The diode "D2" is probably the two pin part (1S marking) next to the three pin part (Q1?/A1sHH? marking) next to the "EN" board I/O pin.

Willem43:
I had a look at the schematic for the lolin d32 pro (the only one I could find).

I assume the servo power is 5V. If that was applied to the 3.3V pin it will be applied to the output side of the voltage regulator. If I read the spec sheet correctly it could probably handle the 5V there.

To be clear, my understanding is the original poster tried to power the servo from the 3.3V pin rather than connecting a 5V source from the servo stuff to the 3.3V pin. If it's your interpretation then the ESP32 is likely fried and the regulator probably isn't.

@MrMark.

Ah, I see your interpretation and now understand your diagnoses.

I do not know what sort of current a modern USB port can provide - it used to be a bit more than 500mA after which the port shuts down.

If the op was trying to power the servo from the 3.3V pin, and the USB port could provide the current, I agree. That regulator could be damaged, it can only supply about 600mA max. If that is the case, it will not be too difficult to replace and the rest should be OK.

I doubt the diode will be damaged, it can provide at least an amp.

We need to hear from the op as to who is correct.

I am not too impressed with the design. The USB power should be protected by a pollyfuse, they are cheap and protects both the USB and the circuit. Even I add them to everyone of my boards.

EDIT: I checked up and found this:

A unit load is defined as 100 mA in USB 2.0, and 150 mA in USB 3.0. 
A device may draw a maximum of 5 unit loads (500 mA) from a port in USB 2.0; and (900 mA) in USB 3.0.

So, in your case, if power comes from a USB 3 port, the regular is probably blown.

Willem.

MrMark:
I'm guessing that the part you have circled in post #7 is the TP4054 just from its proximity to the battery connection and being next to the indicator LED. I think the voltage regulator is the part (S2R* marking) next to the board I/O pins labeled "12" and "13". The diode "D2" is probably the two pin part (1S marking) next to the three pin part (Q1?/A1sHH? marking) next to the "EN" board I/O pin.

I read the tp4054 datasheet. They have 5 pins too. But the doc say the V prog pin have vol is 5v So i measure the second 5 pins one. And yes. Its 5 (then the 5 pins one next to battery connection is regulator ?? )

Willem43:
So, in your case, if power comes from a USB 3 port, the regular is probably blown.
Willem.

My usb port is 2.
I measured the 1S part. And one side the value is 1. The opposite side with exchange terminals is 198. So the diode is fine ?

I have no Idea how to check.

@m4u_hoahoctro

Before we carry on, could you please clarify:

  1. You connected the 5V power supply, which is intended to power the servos, to the lolin 3.3V pin

or

  1. You connected the 3.3V pin on the lolin to the servo trying to supply power to it?

We seem to have different initial interpretations - I now also tend to guess it will be 2 above.

Willem.

Willem43:
@m4u_hoahoctro

Before we carry on, could you please clarify:

  1. You connected the 5V power supply, which is intended to power the servos, to the lolin 3.3V pin

or

  1. You connected the 3.3V pin on the lolin to the servo trying to supply power to it?

We seem to have different initial interpretations - I now also tend to guess it will be 2 above.

Willem.

Yep. Case 2. I connect the servo to 3.3 and in less than 5s, the smoke out

OK. @MrMark was correct and I was wrong.

USB should have only supplied 500mA, it possible that is exceeded that - who knows. My first guess would be that the the regulator is blown - it can only supply absolute max 600mA and a servo most likely starts higher than that.

How good are you at soldering/unsoldering? I would have started by removing the regulator and then measure and check other things. It is difficult to check the other components if the regulator, for instance, is shorted.

Looking at your picture in post #7, the group of components between the gold plated hole and the ESP, above the white connector, belong to the power block in the diagram. (The 5 pin chip next to the battery connector is for charging it).

The large (all relatively spoken) unit just above the white connector (marked SL) is, I would say, the diode we are talking about. The side away from the white bar, to the left, should be close to 5V (it is directly connected to the USB 5V). The bar end should be about 4.5 - that is obviously if everything is working. The three pin device will be the FET supplying power from the battery, when the USB is unplugged.

If you do not see 5V on the non-bar side you are not getting 5V from the USB - maybe due to excessive current drawn - hence the reason I would remove the regulator.

It is, for me, easy to remove a component like that using a good de-solder braid, Just as easy to put back. YMMV.

NB: Does anything actually look a bit charred in any way - if you had smoke and got a stink, something burned.

Willem.

Thanks Willem and Mark, I guess its better to buy a new one and i should never use any power pin on esp board for any purpose anymore - an external power board will be a good choice for not encountering any mistake again

But anyway, im still feel angry a bit for this time, 15$ has gone -_-

If you are not into building electronic circuits you are better of by taking the route of least resistance. Probably the best decision.

The way to power servos, I use a lot of them in my model railroad, is to power them with an external power supply capable of providing the required current. The arduino boards (and obviously even worse, ESP, due to their 3.3V) are not up to powering servos.

Good luck and have fun.

Willem.

The LOLIN D32 Pro has a microSD card reader, I2C connector (compatible with SparkFun Qwiic if you change the order of the wires) and battery connector all in one small package. I havenโ€™t found this combination of ports in any other ESP32 board. It is supported by the Arduino IDE and has performed well in my usage. :slight_smile: