solar-powered-arduino-uno
CS 807 Final Project
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.5%) to scientific vocabulary
Repository
CS 807 Final Project
Basic Info
- Host: GitHub
- Owner: victorroz
- Default Branch: main
- Size: 16 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Solar Powered Arduino Uno
Table of Contents
- :package: About this project
- :coffee: Overview
- :art: The design
- :clock2: Future ideas
- :hand: How to contribute
- :anchor: Materials
- :books: References
- :fire: Credits
## About this project
One of the challenging task when designing a remote data logger is the power source. For instance, having an IoT (Internet of Things) device in a forest to detect forest fires where the mains power supply is not present. In such circumstances, the need for a standalone power supply, which has the means to generate electricity from the natural resources available to human, is ideal. A solar panel is used to charge up a battery which is then channeled through a voltage regulator to power up the Arduino and any other external components connected to it. A secondary battery has also been introduced to act as a backup power supply in case the primary one fails. This design project lays out a run-through of the modifications made to the already existing solar charged battery powered Arduino Uno.
Overview
Introduction
The Arduino Uno is an open-source microcontroller board based on the ATmega328P microchip microcontroller. The board is developed by Arduino.cc which comes with an arrangement of digital and analog input/output (I/O) pins. The I/O pins can be used to provide power and control external components, and can also be interfaced with other expansion shields. As a result, sensors, such as temperature and humidity, could be wired with the Arduino to make a standalone system. One such example of standalone systems is referred to as data loggers. To explain it further, a Wikipedia article [5] states that data loggers are electronic devices that collect information over time by using sensors. This led to the main objective of this project which is to make use of nature energy, given its abundance and pure in form, to power up devices in remote locations. The search for renewable energy sources is a continuous process and the discovery of solar energy gave rise to numerous possibilities. One of them is an alternative source of power where a power outlet is not available. This project makes use of a 6V solar cell that charges up a 3.7V lithium battery. A voltage booster is then used to step-up the voltage to 5V, which can then be used to power the Arduino board and other components connected to it. In order to reserve battery energy, a timer circuit was also implemented to momentarily cut-off the power from the Arduino. Additionally, a secondary battery has been introduced to assist the primary battery in case it malfunctions and stops supplying power to the microcontroller.
Why?
In 2021, the province of British Columbia in Canada experienced some of the most terrifying forest fires recorded in history [3]. Furthermore, in the midst of writing this report, the Government of Saskatchewan has declared seven active wildfires in the province as of 11 August 2022 [4]. Even though there are satellites working around the clock to detect such disasters, having locally placed data loggers may result in faster information relays. However, the problem arises when the supply of electricity comes into question. Every man-made device requires some kind of electrical charge to start functioning. As such, the remote data logger also needs a power source to begin collecting data. The issue is that the device will be placed in a remote location, such as a forest, where there is no presence of power outlets. To overcome this, making use of solar energy is a feasible option. Furthermore, as mentioned previously, a secondary battery will also be added which will support the primary battery when it fails to supply power to the system.
Objective
The primary objective of this project is to design a system that will be able to power an Arduino board using solar energy. With the progress of IoT devices being made for various purposes, especially for use in forests to detect forest fires and gather environment conditions, this system will encourage developers to make better devices without getting worked up on the source of power supply. Before proceeding with the project, a reference was taken from the already existing project done by Igor Fonseca Albuquerque on Arduino Project Hub [1].
Issue
The major issue with this reference project was finding the exact components required to make the solar charger and timer circuit. As the author published this in the year 2016, some of the components were discontinued or out of stock. As a result, quite a bit of additional time was spent finding out the right components. In addition to the already incredible circuit made by Igor, a few modifications were done to it. Since the architecture was only using one lithium battery, a failure in the power source would have left the Arduino in an offline state. To overcome this issue, a secondary battery was introduced to serve as an emergency reserve.
The design
Details
The main driving mechanism for this project is the solar panel, as it will be used to power up the Arduino. As mentioned previously, there will be two parts to this system design. The first part consists of two of the charging circuits (one for primary and the other for secondary battery) and the second part consists of the timer circuit. Fritzing, an open- source CAD software, has been used to implement the circuit before soldering.
Assembling the solar powered battery charger
As portrayed in the schematic view, the positive output of the solar panel is connected to the 1N4004 diode which is then connected to the positive terminal of the battery charger. The 3.7V 18650 lithium battery is connected in a junction between the battery charger and the voltage booster. The battery gets charged and then stepped up to a 5V output. This 5V output is the required voltage to power the Arduino. It is to be noted that, the battery and voltage booster used in the simulation software does not match with the one that has been used in this project. At this point, the Arduino can already be turned on but the battery will be drained quickly.

Assembling the 555 timer circuit
In order to retain the charge of the battery as much as possible, a timer circuit was implemented. The main components of this circuit are a 555 timer IC and a 5V relay. Connection of individual components has been detailed in the following figure. The common terminal of the relay must be given the 5V output from the voltage booster to be activated. Since the voltage rating the relay is 5V, any supply lower than that will not switch it on.

