WeatherShield + supercapacitor + tiny solar cell

There were some interesting discussions in the Low Power Techniques forum about solar power, running motes on super capacitors, and running motes without batteries. I had some tiny solar cells I got long ago from ebay, and I wondered if these could run a low power stock Moteino+WeatherShield node, without any assistance.

Update: the shop now has an offering for a 7.5F SuperCap and a 1W mini Solar Cell which can be used in a similar project as this shown here.

For the experiment I added this 7.5F low-ESR supercap to charge from the solar cell during the day, and keep the mote going at night. To avoid discharge I added a shottky diode from the cell to the cap. The solar cell is actually composed of three tiny cells wired in parallel, the combined capacity is around 0.7W. Here’s the “schematic”:

I initially charged the cap from a 5V source to get it going, and then I attached the cell to a basement blurred glass block window which hardly gets a ton of light:

Note that the shottky does drop 0.2V from the actual capacitor voltage. Even so this worked surprisingly well. Here is the new node in my Gateway UI:

The node transmits temp/hum/pressure/voltage data every minute. Below is a look at a few weeks of the voltage readings. The solar cell charges every day to about 4.25v (actual voltage is ~4.45V b/c of the diode) and discharges to just below 4V.

Quite encouraging, I was pretty sure this would work since the WeatherShield and Moteino sleep at under 7uA, I just wasn’t sure how these old small cells would behave with the supercap. I recon if this node would be placed outside and facing direct sunlight, the charge voltage and overnight dips would be even higher values.

This would also work with a LiPo battery instead of the super cap. Of course, if this was placed outside in the freezing cold, those cheap LiPos from china can die in the cold. But at just $6.50, the supercap is a cheap alternative, much safer and resilient to the cold, and shows how low power is not that complicated.

Using PowerShield with Moteino & WeatherShield

John from John’s DIY Playground put together a nice video of setting up a Weather Node powered by a PowerShield from a LiPo battery, watch his assembly vide and demo below.

Although you could directly power the Moteino + WeatherShield from a LiPo battery, this is a good example of how you might assemble & use the PowerShield to get 5V from any lower voltage and power Moteino and other sensors for low power operation.

He also shows how to program it and configure it in his IoT Gateway software.

John mentions he made another video of a similar setup, this shows mating only the WeatherShield and a Moteino  with integrated antenna. Here it is:

WeatherShield R2 released

UPDATE: A sample RFM69 sketch for WeatherShield R2 is posted here.

WeatherShield is now at R2 and although the PCB is very similar to R1 there are some significant differences. The R1 used to have a BMP180 until Bosch decided to stop making it. So R2 came about partly because of that reason, and is now shipped with a BME280 which includes all Temperature/Humidity/Pressure readings all in 1 sensor. This sensor is pretty popular it seems so hopefully the supply will be plenty for a long time.

Here’s a look at R2:


And the schematic:schematic

Notice a few changes:

  • The voltage monitor circuit is now without a mosfet – this was removed and a resistor was added (the angled resistor) to tie the circuit permanently to A7. The old pads are still there so including the mosfet as on R1 is an option if someone really wants it.
  • there is now a solder jumper to allow disconnecting the battery monitor from A7
  • The Si7021 pads are still there if you’d like to add that sensor yourself

The board will idle at around 3.5uA when the sensor is put to sleep because of the voltage monitor. That’s still very low power but if you want 100nA instead and don’t care for battery monitoring, cut the jumper to A7. Bring your feedback in the forums!

Attic fan tests: 1 week of data

A quick update to the attic fan cooling experiment (check the previous post to read about the setup). I ran the fan for a few days in a row, from around noon to 5PM, at which point the HVAC kicked in until late into the evening. There were some HOT days and some WARM days, with a hot day with PM showers which produced some interesting data. from the WeatherShield sensor motes in the attic and the master bedroom below it. Here’s conceptually how an attic fan is supposed to work, in theory:Benefits of an attic fan

