[ Play Video ]

In country like India most of the people are dependent on agriculture.For effective planning in agriculture weather forecast is of utmost importance.So farmers are always interested in the Weather Forecasts.As farmers stay in remote areas, they have to wait for the news updates in TV, Radio or News Papers.Unfortunately this weather information is not the accurate data of their local environment rather it gives data of nearest weather forecasting station.
Being a son of a farmer, I decided to monitor the local weather and inform to my father earlier.So that he can take early decision for his farm.

My weather stations typically consist of two major parts:

1. The sensors that sit outside and measure temperature,humidity, rainfall, and barometric pressure.This data is send wirelessly through a RF transmitter module to the display unit.I named the entire module as Transmitter module.(Tx).

2. The display unit that lives inside in a convenient place so any one can read the external temperature,humidity etc. It equipped with a RF receiver to receive data from transmitter module.I named it as Receiver module (Rx).

Both the module are run by the arduino micro controllers.

As the transmitter module is deployed in the field,we have to deal with the power management.It is impractical to run a long cable to provide power to the sensor’s location.This leaves relatively few practical options.

1. Connecting directly an Arduino board to a battery. Though it sounds good and obviously it would work, but your battery would be depleted in a matter of days because some components like voltage regulators,power led and USB interfacing chip in the arduino board are always drawing power.
But now a days high capacity battery packs are readily available in the market.Solar panels are getting more efficient and cheaper. Adding a boost converter in the circuits extract every last drops of juice out of battery.

2. Putting the arduino to “sleep mode" to consume even less power.

You can see it in the step-11 and 12.

In this guide I will teach a new skills on how you can make a solar powered battery pack for your arduino and how arduino power consumption can be optimize by putting it in to sleep mode.

By using the above technique you can run your sensor related or any other stand alone arduino project for a long time.



1.Arduino Uno (Amazon / eBay)

2.Arduino Nano ( Amazon / eBay)

3. DHT11 (Amazon / eBay)

4.RF transmitter-Receiver pair (Amazon / eBay)

5.20x4 LCD display (Amazon / eBay)

6.LCD I2C module (Amazon / eBay)

7. 3.7 V Li Ion Battery /2 AA Ni Mh rechargable Battery (Amazon / eBay)

8.Boost Converter (Amazon / eBay)

9.Li Ion Battery charging board (Amazon / eBay)

10. Battery Holder (Amazon / eBay)

11.Solar Panel (Amazon / eBay)

12.Resistor 10K ( Amazon )

13.Diode -IN4007 ( Amazon )

14.Jumper wires/Wires ( Amazon )

15.Bread Board ( Amazon )

16.22 AWG solid core wire ( for making antenna) ( Amazon )

17.Scotch mounting pad and tap ( Amazon )


1.Soldering Iron and solder ( Amazon )

2.Glue gun ( Amazon )

3.Hobby Knife ( Amazon )

4.Drill ( Amazon )

5.Wire cutter/Stripper ( Amazon )

