Question about hooking up Tx and Rx from esp32 to Arduino

Hello all. I have a question that I hope interests people. I have an esp 32 cam that i am using as a security camera it has a motion sensor hooked up to it. I have uploaded the motion activated camera code that i got from arduino's sample applications, it uses telegram. When someone enters the room the program will take a picture then open a connection with the wifi and send it via telegram. This was ok until I realized that my wifi's cable can be dissconnected from a conduit in my public hallway. So i decided to use one of these.

GPRS GSM SIM Development Board, GPRS/GSM Shield Development Board Module Kit with GSM Antenna Fit for SIM900 850/900/1800/1900 MHz GPRS/GSM

It is suppose to fit overtop of my Arduino. Then with through code I can send text or access the internet with the gsm shield. I want to get the picture from the esp 32 cam by hooking up the tx and rx on the esp32 cam with the ones on the Arduino and do a serial communication to receive the image then send it to my phone via the gms shield. I know that this will work but there are no working examples of this around. I have a few worries about getting this to work. I have one good example of a person explaining how to do this. Here it is.

The esp 32 cam has two input powers 3.3 and 5 volts. After seeing brownout errors from the esp32 cam I decided to stick with 5 volts on the input even though people have told me not too. It seems fine so far. Now I know arduino uses 5 volts usually. I was worried about hooking up the TX and RX from the arduino to the esp32 cam. If I have my esp32 cam set to 5 volts on the input will its tx and rx be using 5 volts. Also will the Arduinos rx and tx be using 5 volts? I have a few different components that i want to hook up to the arduino via tx and rx can i hook up mulitiple components to it or is there a tx rx extension for Arduino?

Thanks for any tips.

No. The ESP32 I/O is always 3.3V. Either use a 3.3V Arduino and connect it directly to RX and TX, or with a 5V Arduino, use 5V to 3V level shifters to make the connection.

The 5V input on the ESP32 goes to a voltage regulator that applies 3.3V to the rest of the ESP32 circuitry.

There is lots of bad advice on the web suggesting that the FT232 serial adapter 3.3V output can provide the current needed for the ESP32-CAM (over 300 mA with the white LED on). It can't.

1 Like

Ok I was going to use my arduino to power the esp32 cam. The Ft232 adapter is enough to load a program I am sure about that. Ok I bought some of these

Can I put them on the rx and tx. What exactly are they I roughly know. Is one positive and the other negative? what one is what? Thanks for the advice. That was a straight answer on that finally.

No, you cannot put a boost converter on RX and TX. You need a logic level shifter.

ESP32 TX at 3.3V to Arduino RX at 5V is OK. Arduino interprets things above 2.5V as HIGH so 3.3V is good.

Arduino TX at 5V to ESP32 RX at 3.3V requires some level shifting, not what you bought, which was to convert powers, not signal. All you need is two 10Kohm resistors in series and that converts 5V to 2.5V. Here is someone's example with 1kohm and 2kohm. You could go with those values but really it doesn't matter that much:

Thanks for the tip that saves me some money on buck converters. why is the rx and tx hooked up to d2 and d3? Say I have two different esp 32 cams can i hook their rx and tx's to the same line on the arduino? How does one deal with multiples? Thanks

TTL UART ports are one-to-one communication, not one-to-many. Buy an arduino MEGA2560. It has 3 extra TTL UART ports.

1 Like

thanks alot for the advice.

I don't get it!

You have an ESP32.

Why would you want to connect it to an Arduino? :roll_eyes:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.