My cheap fan I installed in the attic hatch draws 85W on the high speed and uses ~0.45kWh for a 5h run time), not bad. Here’s the temperature graph after several days with different weather conditions, read on for explanations.Notice the huge temp swings of the attic, and the relatively small changes in the master below it.  July 29th was the HOT day with PM showers and moderate wind which cooled down the attic. I also had the fan going but the rain/wind cooled the attic quickly through the built in soffits and vents. On the rest of the days the fan did a good job of chopping the “hotbergs” tips off, they look like mouse bites :). To be more effective it has to be started soon after the sun starts to blast the roof around 10am. The master temps were zoomed in for more detail. Here are the humidity measurements: Continue reading

Cooling on the cheap: attic fan tests

For some time I wondered if there’s a way to move the cool air in the basement upstairs and make that living space a bit more bearable without running the AC all day long when everyone is gone. As soon as the sun rises and starts hitting the roof in the morning, the attic temps start to blast up towards 150° at the peak around 6pm. The side walls and windows also heat up, act as heat radiators and contribute to warming the interior spaces. Once that attic space and side walls are super heated after a day-long sun blast it’s very hard to cool the interior back down, while heat radiates quickly inside and fights the HVAC’s cooling efforts. The attic 20″ blown insulation does a great job keeping the 2nd level way cooler than the attic, around 87°F, but still feels very toasty, and the decade old HVAC runs almost non stop from 4pm into 11pm to make it bearable enough to go to sleep. All this while the basement temps range from 65-75°F during the day, nice and cool.

Googling around I found some solutions that involve using the HVAC fan to push air from the basement or lowest point in the house all the way upstairs and into the attic (opening the attic hatch). Attics have vents that allow air to flow through and out. So this air movement pushes cool air through the house and into the attic and then outside through those attic vents, thus keeping the attic air from super heating. The outcome is that the HVAC AC will have an easier time to cool down the home in the afternoons, running for less time while the temps bounce less throughout the cooling cycles. Unfortunately running the HVAC fan also requires a vent to be cut into the basement HVAC pipe system so the cooler air can be pulled by the fan and moved up, rather than the air from the return pipes (which brings it from upstairs). I don’t really want to do that, since the HVAC fan is a big heavy 220V inefficient motor.

So I’ve just started playing around with some WeatherShields and a cheap Lasko box fan ($17 from HD) that I’ve installed on a thick cardboard cutout which replaces the attic hatch. The fan is good enough for proof of concept and allows easy hacking of the speed knob displacement into the cardboard so I could change speeds from inside the home without climbing on a ladder all the time. For now the power is provided through an extension cable until tests are done, then I plan on making a SwitchMote controlled power outlet in the attic where the fan can plug in, so this could be turned ON/OFF automatically by the Gateway.

Here are a few photos of the fan mod and install. This is just a temporary fitting for some basic tests. A final install would have the fan attached more securely with no air gaps etc.:

I put together 2 WeatherShields for this test, and added a dedicated Weather node to the gateway. This was a good way to test WeatherShield readings side by side. Results are impressive, I could not see the temp and humidity readings be more than 1% off from each other. BTW I’ve added the new Weather node icon and node definition on the Gateway github repo, and I’ve posted the low power sketch I used on these weather nodes.

Basic fan test data & conclusions

Each level is ~1500sqft, with the attic having a steep slope, so a large air volume. I’ve put one weather sensor node on the second level and the other in the attic. I started measurements around 8:45am when the sun was starting to heat up the attic. One hour later I started the fan and let it run until 12:28pm, almost 4 hours. An open window in the basement (or 1st level) allows air to flow easily and not stress the fan. Here’s a glance of the temperature data from the attic sensor, explanations below:

Just looking at it it’s obvious the fan made a big dent. I ran it at max speed which is pretty loud but this is in a closet so that helps contain the fan noise. I’ve seen more expensive similar fans  advertised as very quiet. The point here is to move as much air as possible since the fan would run during the day anyway, when nobody is upstairs to hear the fan noise. I’ve made some projections of what I think would happen if I ran the fan all day or if there was no fan at all.