<p>I have a problem!!! </p><p>This report would have more information with</p><p> &quot;Show verbose output during compilation&quot;</p><p> enabled in File &gt; Preferences.</p><p>Arduino: 1.0.6 (Windows 7), Board: &quot;Arduino Uno&quot;</p><p>sketch_sep15a:39: error: 'POSITIVE' was not declared in this scope</p><p>sketch_sep15a.ino: In function 'void setup()':</p><p>sketch_sep15a:49: error: no matching function for call to 'LiquidCrystal_I2C::begin(int, int)'</p><p>C:\Users\ADMIN\libraries\Arduino-LiquidCrystal-I2C-library-master/LiquidCrystal_I2C.h:76: note: candidates are: void LiquidCrystal_I2C::begin()</p><p>sketch_sep15a:61: error: no matching function for call to 'LiquidCrystal_I2C::begin(int, int)'</p><p>C:\Users\ADMIN\libraries\Arduino-LiquidCrystal-I2C-library-master/LiquidCrystal_I2C.h:76: note: candidates are: void LiquidCrystal_I2C::begin()</p><p>I need a help!!!</p>
<p>It looks like you're missing the LiquidCrystal-I2C library from your files. Get it from here: <a href="https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library" rel="nofollow">https://github.com/fdebrabander/Arduino-LiquidCrys..</a></p>
<p>I have same problem too(sorry, I can't speak English well)</p><p>exit status 1</p><p>'POSITIVE' was not declared in this scope</p><p></p><p>I just followed the system you gave.</p><p>Setup librarys...</p><p>but... Why did I get error?</p>
<p>Hello, Can i have some practical electronics question ? Can you explain me why you use Diode -IN4007 in this circuit ? Is it mandatory ? </p>
<p>Yes, it essentially makes a one-way connection between the solar panel and the battery. Current can flow from the solar panel to the battery but cannot flow from the battery to the solar panel.</p>
<p>Hi. This diode is necessary to place, because if it is not placed and there is a shadow on the panel, this consumes energy. That is, if there is a stain on the panel, that part of the panel will consume energy. With the diode we get that it can not consume.</p>
<p>Hello . I did this project, but I used DHT22 and much more accurately measured. Tell me what it is &quot;HI&quot; on the display, because the project has no other sensor than DHT and it shows some strange values.</p>
<p>I liked your project, you can also upload to a cloud server and monitor wirelessly by using iot application platform such as thingspeak.com</p>
<p>I have used the DHT22 which can measure negative temperatures as well. <br><br>But with this code I have a missing datapoint for temperature when it's in minus. I don't manipulate anything with the input on the receiver end so the problem must be in the sender code.</p>
<p>Hello:<br>Thank you for all the project information.<br>Got it!</p>
<p>nice project </p>
<p>Hi! Can i have the schematic diagram for this project?<br>Thanks a lot!</p>
<p>what about Li on battery ? if -20C outside.</p>
<p>Hi Deba</p><p>Thank you<br>for this very nice instructable. I would like to build a solar powered weather<br>station under this model. But I live in Switzerland where sunlight can be<br>scarce especially during autumn and winter. Do you know how much sunlight the<br>system needs? Would you recommend increasing the solar panel voltage, current,<br>or battery capacity, or the three things?</p><p>Also, a 4V<br>&ndash; 200 mAh panel is no longer available on e-bay. Any replacement option?</p><p>Thank you<br>very much for your support</p><p>Sebastien</p>
i want make it for my final year projects.
<p>Hi, can I make a similar connection to power an arduino plus a servo motor? Can I make it so that I don't need to disconnect the solar power ever? Can I simply keep it running?</p>
<p>You did a really good job documenting and explaining your project, good pictures, details, links - really useful.</p>
<p>The pro nano can be replaced by a atmega 328<br><br>Thank you</p>
<p>I think if you remove all the LEDs you will already reduce energy consumption a lot.</p><p>The only other thing that's different from a barebones chip is the extra 5V regulator on the Pro Mini.</p>
<p>Yes you can replaced.</p>
<p>This board might be a good option if you're looking for low power consumption: https://bitbucket.org/talk2/whisper-node-avr/overview it can be used with standard AA batteries</p>
<p>Instead of advertising your product here which is: </p><p><strong>Release Date:</strong><br>TBD</p><p>You should be focusing on the same goal to fix this project for free. His design is obviously faulty. Anyone who builds this I give your station 3-4 weeks tops with a 6000mAh battery before it goes down and then the battery will never recharge again to power the station.</p><p>I have built this setup just like him with bare bone atmega 326P (although using external crystal oscillator, it doesn't change much). My station is using the lowpower library just like his and sends data in every 5 minutes.</p><p><a href="https://www.instructables.com/id/RF-315433-MHz-Transmitter-receiver-Module-and-Ardu/" rel="nofollow">https://www.instructables.com/id/RF-315433-MHz-Tran...</a></p><p>By this article the RF transmitter modul works from 3-12V so I will take out the voltage booster (which I believe drains off all the energy here) and let you know the results in 2 months.</p>
I had a problem that the display shows no information, I hope 5 min and nothing, I have everything connected like this on the page, like the Tx and Rx codes
<p>Solved. Used an older version of arduino ide, all working fine now!</p>
<p>Congratulations !!!</p>
<p>good morning , you can work with Arduino UNO R3 ?</p>
<p>Yest it will work with Arduino UNO R3.</p>
<p>I made the circuits, but the LCD shows me wrong numbers, and when I open the serial monitor to verify that the receiver is working i cant find anything there</p><p>help?!!</p>
<p>I think you have problem in software.Though not sure.</p><p>Or you may check the Arduino Vcc.Is it sufficient ?</p>
<p>Beautiful project! I'm stuck with the receiver :( I just see a blank screen and don't know what to do. Everything looks ok, but I can't even show the icons! On the other hand, how can I be sure the transmitter is transmitting? </p><p>Thanks!</p>
<p>You can confirm it by checking your receiver arduino serial monitor.</p><p>connect your receiver arduino to the PC through a USB cable,open arduino IDE and see the serial monitor.If you receive the data then it confirm transmitter is transmitting.</p>
<p>Hey deba168, I was running into a similar issue. After some debugging, I determined that the vw_get_message call never returns true so I'm pretty sure the receiver is not getting any data. The circuit appears to be complete and I verified that the transmitter and sensor are working, what do you think would be the most likely cause of that?</p>
<p>Thanks for the advice, but the problem was that lcd doesn't show anything until it receives data from transmiter. So if I power the transmiter first, I would have to wait 5 minutes until getting data (or press reset). Once I have discovered it, everything is ok ;)</p>
<p>Hi can someone help me please. I have made this and having trouble. If i use a different transmitter and code i can get the details on the display but making this project nothing no serial data for transmitter or reciever. I'm a beginner and please correct me if I'm wrong. When the transmitter data pin is connected to D11 in the instructions but in the sketch it is set as D12 ???? can someone explain this please and maybe why I'm getting no serial data from either module. Thanks.</p>
<p>Using 2x AA NiMh batteries with a dc-dc booster you say to </p><p>&quot;Solder the '+' terminal of boost converter to the battery positive terminal.</p><p>Solder the '-' terminal of the boost converter to the battery negative terminal.&quot;</p><p>But<br> where do i solder on the solar panel? in parallell to the battery? if <br>my solar panel can produce 6v in peak conditions how will the booster <br>that can take 0.9v-5v handle that?</p><p>Or should i skipp the booster <br>and use a arduino pro mini (3.3v) version and connect the solar/battery <br>to the vin pin (the one with the built-in voltage regulator)?</p><p>Another note: i'm planning on using the solar powerd arduino to run a waterpump to water the flowers rather than for sensors.</p><p>It will be in sleep and waking up about every 3 hours and checking if its light or dark out, if it's dark it will check for soil moisture and then if needed start the pump for ~10 seconds.</p><p>do you think this rig will be able to run like this or will i need to add more batteries and solar panels for it?</p>
<p>Where the code of this project? (Programation)</p><p>thx</p>
<p>The code is attached in step-7 and step-9.</p><p><a href="https://www.instructables.com/files/orig/FQS/YAB6/HZV3O6IZ/FQSYAB6HZV3O6IZ.txt">https://www.instructables.com/files/orig/FQS/YAB6/H...</a></p><p><a href="https://www.instructables.com/files/orig/F3S/72IM/HZS8WTVS/F3S72IMHZS8WTVS.txt">https://www.instructables.com/files/orig/F3S/72IM/H...</a></p>
<p>Hi</p><p>I did not notice any details about transmission range. What is the maximum?</p>
Hai. <br>I have a problem.. There were no display on the lcd.. What was the possible problem? I need help!!
<p>Make sure that hex address (0x27) is the right one for your LCD display The one that I am using is 0x3F. If your not sure if this is the problem try running sketch named LCD_Hex_Address. This program will seek out the serial interfaces proper address. Hope this will help you.</p>
<p>Hello, I want to made your proyect, but I want to include the barometer sensor and the rain sensor. How can I include those sensors on the arduino placard and the software. thanks</p>
<p>Hello</p><p>i have problem with my display,do you know what it could be?</p>
<p>check your display wires and pin mapping. also might be the fact that the display contrast is to high and the characters are not visible. there should be a potentiometer on the back of the display from where you can tweek.</p>
<p>Made everything 1:1 except I used two Nanos, displays stays empty. </p><p>tripple checked everything, I have no clue why it is not working. </p><p>Checked all the comments, gave both units enough time and so on :( pretty dissapointing. </p>
<p>Hi,</p><p>Your tutorial is ultimately misleading. You are using the barebone chip but you keep showing the nano through most of the tutorial.</p><p>I had made some measurements and the NANO with power led unsoldered takes up 5mA in sleep mode with the lowpower lib (aka that is the Maximum power saving you can achieve), if you leave the default power led on it takes about 16mA constantly and I use the unregulated pure 5V input (in which case the voltage regulator doesn't come into play at all).</p><p>To get down to the micro amp (uA) range you MUST use the bareboard. </p><p>My question is: what parts do absolutely necessary from the bareboard build:</p><p><a href="https://www.arduino.cc/en/Main/Standalone" rel="nofollow">https://www.arduino.cc/en/Main/Standalone</a></p><p>I would say:</p><ul><li>2 22 pF capacitors<br><li>16 MHz clock crystal<li>Atmega 328P with arduino bootloader</ul><p>and nothing else. Is this about right?</p>
<p>Nice project, but mine isnt working yet. My LCD doesnt receive anything. 5V input i measured. How can i see it on the serial monitor? Cant find a Baud rate. please help!</p>
<p>Hey deba....my lcd display is not showing anything....i have connected all the wires that u have shoen in the circuit....when i see the recieved data in the serial monitor, it is empty......please help me...i have posted few pics below....</p>
<p>Hi Venkat,</p><p>I am really sorry for the late reply.</p><p>Can you measure the voltage at Arduino 5v pin ?</p>

About This Instructable




Bio: I am an Electrical Engineer.I love to harvest Solar Energy and make things by recycling old stuffs. I believe &quot;&quot;IF YOU TRY YOU MIGHT ... More »
More by deba168:3 Useful Things From an Old Laptop DIY Mobile Boombox DIY Portable Mini Refrigerator 
Add instructable to: