Weather Station: Designing the Circuit


So now that most of the parts have arrived for my weather station, I have begun designing, testing, and programming the circuits for both the receiver and the transmitter part of the weather station.

So far I have connected the thermometer, barometer, and hygrometer sensors to the Atmega328P-PU chip on the breadboard. I have also connected the MX-FS-03V transmitter to the board and I still have 10 digital inputs left over.

On the top-left you can see an Arduino Uno which has the MX-05V receiver attached. I went through the sample code from the RC Switch and Virtual Wire libraries to figure out what was best for my setup. I eventually went with the Virtual Wire library and my own code. I found this website to be helpful in describing how to connect the modules.

One of the challenges I faced was parsing the code though to the send function which was included in the Virtual Wire library. I eventually found a solution using this code:

float p = getPressure();

char pbuf[7];
dtostrf(p, 7, 2, pbuf);

char msg[21];
sprintf(msg, “%s %s %s”, tbuf, hbuf, pbuf);

vw_send((uint8_t *)msg, strlen(msg));

This following code takes a float temperature reading, turns it into a char array, then combines it and 2 other readings into a single char array, which then gets passed onto Virtual Wire send. Shorter messages have a lower chance of getting interrupted or lost so I will stick with those in the final program.


Another challenge I faced was providing the correct voltage to the 3.3v barometer. Since this is a minimalist breadboard design, the voltage actually comes from the 5v USB to Serial adapter; the BMP180 barometer will not work with 5v and it could get damaged.

I remembered that voltage dividers were a thing, so I incorporated one into the design. This is the circuit I used:


Using a 100 ohm and a 200 ohm resistor (common values) in the circuit above will provide 3.3v to the barometer. Voltage dividers should only be used to power low amperage devices, and will not work with items like motors. It’s a “quick” solution to something that should be handled with a static voltage regulator.

In the image above there is a formula for figuring out the voltage of Vout, as well as the formula for the resistor power dissipation, which is 0.08 watts. 0.08 watts is not a big deal.

Now that everything was hooked up, I wrote a simple little loop which transmitted values across the room.


Easy so far! All I need to do now is hook up a voltage regulator, put all of the components onto a perfboard, and maybe even try some reed switch sensors! The code also needs a bit of work in order to extend the range, but that will come later.

Also, I started building the enclosure for the weather station out of some plywood:


It looks like a bird-house!

While it’s not the best housing for taking accurate measurements, it should do the trick. In order to protect the wood, I plan to paint, then cover the entire thing with epoxy (or vice versa).

When I am done this project I will release all of the schematics/source files as well as publish some start-to-finish instructions on Instructables!

Read more

Finishing off the panel


Applying the coat:

I went over to Lordco and bought myself some clear UV spray in a can. The instructions on the can said that a light base coat shout be enough. I went ahead and outdid myself and applied 5 coats and let them dry.

And that’s it! You’ve got a working 6 volt solar panel. How you use it is up to you, hook it up to charge batteries, use them to power a radio, it’s really up to you!

Read more

Sealing the panel


A good frame will keep the cells sturdy and should seal the cells in a waterproof material. Common sealing methods include EVA film, a glass face, silicon and epoxy based sealants. Each method has their pros and cons. For this panel I decided to use epoxy because it was easy and was a non-glass method of strengthening the wood. Also, I had a lot of it around from a project that my dad is currently working on.

The main disadvantage of using epoxy is that it yellows, and you never fully know when or how much it is going to yellow. The plan was to give the epoxy 3 days of drying time and then cover it with a clear UV protection coat.


Applying silicone:

To make sure the cells are properly attached to the base, and do not buckle, silicone is applied in a thin layer underneath the cells. I used a squeegee to spread it inside the area of each cell. Applying the cells now, make sure to apply silicone generously to the two wire leads. Those leads will stick out of the surface a bit, but this is okay since the epoxy will cover them.


Mixing the epoxy:

I used a marine grade, indoor (ironic), and most importantly, self leveling epoxy. It needs to be self leveling or it will leave air bubbles. Almost all epoxies need to be mixed with a 1:1 ratio (for two part epoxy). In my case I used 400mL or epoxy, so 200mL of hardener and 200mL of epoxy. I mixed the epoxy for aprox. 10 minutes and poured it thoroughly over the cells, starting with the cracks, ending with the surfaces.


The pour:

The cables and cells are now attached to the back plate now. I leveled the panel out on our table by adjusting several wooden blocks. The leveling of the panel is critical, otherwise the epoxy will pour out one edge.

I ended up using about maybe 400ml of epoxy, I wasn’t quite sure how much is enough so I had to do several pours. During this time the use of a flame such as a propane torch is required. Heat raises the air bubbles to the surface where they pop, leaving a smooth surface.

Read more