In this video we are going to see how to make Arduino power off itself with the help of a simple circuit! Let’s start!

If you have watched some of my previous videos you will know that I like my projects to have minimal power consumption so that we can use them with batteries for a long period of time. One of the biggest disadvantages of the Arduino boards is that they need a lot of current even when in idle state. This Arduino Uno board for example needs about 40mA when idle and about 20mA if we put the Atmega chip to sleep. That’s a lot of power, so, it will deplete any battery in a few days. So, I wanted a circuit that will let Arduino to turn off itself instead of putting it to sleep in order to conserve power. After a lot of experimentation and googling I finished a first basic version of this circuit. Let’s see it action.

I have an Arduino Uno board here which is battery powered. When I press the button, the Arduino turns on, drives this OLED display, and all it does is to count down to its automatic power off. After 5 seconds it will turn itself off! If I press the button again, the procedure starts over again! Great isn’t it! If I connect a Multimeter you can see that when Arduino is on, it draws around 50mA of current, and when it is off the circuit needs around 0.5mA! That means that we can expand the battery life of the project to months instead of days! You can keep your Arduino on for as long as you wish, and then when it has completed its job you can turn it off automatically. But let’s now see how to build this circuit.


1. Arduino Uno:

2. OLED display:


4. Push Buttons:

5. Small Breadboard:

6. Multimeter:

7. Wires:

8. Battery holder:

9. Jumper wires:

10. Resistors:

The heart of the circuit is this MOSFET which is a transistor. It works like a digital switch. If we apply 5V at its gate, it will allow a large amount of current to flow from the source pin to the drain pin. If there is no Voltage to the gate pin of the MOSFET, no current will flow from source to drain pins of the MOSFET. We are going to use this feature to control the Arduino board.


At first we place all the parts on the breadboard. We place the 330K resistor between the gate and the source of the MOSFET. Next we connect Vcc from the OLED display and one leg of the button to the positive rail of the breadboard. The next step is to connect the source pin of the MOSFET to the Ground rail of the breadboard. Next we connect the middle pin of the MOSFET and the GND from the display to one of the bottom rails of the breadboard. The next step is to connect the 100K resistor to the gate pin of the MOSFET. The other end of the resistor is connected to Digital Pin 7 of the Arduino and the other leg of the button. Now all we have to do, is to connect the OLED display to the I2C pins of the Arduino. SDA pin goes to analog pin 4 and SCL to analog pin 5. We then connect the positive rail of the breadboard to Arduino 5V and the bottom rail to Arduino GND. That’s it, we can now connect power to the upper breadboard rail and check if everything is working as expected! Great, you can find the schematic diagram of the circuit in a link in the description of the video.








Never miss a video: Subscribe to