I will continue to make measurements on comparable days with and without the fan and perhaps update this post, but I think the test is a success. It was a sunny day with 85° tops. If the attic normally heats up to around 140-150° at peak and the 2nd level is around 90° it is very difficult to cool it back down and the AC works very hard. If the fan can reduce the attic temperature by even 20° I assume the AC would not need to work as long and hard to cool the upstairs in the afternoons. I think this simple fan will cost much less to run for 8-10 hours, than running the AC that much harder all afternoon.

A possible improvement to this method is to install more fans in the attic, on top of the vent exhausts to help remove that hot air from the attic, more complex. Or cut a hole in the basement door to add another fan to push air, messy and not wife-friendly. Or stack another fan on the existing one at the attic hatch to increase CFM, just another $17.

To automate and remote control the fan I will need to make a SwitchMote outlet and put it in the attic. That’s for another post.



GarageMote WeatherShield Upgrade

Now that WeatherShield is available to take high accuracy temperature, humidity and pressure measurements, it’s time to spread it around the property and watch the trends. I’ve already posted an example of upgrading my mailbox notifier project to include the WeatherShield. In this post I want to show my GarageMote upgrade to add a WeatherShield (WS), this was another quick evening project for today.

The garage is an interesting place to measure that data since it sits in between the house and the bitter winter cold or torrid hot summer. Would have been nice to have this data when I insulated my garage doors to see how effective that was.

The new GarageMote R2 includes an extra row of pins that are linked to the Moteino top header, which can be used for any general purpose, add more stuff to your GarageMote. This is perfect since WS‘s relevant pins are all on that same side. I had a prototype WS that I chose to stack on top of the Moteino, so male headers get soldered below, but you could also flip it over and have it be side by side the Moteino with headers on top. I shield the bottom of the WS with electrical tape, and soldered a pair of long pin headers with the longer side on the bottom of the WS.

