Introduction: How to Make and Program an Absolutely Minimalistic Barebone Arduino Running the Internal Clock

Picture of How to Make and Program an Absolutely Minimalistic Barebone Arduino Running the Internal Clock

This project came about when i got interested in Arduino and what you could do with them. I ordered an Arduino Leonardo and started to mess around with the various elementary projects and sensors. I quickly realised that i wanted to make something that could run for a long time and was using little power. I was having to spend quite a lot of time in order to get this working, so hopefully this will help others and make it a smoother path to making Low Power consuming Arduino projects.

Step 1: B.O.M

What you will need:

The assumption is that you have burnt the BootLoader, see here if not: How to bur the BootLoader on an ATMega328p chip
and that you have an FTDI controller already but if you don't, below is a link to get one.

1 * Arduino FTDI (http://www.ebay.co.uk/itm/TTL-3-3V-5-5V-FT232RL-FT...)

1 * Atmega328p (http://www.ebay.co.uk/itm/181954046884?_trksid=p20...)

1 * Breadboard (http://www.ebay.co.uk/itm/Green-Mini-Solderless-Pr...)

Jumper cables, Dupont Male to Male (http://www.ebay.co.uk/itm/40-Pcs-Dupont-Jumper-Wir...)

1 * 22pF capacitor

Step 2: Wire It Up

Picture of Wire It Up

Wire up the Arduino Uno with the breadboard and the ATMega like the above, don’t forget to include the capacitor.

Step 3: Program Using the Arduino IDE

Picture of Program Using the Arduino IDE

You will have to download and install the internal Clock library in the IDE, follow Tom's article below.

tomheylen: How to load the internal Clock library in the IDE: (https://www.instructables.com/id/2-Arduino-the-ATME...)

Once that is installed move on to the below.

In the IDE, under tools and make sure the Board: AtMega328 on a breadboard (8 MHz internal Clock).

Make sure the FTDI is chosen under Port:.

UpLoad the a sketch like the below:

<p>#include "LowPower.h"</p><p>void setup() {
  pinMode(13, OUTPUT); 
}</p><p>void loop() {
  digitalWrite(13, HIGH);   
  LowPower.powerDown(SLEEP_60MS, ADC_OFF, BOD_OFF);  // PowerDown 
  digitalWrite(13, LOW);    
  LowPower.powerDown(SLEEP_120MS, ADC_OFF, BOD_OFF);  // PowerDown
  digitalWrite(13, HIGH);   
  LowPower.powerDown(SLEEP_60MS, ADC_OFF, BOD_OFF);  // PowerDown 
  digitalWrite(13, LOW);    
  LowPower.powerDown(SLEEP_2S, ADC_OFF, BOD_OFF);  // PowerDown 
}</p>

Step 4: The End . . .

Picture of The End . . .

You now have an absolute bare minimum configuration, consisting of the AtMega328, and LED, breadboard, wires and power.

Now the fun can begin . . . ;)

Step 5: Thanks To:

Comments