Future ideas
- Make a PCB
- Use an OR gate IC instead of relays
How to contribute
This is a free and open-source initiative. Anyone can make a contribution based on future ideas. If there are any suggestions that are not included in future ideas, they can be made. Also, if the future ideas presented are not applicable to this design and are not beneficial to the use case, one can make a proposal. If you want to help with development, you can look at the manifest of files listed below to get an understanding of what each file is about.
Manifest
- /images - This is whre the image files for this README are
- /rawFiles - This contains all the raw or original source files from fritzing and draw.io
- /CITATION.cff - If anyone wants to use this repository as a reference then they can cite repository using the details provided this file
- /README.md - This is the file you are currently reading!
Materials
The materials required for this project are as follows:
- Arduino Uno [https://www.amazon.ca/ARDUINO-A000066-Uno-DIP-1-5/dp/B008GRTSV6/ref=sr15?crid=1HO0GYEHUC4SL&keywords=arduino+uno&qid=1660604145&sprefix=arduino+uno%2Caps%2C135&sr=8-5]
- Breadboard [https://www.amazon.ca/Breadboard-Solderless-Prototype-Distribution-Connecting/dp/B01EV6LJ7G/ref=pdbxgyimgsccl2/131-0512123-6000825?pdrdw=iDQ8u&content-id=amzn1.sym.17b2b149-58e2-4824-ba79-851c5f351fdc&pfrdp=17b2b149-58e2-4824-ba79-851c5f351fdc&pfrdr=R3J504ECFW2WGFPBRRFN&pdrdwg=dokHs&pdrdr=5436eac7-824c-4fe0-a619-b27339f73f25&pdrdi=B01EV6LJ7G&psc=1]
- Jumper Wires [https://www.amazon.ca/Elegoo-120pcs-Multicolored-Breadboard-arduino/dp/B01EV70C78/ref=pdday0fbtimgsccl1/131-0512123-6000825?pdrdw=7t2bc&content-id=amzn1.sym.8b6780d3-612a-41a1-b711-b85b62069095&pfrdp=8b6780d3-612a-41a1-b711-b85b62069095&pfrdr=Q6PMDMD2QHQERWVQAZAZ&pdrdwg=WyQ71&pdrdr=ada453ae-9118-4f62-9a2e-56708467c475&pdrdi=B01EV70C78&psc=1]
- 5V step-up booster [https://www.amazon.ca/gp/product/B07KJVGVCM/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
- TP4056 lithium battery charger [https://www.amazon.ca/gp/product/B083RTRJT6/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
- 6V Solar cell [https://www.amazon.ca/gp/product/B07BMMHMSJ/ref=ppxoddtbasinimages00?ie=UTF8&psc=1]
- 18650 lithium battery [https://www.amazon.ca/Bestgen-Rechargeable-Batteries-Emergency-Flashlights/dp/B0B8QZ4F2S/ref=sr129?keywords=18650+battery&qid=1660612423&sprefix=18650%2Caps%2C132&sr=8-29]
- Battery holder [https://www.amazon.ca/gp/product/B08B86KHB2/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
- 1N4004 diode [https://www.amazon.ca/gp/product/B08KD73D81/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
- 555 timer IC [https://www.amazon.ca/gp/product/B07RHKZ72L/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
- 2N3904 transistor [https://www.amazon.ca/gp/product/B07RTBJ1YZ/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
- 1MΩ resistor [https://www.amazon.ca/gp/product/B07JL6FGLM/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
- 100kΩ resistor [https://www.amazon.ca/gp/product/B07JL6FGLM/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
- 10kΩ resistor [https://www.amazon.ca/gp/product/B07JL6FGLM/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
- 100μF electrolytic capacitor [https://www.amazon.ca/gp/product/B089YDN6VJ/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
- 10nF ceramic capacitor [https://www.amazon.ca/gp/product/B072J58YMT/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
- 5V SPDT relay [https://www.amazon.ca/gp/product/B0874MF8DR/ref=ppxoddtbasintitles00?ie=UTF8&psc=1]
References
- Solar Charged Battery Powered Arduino Uno
- DIY - How to Use the Arduino Uno to Send an Email or SMS
- A look back at the 2021 B.C. wildfire season
- SPSA Reminds Residents and Visitors to Stay Cautious to Prevent Wildfires
- Data logger
Credits
A big thanks goes to Dr. Trevor Tomesh for insiring me in to the maker movement and helping throughout this entire project.
Owner
- Name: Victor C. Rozario
- Login: victorroz
- Kind: user
- Location: Regina, Saskatchewan
- Website: https://victorrozario.dev/
- Repositories: 2
- Profile: https://github.com/victorroz
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this article, please cite it using these metadata."
authors:
- family-names: "Rozario"
given-names: "Victor C"
title: "Solar Powered Arduino Uno"
version: 0.1.0
date-released: 2022-08-15
url: "https://github.com/victorroz/Solar-Powered-Arduino-Uno"