ESP32-Cam Antenna Workaround

A while ago I got my hands on a pair of ESP32-Cam modules. They were crazy cheap and it looked like I had a great little device that would work well as a security or wildlife cam:

It’s tiny!

It was easy to program using the Arduino IDE and the example program, but no matter what I tried changing in the program it wouldn’t connect to my home wireless network.

There’s a lot of documentation out there on the ESP32 devices, but there are parts that seem to be missing. I wish I’d bookmarked the link, but I came across the comment section of one article that mentioned a 0R surface-mount resistor that selected the external antenna jack or the on-board PCB antenna. It didn’t take too long to find, and it was set to use the external antenna jack:

That explained why it wasn’t talking to the wireless – no signal. I could fix the problem in two ways: plug in an external antenna, or move the tiny little resistor so that it connected the ESP32 to the PCB antenna. I don’t have any connector that will fit that jack, so I decided to move the resistor.

**NOTE** Doing any combination or number of the following steps will definitely, POSITIVELY void the warranty of the device. It may also increase the electrical noise produced by the unit and/or its susceptibility to other sources of electrical noise. It may also cause operational or stability problems. It may also cause the device to produce wifi signals that are more powerful than allowed by law. Proceed at your own risk.

Unfortunately, between not being able to see it very well (even with a magnifier lamp), having a soldering iron with too large a tip, and having tingly fingers and shaking hands, I ended up with this:

Not only did I not manage to solder the resistor in place, I also ruined the PCB pad that connected back to the ESP32.

By this point I was getting pretty frustrated. Actually, I don’t think I’ve been that frustrated in quite a while. Fortunately, I had another ESP32-Cam that I could apply the knowledge that I gained on this one and not make the same mistake twi-bahahahaha… yeah, I ruined that one, too.

The two of them together cost me less than $15, but I hate throwing something out when it’s still “alive” (they both still booted and tried to connect to the wifi), and I was looking forward to playing around with them. Seeing as how they were pretty much garbage at this point anyway, I figured I’d see if there was anything I could do to get them working.

**NOTE** See previous note. Seriously.

I could see the PCB trace leading under the metal can, so I figured that if I was careful, I might be able to remove the can and find another soldering point to attach an antenna.

To remove the can, you don’t need a hacksaw or a Dremel… just a pair of very fine-tipped pliers or snippers. there is a small hole in the can in the inside corner right by where the antenna selection resistor pads are. Carefully grab it with the pliers/snips and pull straight upwards to make some room:

Slide the pliers in a bit more and lift up and away from the PCB antenna (towards the top of this picture). It may take a bit but the can end by the PCB antenna should break away:

Reposition and pull the can up and to the left – the right side and top should come free easily as well:

Reposition again and the last bit should break away with very little force:

The antenna connection point is – very nicely – right by where the antenna selection pads are, right between two surface-mount components with big pads and lots of solder:

So now to make the antenna. I used a piece of 26ga solid wire-wrap wire, but anything nice and thin will do 22ga is too big.

Cut a piece about 6.5cm long, then strip about 1-1.5mm and bend the stripped part at a right angle. Tin the wire, make sure it’s got a good coat of solder on it:

Bend the insulated part of the wire to whatever shape and angle helps you hold the stripped part in place at the new attachment point. Use the iron sparingly – if you’re heating and heating and it doesn’t seem to be melting, back off, give it a minute, and change your angle before trying again.

If you’re careful and lucky, you’ll end up with something like (or much better than) this:

Gently bend the antenna into the orientation you prefer, and you’re done!

Reminds me of one of those facehuggers from Alien

The next thing to try is powering it up (unless you haven’t programmed it, in which case you should probably do that now). With no can and a crappy detuned wire antenna, the ESP32-Cam was able to finally connect to my home wireless network:


And the camera’s video streaming works like a charm:

I suppose that instead of hanging a wire antenna off that point, I could’ve run a jumper from the new attachment point to the pad that connected to the PCB antenna (or the antenna jack, for that matter), but a) I just thought of it, and b) I don’t mind the crappy antenna look.

