Comments on: ESP32 UART Communication (Serial): Set Pins, Interfaces, Send and Receive Data (Arduino IDE) https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/ Learn ESP8266, ESP32, Arduino, and Raspberry Pi Sun, 26 Apr 2026 20:26:56 +0000 hourly 1 https://wordpress.org/?v=6.8.5 By: Sara Santos https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/#comment-1182287 Sun, 26 Apr 2026 20:26:56 +0000 https://randomnerdtutorials.com/?p=162999#comment-1182287 In reply to Mark.

You can use those pins. But, you won’t be able to use the serial monitor.
Those pins are also used to upload code to the board. So, if they are being used for serial comunication with a sensor, then, you must reset the ESP32 afterwards if you want to upload new code.
Regards,
Sara

]]>
By: Mark https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/#comment-1180656 Tue, 21 Apr 2026 07:36:52 +0000 https://randomnerdtutorials.com/?p=162999#comment-1180656 In reply to Sara Santos.

Is there a problem if I use the pins 1 and 3?

]]>
By: Beat https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/#comment-1162288 Mon, 16 Feb 2026 14:07:40 +0000 https://randomnerdtutorials.com/?p=162999#comment-1162288 Hi,
due to the fact that you are the most skilled Arduino ESP guys I know, I have maybe a challenge for you…
I need to send an http request over UART with basic authentification to 127.0.0.1:8888

{“values”:{},”states”:{“xxxxx”:2}}Q IIhh P GET /jsongen.html?PIN=XXXT&LNG=1&US=1&FN=getAttributes&ID=1-HMI HTTP/1.1
Authorization: Basic SlNP_________G1pbiE=
User-Agent: _____/2.1.0 (Linux; U; Android 6.0.2; Generic HMI Build/HMI20)
Host: 127.0.0.1:8888
Connection: Keep-Alive
Accept-Encoding: gzip

” hhC n@ HTTP/1.1 200 OK
Server: Climatix
Content-Type: text/html
Connection: close

any idea how to solve?

Thanks 🙂

]]>
By: PokskiMon https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/#comment-1153088 Tue, 20 Jan 2026 09:22:45 +0000 https://randomnerdtutorials.com/?p=162999#comment-1153088 In reply to Dr Quark.

Have u tried going the other way? Making IO16 Tx and IO17 Rx??

]]>
By: Sara Santos https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/#comment-1111735 Mon, 20 Oct 2025 13:37:18 +0000 https://randomnerdtutorials.com/?p=162999#comment-1111735 In reply to Marc.

Yes.
You can do that.
At the moment, I don’t have any UART tutorials for the RPi.
Regards,
Sara

]]>
By: Marc https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/#comment-1111700 Mon, 20 Oct 2025 10:52:33 +0000 https://randomnerdtutorials.com/?p=162999#comment-1111700 Can I connect UART-to-UART esp32 to Raspberry pi?

]]>
By: Dr Quark https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/#comment-1016826 Sat, 15 Mar 2025 17:06:23 +0000 https://randomnerdtutorials.com/?p=162999#comment-1016826 It turns out that the TFT_eSPI.h library (or something linked in that library) prevents the UART (or maybe just IO16) from functioning on receive (Rx). Transmit (Tx) works fine. You can check the CYD hardware by removing the tri-color LED and the port3 connections to the CH340 and connecting IO16 and IO17 directly to port3. Then just do a loop-back test by connecting IO16 to IO17.

]]>
By: Dr Quark https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/#comment-1016490 Fri, 14 Mar 2025 20:05:52 +0000 https://randomnerdtutorials.com/?p=162999#comment-1016490 I know IO4, IO16, and IO17 work because they are connected to the LED in the unmodified CYD. I can see in the o’scope the proper 0.2v-3.3v serial data stream on IO16. I setup and started UART(2) using:

HardwareSerial SerialPort(2) ;
setup() {
Serial.begin(9600) ;
SerialPort.begin(9600, SERIAL_8N1, 16, 17);

When I reset the CYD, I occasionally get one SerialPort.available(), then nothing further.

]]>
By: Dr Quark https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/#comment-1016487 Fri, 14 Mar 2025 19:53:38 +0000 https://randomnerdtutorials.com/?p=162999#comment-1016487 In reply to Dr Quark.

I know IO4, IO16, and IO17 work because they are connected to the LED in the unmodified CYD. I can see the proper 0.2v-3.3v serial data stream on IO16. I setup and started UART(2) using:

HardwareSerial SerialPort(2) ;
setup() {
Serial.begin(9600) ;
SerialPort.begin(9600, SERIAL_8N1, 16, 17);

When I reset the CYD, I occasionally get one SerialPort.available(), then nothing further.

]]>
By: Dr Quark https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/#comment-1013333 Tue, 04 Mar 2025 18:59:34 +0000 https://randomnerdtutorials.com/?p=162999#comment-1013333 I’m trying to get two CYDs talking on UART(2). I’ve removed the tri-color led and connected the P3 port directly to pins 16 and 17, with no pullup resistors. I’ve cross-connected pins 16/17 and I see good serial output from pin 17, but pin 16 never gives me a Serial2.available(). I’ve used both units on the Tx side and the Rx side, just to make sure they both work when sending and to see if maybe one of the Rx sides of the UART is bad. Nope, Tx works on both, but Rx doesn’t work either way.

Is there something odd about UART(2) on the CYD?

]]>