In the progress of working with an Arduino, there will be lots of situations in that we need to reset board, such as electrical noise. Today, this article will show you the ways how to reset the Arduino board.

Option 1: Use the reset pin

On Arduino board, there is a RESET pin. To be able to use it to reset the board, you set it as a OUTPUT pin. When the RESET pin is pulled down to LOW, the board will reset. (For safety, I advise you to connect a 10kOhm resistor as the below circuit)

image developed using Fritzing. For more circuit examples, see the Fritzing project page

Option 2: Reset by code in the software

This is a popular way because it is easy to use and does not require hardware. By this way, you put the pointer in the Arduino to 0 then the circuit will reset.

Option 3: Reset by using a library

In the libraries that the Arduino used, there is a library for resetting the board named wdt.h (Watchdog Reset). By using the wdt_enable() function inside that there are the parameters to adjust the time before resetting:

DTO_15MS
WDTO_30MS
WDTO_60MS
WDTO_120MS
WDTO_250MS
WDTO_500MS
WDTO_1S
WDTO_2S
WDTO_4S
WDTO_8S

Option 4: Reset by using Assembly Code

Like the second option, we will also use the code to get the pointer to 0 by embedding the Assembly language code.

Source: Arduino.vn