Reset your Arduino: Never been so easy (3rd one you never heard about it)

Two out of five questions I get asked on the internet are about how to reset an Arduino. This looks easy, but there are other ways in which you can reset your Arduino apart from pressing the reset button placed on the right side of the board.

You may be thinking of other ways for resetting an Arduino, but

Worry not. There are two ways you can reset your board:

  1. Hardware
  2. Software

It totally depends on the situation which works the best for your project. Most of the time my arduino gets reset while doing the hard press on the reset button, but I have also tried the other resetting techniques which works fine for me.

I made a guide about different ways to reset your Arduino board, and why resetting an Arduino helps you in troubleshooting your problem. By the end of the blog you get to know other ways of resetting the Arduino, and you will be able reset your Arduino board.

Without wasting any time, let’s start with what is Arduino reset?

What is Arduino reset?

In simple words, resetting an Arduino is just like restarting your board. Every time you press the reset button it starts executing the code from the first line.

But note that there’s a myth about the Arduino that resetting an Arduino will delete your code forever. No, it is just a myth, and it won’t delete your code. It just deletes the data of the ROM previously.

It is like squeezing the restart button on your PC. At the point when you restart your PC, it promptly closes every one of the cycles which were running and starts the framework once more.

Why and when should you reset your Arduino?

1. To dispose of interior bugs

The code you have been attempting to run probably won’t be working as a result of a blunder in your Arduino. The reset choice permits you to dispose of any inside bugs of your board.

2. To get out from limitless circles

Assuming your Arduino board has quit reacting in the execution of a program, it implies it’s presumably trapped in a boundless circle, and it can’t receive in return all alone. You want to reset your Arduino board for it to leave that circle, which is one of the principle motivations behind why individuals utilize the reset choice.

3. To investigate blunders

Resetting is the initial choice that flies into a software engineer’s brain when they are executing an Arduino based program. It is the initial phase in investigating mistakes, and more often than not, resetting the Arduino board takes care of the issue.

Can Arduino be reset through software?

On the off chance that your Arduino board is inaccessible to the degree that you can’t make any outer associations with it, then, at that point, you want to know how to reset your Arduino board utilizing the Arduino IDE. This IDE contains the accompanying parts in it:

  • Content tool

This is the place where the improved on code can be composed utilizing a worked on variant of C++ programming language.

  • Message area:

It shows mistakes and furthermore gives an input on saving and trading the code.

  • Text:

The control center showcases message yield by the Arduino climate including total blunder messages and other data

  • Console Toolbar:

This toolbar contains different buttons like Verify, Upload, New, Open, Save and Serial Monitor. There shows the Development Board and the Serial Port on the base being utilized on the right hand corner of the window.

5 simple ways to reset the Arduino

How to reset your Arduino through Hardware

1.Utilizing the Reset Button

It is one of the easiest ways to reset your Arduino board even a 9 years old kid could do that. There is an orange button placed on the right side of the Arduino UNO board. Pressing it for like 3-4 seconds will make your Arduino reset. By intriguing the button will quit all the activity with your Arduino board and return the process to the primary line of your code.


2.Utilizing the Reset Pin


Reset pins are usually active low inputs, and it is used to connect the microcontroller to the reset circuitry. Main purpose of the reset pin is to notice the power fluctuation when the board gets more power than the recommended one then reset circuitry sends an active low signal on the reset pin.

  1. Giving power to the reset pin will reset the code. Simply just connect a wire between the power pin and reset pin. It will make your Arduino board reset, and if any of the memory is stored in the ROM it would just flash out, and it starts executing from the first line of the code.
  2. After connecting the digital I/O pin to the reset button upload the code below:

void setup() { // leave empty }
void loop()
while (// test application exit condition here )
// application loop code here
void mySetup() { //… init here }

and if the above code doesn’t work then you can find a couple of more codes around the internet, or RESET CODE here.

3. Setting Up an External Reset Button

In some of the projects that you can’t reach the reset button of your Arduino board, or on the other hand assuming there’s a safeguard set on top of your board, then, at that point, you set up an outer reset button. All you really want is a breadboard, a press button, and a couple of jumper wires alongside your Arduino board.

Applying a low voltage for (2 microseconds – that’s quick) to the RESET pin will reset the Arduino UNO, as per its datasheet. For this, you want to interface the press button in its regularly open state with one side associated with the RESET pin and the opposite side to GND. In its ordinary position, the RESET pin will be high, yet when you press the button, it will associate with the GND pin and subsequently will be at a low rationale level.

How to reset your Arduino through software

Somehow if you are unable to reach out your hardware board, and you really need to reset your Arduino then there are two ways you can reset your arduino board without touching the Arduino board:

  1. Utilizing the reset function
  2. The watchdog timer method

4. Utilizing the Reset Function

The most straightforward method for resetting Arduino through writing computer programs is to utilize the implicit reset work resetFunc(), which is accessible in the Arduino libraries. You should simply compose the code and call the reset work at address area 0.

This strategy is the most straightforward of all since it needs no outer hardware, just a capacity must be called, and you’re all set.

5. The Watchdog Timer Method

This strategy utilizes the guard dog library to reset Arduino on the off chance that the program isn’t reacting as it ought to, and it’s suggested by the AVR chip maker.

The header file must be included for the watchdog timer to work.

Assuming the primary program should take 40 ms to run, the guard dog clock is set up to such an extent that assuming the principle program takes in excess of 40 ms to execute, then, the microcontroller will be reset.

On the off chance that the program capacities typically, it will reset the guard dog clock before it contacts zero. In the event that the program hangs in a circle and can’t reset the guard dog clock, then, at that point, a hinder is created which resets the Arduino.

Now, Are you able to reset your Arduino board?

Sometimes resetting your Arduino board seems to be the ultimate solution of your project. I once got into the situation where I couldn’t be able to touch the Arduino board then these method worked the best for me. Now you know what it takes to reset your Arduino board. If you are stuck somewhere in the project, or your board is not responding, or you are stuck with an infinite loop.

This article has both ways either you can try with the hardware part, or you can try with the software. You need to make sure, you are executing correctly, or using the right code.


Mataf Khan

An electronics enthusiasts from childhood became an electrical engineer, I've been playing with Arduino and other electronics gadgets like raspberry pi since when I was 14. and have a passion of troubleshooting Arduino problems.

Recent Posts