Introduction: 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
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
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 . . .
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:
Tomheylen: http://tomtomheylen.com/
Julian Ilett: https://www.youtube.com/user/julius256