Hard resetting via RTS pin : Fixed & Explained

(Last Updated On: December 11, 2019)

Hard resetting via RTS pin: I know you are struggling with this error/ issue so far, and it is killing your patience. So let me explain the Issue. You will how silly it is.

First of all, I wanted to let you know that this “Hard resetting via RTS pin” is not an Error. Yes, You have read the correct one its not an error. It’s just whatever tool (Arduino IDE) you’re using telling you it’s going to reset the Module after the Code Successful uploading. It indicates that the system is rebooting the board to run your application.

Explanation: Hard resetting via RTS pin

If you want to know in-depth about this issue first you should know about UART. Why because we will communicate with Device either NodeMCU-ESP8266 or ESP32 via UART protocol.

UART Means – Universal Asynchronous Receiver-Transmitter (UART).  In this Protocol, There is a  is a method called UART Flow Control to decrease the risk of losing data when slow and fast devices to communicate with each other over UART.

There are two types in this Flow Control.

  1. Hardware Flow Control
  2. Software Flow Control

Hardware Flow Control is also called RTS/CTS Flow Control. In this Hardware Flow control, RTS and CTS will come into the picture.


RTS means “ready to sendCTS  Means “clear to send

The RTS signal is an output of the UART informing the other UART on the bus that it is ready to receive data. This RTS signal changes when data is sent and changes back afterward. This signal is used to perform a hardware reset when the transmission of the Program from laptop to Device(ESP32/ESP8266) is completed. This action will restart the program that is within memory.

Why This Hard resetting via RTS pin is required ???

In the previous versions of the ArduinoIDE, this feature is not enabled. Sometimes the people are experiencing that the uploaded program is not executing properly. At that time we should restart the device by pressing the Reset hardware button. To minimize this bug In the later versions(1.8.0) of ArduinoIDE this feature is developed.

Why everybody is considering it as an Error ???

Up to me Its just a human perception, Basically all the logs in the Arduino IDE are shown in the red-colored text. Most probably the All the errors we see in the red text color. Whenever the log shows “Hard resetting via RTS pin…” we basically treat it like an error. This is the problem with text color and our perception.

My suggestion to Adruino Team is to change this text clour to white or Green so that people will stop treating this log as an Error.




2 thoughts on “Hard resetting via RTS pin : Fixed & Explained

  • January 18, 2020 at 7:40 PM

    So, where is the advertised ‘FIX’

    • January 18, 2020 at 7:49 PM

      Since it’s not an error there is no need of specific fix… Getting knew about the reason behind the issue is the fix what I feel. That’s why I advertise likely that.


Leave a Reply