32 thoughts on “ESP32-Cam Antenna Workaround”

  1. Thanks Mark, you saved me from trashing my ESP32-CAM, after I trashed the same solder pad when trying to change from the internal antenna to an external one.

  2. Funny! I just had the same experience…
    * Unable to see in which position the resistor was placed.
    * Too big of a soldering iron
    * Pads disappeared..

  3. OMG. Its a 0 (zero) Ohm resistor. Just drop a blob of solder across the two pads and you’re done. You don’t even need to remove the old resistor to the external antenna and you’ll still get great reception.

    1. Hey DaHai!

      That certainly seems like an easier way to do it – I didn’t know it was a zero ohm resistor. Thanks for the info, much appreciated!

    2. @DaHai
      OMG. That is exactly what I did and now the wireless does not work due to the solder blob not going to the right place.
      But thanks to this blog I have a chance to fix it.

  4. Hi, thanks for sharing this, will try it! Btw did you measure the exact signal strength? Also did you try it with different cable types and lengths? Could be useful to know what works the best.

    1. Hi Laszlo! Thanks for the comment!

      I was going for a simple half-wave whip, which worked out to about 60mm, with a little extra for soldering. I don’t know if quarter-wave would perform better, but it’s half the length and I was wondering if enough wire would get far enough away from the ground plane in the board to work well.

      I haven’t tested the signal strength beyond getting it connected to my home network, but I have a couple of other antennas I want to test with the ESP32. When I do that I’ll be sure to test the little wire antenna too.

      Have a good day!

    2. Suggestion:
      use a dupont jumper wire. Cut one end which you solder on the board; the other end will keep its capability to connect to other wire so you’ll be able to increase the length as you’ll want.
      Talkint about jumper wire, I refere to something like

  5. Excellent job, thank you for sharing! I dropped my ESP32-CAM and it stopped connecting, I found your post and managed to connect those two little pins together with some very small wire – it works thanks to you! 🙂

  6. Hello Mark,
    Thank you very much for your detailed and competent presentation. You have brightened my day and I save 10€.

    Kind regards, Axel

  7. Hi! I just followed your directions here after mangling my own antenna pads and… it works! Thanks for this writeup! I was worried I’d have to track down the pinout of the daughter-board myself– didn’t even think of making my own antenna.

  8. Thanks a lot for the workaround. I had ruined my ESP32 trying to change the SMD resistor and was about to throw it away.
    Your workaround worked perfectly. Soldered just a piece of wire. Perfect!!

  9. Thanks a thousand, with your super tutorial I was able to bring my esp32 back to life. works perfectly! Greetings Johannes

  10. Thanks for this article.

    I’d gladly pay 1$ more for this board to allow switching antennas with a simple jumper instead of using this mechanism so hard to solder back.

  11. Thanks for posting your solution to the ruined antenna contact problem. It seems to be an incredibly common problem, and sharing your experience was really helpful for the rest of us!

  12. Great article..! I have done all the above and worse  😂
    First off I tried to move the zero ohm resistor…. you guessed it the pad came off at the common end. I removed the EMI can from the esp32 and tried to connect back directly to the pad that connects to the ext (SMA) antenna, using your photo to guide me… Well at some point one of the components at that corner junction(the one that is vertically aligned with your arrow) unstuck!! It stuck fast to the small piece of wire that I was using as a jumper, on trying to reposition the component back on it’s pad the wire pinged out of the pliers never to be seen again (believe me I have looked… hard)😩.
    So now, not only do I not have an antenna I am missing said very small SMD component which I guess is a capacitor?? (since the aerial will initially go through an RF filter) the value of which I have no idea.

  13. WiFi Channel 1 is at 2.412GHz which is 3.0cm antenna length for an optimal 1/4 wave antenna design of 2dB gain is the best performance coverage range. Unless you want a super long range transmission then build a coax colinear experience from my ham radio antenna design hobby.

  14. Hello everyone,

    did you try to connect the wire as shown up without destroying the resistors (on a brand new board) ?
    If so, I have to disconnect anything?
    Can I just solder the antenna as shown in shown here with nothing else to do ?

  15. The reason that they use a small resistor to change from internal antenna to external is because of the high frequency. At 2.4GHz the jumper becomes an integral part of the antenna and not at the right impedance for a good power match to have good range. Larger size pads and a larger resistor would significantly alter the impedance seen by the 2.4GHz output transistor in the ESP chip and the WIFI range would suffer. The RF power reflected from the mismatch would also get dissipated in the ESP chip and long term would not be a good idea.

  16. Champion! Thanks Mark, saved the day for 2 poor little esp32 cams that I thought were bound for the bin.

  17. I just ruined my ESP32 while trying to re-solder this resistor for the external antenna … and stumbled over your website. Thanks so much for this tutorial, with this nice hack the board now works like a charm.

  18. Thanks a lot. Why 6.5 cm wire length and not exactly lambda / 2 (=6.25)? Your photo shows the other end of the wire stripped as well. Is that really needed?

  19. Yes, what a pain. Just got done doing what you did except I used 2.4GHz antenna. They really need to make those pads bigger to be useful.

    Thanks to your article it saved my two boards.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.