This allows stacking of the WS on top of the Moteino using the female header that I soldered to the empty side header on GarageMote, the extra length headers are clipped off the top of the WS. I then install it back onto the door opener as before. GarageMote is permanently powered so it can afford to leave the transceiver in RX mode which is also necessary to listen for commands from a browser or mobile device (OPEN, CLOSE etc). That means it can also listen for wireless programming tokens, in fact the GarageMote sketch was always programmed that way so if a firmware change is needed it wouldn’t need to be disconnected, but instead reprogrammed wirelessly. The new revision of the GarageMote sketch is updated to include the WS code for periodic reading/reporting of the sensors data (which is excluded by default, and can be enabled by uncommenting the #define WEATHERSHIELD directive).

The resulting data arriving on the gateway looks like this:

F:4397 H:41 P:29.42

where F is fahrenheit degrees in hundreds (divide by 100), H is humidity in % and P is atmospheric pressure in inHg. The data is reported every 5 minutes, enough to get a pretty good resolution in a place that doesn’t expect large sudden fluctuations. Graphing and logging will be added later when I enhance the Gateway stack. For now this just serves as a quick demo and example of how WeatherShield can be used. Enjoy!

Mailbox Notifier Upgrade #3

As I explained in my lipoly+freezing=failure post, I ran into a snag with the brand new Lithium Polymer battery operated MotionMote that serves as my mailbox notifier. It discharges quickly after being exposed to the cold for a while, it seems like below 30F it goes downhill and then falls off the cliff and dies around 24F (-4C). After a recharge the cycle repeats, every time dying a little faster which means cold damages them permanently. So being tired of this nonsense I wanted to give alkalines a try and also wanted to add a WeatherShield to the mailbox, if it’s out there why not report temperature, humidity and pressure as well in addition to telling me when the mail is delivered.

UPDATE: the LiPoly batteries are still working great above freezing and will provide a compact and longer lasting charge than a 3xAAA pack. In the spring time I switch to a LiPoly because it lasts longer and I can charge it directly from the onboard USB of the MotionMote PCB. In the winter I go back to alkalines because they survive in the deep freeze.

The first step was to solder the weather shield on top of the Moteino, only 7 pins are soldered after being raised a little: GND, VIN, 3.3, A7, A5, A4, A3. The bottom of the WeatherShield was insulated with a piece of electrical tape to avoid any shorts.

Then I added the new battery – a 3xAAA holder with older batteries. I needed 3x of them to get above 4V so there’s some head room for the voltage regulator on the Moteino and the PIR sensor which was modified to allow running into much lower voltages. I could have soldered the battery holder wires directly to the MotionMote PCB but I had some spare female JST connectors and I added that to make it easy to remove later if needed. I took the measurements to lasercut another box that will fit this.
With the help of previous box designs I was able to get the dimensions and hole alignments right the first try. The box blueprint is published here for those that might find it useful. Here’s everything after test fitting:

Velcro goes on the back and the Moteino antenna protrudes from a hole in the box through a short cut in the velcro. The wire antenna also goes out the mailbox through a tiny hole. The slots in the side allow air to go in for better humidity readings.
After some minimal coding, the mailbox notifier sketch is altered to do the WeatherShield readings. The new sketch is published in the same repo. The new mailbox is now smarter and it gives all the following readings:

LO:4h1m BAT:4.36v F:3475 H:37 P:29.32

where LO is last open elapsed time,  F is fahrenheit in hundreds (divide by 100), H is humidity in %, and P is atmospheric pressure in inHg. It’s also running happy after being buried in the last winter storm. In the morning when the sun hits the mailbox directly the temperature can rise 20-30 degrees above the real temperature, but otherwise throughout the day it’s pretty stable and comparable to WeatherUnderground, when it’s overcast it’s often within 1 degree of WU but I am aware there are multiple factors that can influence a temperature reading in such a location. Humidity and pressure readings are also very stable and rise very deterministically.

WeatherShield is here!

I kept mentioning this in the forum from time to time and I’m happy to release the first batch of WeatherShields which is now available in the shop. These are highly accurate I2C temperature/humidity (Si7021) and atmospheric pressure (BMP180) sensors. Credit goes where it’s due – this was inspired by this forum post and its author mr. A, but it’s somewhat different than the one presented there. There is a sample sketch to read the data from this shield, schematics is at the end of this post.

Some of the features:

  • –40°C to +85 °C temperature range (Si7021)
  • ± 3% RH (max) 0–80% RH humidity range (Si7021)
  • Best of all these sensors are very low power!
    • The Si7021 has an active conversion consumption of 150uA and standby of 60nA, and BMP180 ranges between 3-12uA in active mode and 0.1uA in standby.
  • Very Fast sample times, far superior to sensors like DS18B20 which require a long ridiculous sample reading time of up to 1s. By comparison Si7021 requires about 4-10ms sample conversion time depending on reading resolution (8-14bit)
  • The shield can be stacked on/under a Moteino (not a MoteinoMEGA)
  • Small prototyping area where you can add a little circuit, connect it to the Moteino pins through thin hookup wire
  • The BMP180 sensor also gives temperature readings that are pretty good but it is primarily an atmospheric pressure sensor, and Si7021 has a magnitude better accuracy for temperature
  • Onboard P-mosfet driven VIN/battery monitor. This is a VIN-4.7k+10K-GND voltage divider that can be enabled by setting A3 to OUTPUT LOW and reading the VIN voltage on A7, then disabling it to save power by setting A3 to INPUT (HighZ which disconnects any battery drain through this circuit).

These are much different than popular hobby sensors like DS18B20 or DHT11/DHT22 which are in a different price range and much more limited, so they are not meant to be general purpose sensors. These boards come at a price and instead they are precision sensors for serious weather monitoring enthusiasts and offer a set of features which makes them very battery/remote monitoring friendly and along with Moteino they can make a very small battery operated node. There is a battery friendly sketch available.

Comparing readings between 2 units:

This is how they look fresh out the reflow conveyor: