Hello,
After playing with a PICO kit and an ESP32-WROOM module on a breakout board, I dared to order a PCB for the full application and put it all together. I had some trouble getting the ESP32 stick on the board. First I tried solder paste and hot air like for all other SMD parts. But that wasn't melting at all and all pins were connected with each other. So I took it off, removed all paste and conventionally soldered it with a soldering iron from the side. Pretty tedious task and it's actually too small to do that. Afterwards, I checked all pins and saw no short circuits (except the 3 GND pins). I cannot test the connections though because the pads are inaccessible.
Now I tried to flash a firmware on it and it doesn't respond. esptool says it doesn't respond. The board has two methods of powering, from a regulator and from the programming port. Either way I can see around 3.3 V at the programming port, so power supply works well and has no short circuit. Then I tried to pull IO0 to GND and see if something happens on the serial console, but nothing at all. Also, my lab PSU says the whole thing takes 0 A, so no current is flowing.
Is my ESP32 module dead? Have I applied too much heat while trying to get the solder paste melting and then off again? Or might a connection be missing somewhere? I already had a missing contact on the breakout board but for IO19. It's a bit hard to resolder things now because there are plastic components nearby now. What startup behaviour should I be able to see on any of the pins even if some of the module is dead? Is there any chance to analyse this or should I try to replace the ESP32 immediately?
ESP32-WROOM seems dead
-
- Posts: 9766
- Joined: Thu Nov 26, 2015 4:08 am
Re: ESP32-WROOM seems dead
An ESP32-Wroom should produce at least some serial output on U0TxD if the 3v3V rail is OK, the MTDO pin is at a high level, and a proper reset signal (low on power-up, then high; this is usually done using a RC network) is applied on EN. Suggest you check those things first.
Re: ESP32-WROOM seems dead
Thank you for the information. None of that was true on my board, so I had to inspect it a little closer. I found several issues.
Some solder connections weren't good so I guess the module didn't even have power applied. Resoldering with a little more solder seems to have made the connection. I first checked the pins I needed for programming, I'll have to revisit those I need for my application.
Next the voltage regulator from the FTDI USB-UART module wasn't enough here. I saw brownout messages on the serial console with the factory-default firmware. It was totally fine on the breakout board (even with an RS-485 transmitter) but it seems like the bit of extra circuitry on my PCB was enough to overload it. I found that note in the online documentation about troubleshooting. So I changed that.
And then my programmer circuit wasn't complete. I forgot to add a pull-up for the EN line that was already included in the breakout board for the attached push button. My PCB doesn't have that so I needed to add that pull-up to my programmer. Before, the EN was permanently low-ish, keeping the ESP32 in reset.
Now I can program the ESP32 module and it also runs my application (at least a first test app for the ADC reading, without WiFi). So that looks good at least. I can move forward and fix the connections instead of going backward and releasing them.
I'm just a bit worried about my voltage regulator. It's a Traco TSR1-2433E instead of -2433 (without E) which is a little cheaper but seems to give an output voltage between 3.4 and 3.9 V when idle (below 0.3 mA). That might be a little too much. It's only stable above 0.4 mA. Maybe I should add a resistor load (10 kΩ) for that.
Some solder connections weren't good so I guess the module didn't even have power applied. Resoldering with a little more solder seems to have made the connection. I first checked the pins I needed for programming, I'll have to revisit those I need for my application.
Next the voltage regulator from the FTDI USB-UART module wasn't enough here. I saw brownout messages on the serial console with the factory-default firmware. It was totally fine on the breakout board (even with an RS-485 transmitter) but it seems like the bit of extra circuitry on my PCB was enough to overload it. I found that note in the online documentation about troubleshooting. So I changed that.
And then my programmer circuit wasn't complete. I forgot to add a pull-up for the EN line that was already included in the breakout board for the attached push button. My PCB doesn't have that so I needed to add that pull-up to my programmer. Before, the EN was permanently low-ish, keeping the ESP32 in reset.
Now I can program the ESP32 module and it also runs my application (at least a first test app for the ADC reading, without WiFi). So that looks good at least. I can move forward and fix the connections instead of going backward and releasing them.
I'm just a bit worried about my voltage regulator. It's a Traco TSR1-2433E instead of -2433 (without E) which is a little cheaper but seems to give an output voltage between 3.4 and 3.9 V when idle (below 0.3 mA). That might be a little too much. It's only stable above 0.4 mA. Maybe I should add a resistor load (10 kΩ) for that.
Who is online
Users browsing this forum: No registered users and 112 guests