Mailbox notifier 2 year service

My mailbox notifier stopped transmitting the other day. It lasted almost 2 years since the last charge, with last reading at 3.56V. This was based on an old MotionMote R1 and Moteino R4, plus a chinese 2000mAh Lithium Polymer battery.  This device reports MOTION when mailbox is opened, along with a calculated LastOpened-ago metric and battery readings. Makes my life easy knowing exactly when there is mail or someone just opens it. And I can get IPCam snapshots if I need to when motion is reported. All very convenient. Continue reading

ESP8266 vs Sub 1-Ghz?

WiFi Serial Transceiver Module

I have watched how the internet has gone wild with the introduction of the ESP8266, 2.4ghz wifi modules. They are (dirt chinese) cheap, have lots of output power, were hailed as the new backbone and de-facto standard of the so called “Internet Of Things” with their “long range”, high wifi bitrates, no need for a gateway, simple AT command set, and are promoted as the what-else-could-you-ask-for by the big wigs of the online IoT/hacker community. There has been loads of development pouring into these chips. You can upload to them directly from your beloved Arduino IDE, they have loads of memory compared to an Arduino. You can run a webserver on them and control things with their GPIO, great. Look, if you hack around a little you can even sleep them at 78uA, so low power – amazing. I even bought a few to try out for myself.

Some reality-check and practical use reveals they are ideal in some cases and not so much in others. If you want a quick snap wifi enabled device that blinks a led or whatever at 54mbps (million blinks per second) or pushes temperature directly into the cloud, they will make great projects for a bunch of permanently powered nodes. The biggest problem I see is their not so low power consumption. I don’t care how deep you can put it to sleep, the wifi protocol will never be low power enough, not even close (neither bluetooth or BLE which also won’t have the range). The wakeup and pairing of wifi alone can be several seconds of power hungry consumption. The ESP8266’s current peaks can be in excess of 200mA at max TX power and we know that even short current peaks drain a battery much faster than small longer current peaks. All this matters when you are on a limited power budget or a small battery that won’t take power spikes very well.

If you spend any amount of time reading application notes and technical documentation about wireless RF technologies from companies like TI or others who have excellent knowledge bases, you will immediately get a sense of how imperative the need to reduce transmission and reception current. They invest massive amounts of R&D to decrease any kind of current and the time spent in receiving and transmitting. Spikes are especially regarded as undesirable culprits. When they reach the limits of squeezing that least bit of uptime they invest in creating ways of reducing the duty cycling of reception and transmission by different modulation schemes so that reception can be had at a lower mean consumption rate, and reception rate is overall more successful (selectivity, blocking and immunity means more accurate reception and immunity to the ever increasing RF noise and consequently requires less transmissions which saves more current). In the wifi world we can’t really talk about that because the protocol was not specifically created for low power applications.

Let’s talk range and why you’d ever want to go with sub 1-Ghz radios. We know that the lower the bandwidth and bitrate the higher the sensitivity and consequently longer the range (it’s like a very narrow piece of the spectrum where the radios spell out each word, the slower the spelling the lesser the chance the receiver will miss or missunderstand any part of the message). Also the lower the frequency bands the higher penetration of the medium, it’s just physics. I think the following movie from TI really summarizes it all and why Sub 1-Ghz technology will always be superior in several ways (warning: sound blast intro):

Anyone remember CC3000? What ever happened to the other wifi radios like CC3000 series which were the ex de-facto IoT about 2 years ago? Yup they were expensive and the ESP8266 with it’s ridiculous $2 price tag totally killed it right there. Actually I just did a quick search for ESP8266 and the prices I see are more like $7-15 depending where you shop, add an Arduino and you’re not saving for that lunch burger any more. To get the $2-3 price you have to buy from china direct (ebay, alibaba etc) so if you want to wait about a month and buy a pairing $2 arduino while you’re there, you can still save enough to enjoy a yummy burger.

Anyway, as I always have since their introduction, for some reason I cannot seem to be impressed no matter how many cool ESP powered projects I read about, and I keep wanting to find an application where they would be a better match than sub-ghz, but I have yet to find one. My humble Moteinos (right, which are not made in china and don’t cost $2 and won’t save you a burger so they are more healthy 🙂 ) still work for anything and everything wireless/remote control applications. I don’t need 54mbps for turning on a light, checking my sump pump, opening my garage or reporting motion. Neither do utilities and industrial integrators who always seem to prefer sub ghz technology for their meters and applications.

For those who feel this was unfair or inaccurate and want to start a debate please note I did not meant to compare Moteino to ESP8266, they are completely different in every way.

Radio Thermostat CT-50 Review and install

I mentioned before that there’s added support for HTTP requests in the gateway interface. That allows using things like wi-fi thermostats, and this story is a review of how I did just that.

I wanted to integrate the home thermostat into the Moteino IOT Framework Gateway and be able to control the thermostat remotely without hacking into it, building my own thermostat which would not look as good as a commercial one. I also want to avoid using the default cloud interface that comes with these thermostats. I don’t want the company to know my habits and datamine and profit from that, and also I want the thermostat to be integrated with my existing automation interface without having yet another app on my phone just for the thermostat.

I researched for an open API WiFi thermostat and I found very few and they are typically expensive, except the RadioThermostat CT50 which was around $100 including shipping. Here’s another example of a Venstar alleged open API thermostat but price is prohibitive and I could not find API documentation. If you know of a good one post your comment below!

For a review of the features and install explanation please see the video above. I will only include the teardown and install photos in the video for reference and I think the overlay comments are self explanatory. The one challenge I had was to add an extra C “Common” wire for the new thermostat which requires a lot more power than my old basic thermostat, the photos below should tell the story, also explained in the video. Here’s a link to the latest API documentation I found, I saved a copy for my readers in case it goes away.

To integrate such a wi-fi device in the gateway interface, you will need to add a dummy node that will become your thermostat node. Adding (injecting) a non-moteino node to the gateway nodes collection can now be done as easily as this (in the terminal screen, type a new node ID and “NEW” in the msg box, click SEND):

Gateway_NodeInject

Then you choose the “Wifi Thermostat” as type, and once you pair it with your home wifi, specify the local IP address of the thermostat in settings.js.

I hope this inspires others to do something similar. Happy automating!

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.

 

 

Limited SonarMote and PiGateway offering

I worked on a project for inventory control and the hardware left over from that project is now available for sale for those interested to save time on assembly. There are a handful of assembled SonarMotes and a PiGatewayThese limited LowPowerLab artisan electronic creations are available in the webshop (all SOLD).

SonarMote is a project I worked on for some time last year for private projects, but was never released to the public mostly because of the economics of manufacturing it and the end cost of the whole kit. But otherwise they are great for distance measurement, sump pump or liquid level monitoring, parking sensors, and general purpose distance sensors, battery operated and wireless via onboard Moteinos, and easy drop-ins into your Moteino framework. For instance, I am using one of these to monitor my sump pump. Now the rest of the few assembled units can be all yours. They run on LiPo batteries (1500mAh included in case) and are rechargeable and programmable via USB port just like the MotionMote. Note all are RFM69 868-915mhz. The rest of the specs are posted on the product page.

The PiGateway is a unique build that includes an ATXRaspi and LED Switch, Moteino with RFM69HW 868-915mhz, 4GB SDcard with Raspbian and Nginx-node webstack, 2.1mm jack power adapter and slick black translucent acrylic case.

Chinese lithium cells don’t like freezing

LiPo_freezing

The background story
It’s winter again and freezing temps are taking a hard toll on the lithium polymer (aka lithium ion) battery in my mailbox notifier. You’d think the *not-so-cheap-anymore* lithium Ion/Polymer batteries you find on all the online electronics reseller should be fine even at -40C if hobby drones and electric cars like Teslas run on lithium batteries right? Wrong.

I used to have a MotionMote powered by a LiPo in my mailbox and I found that below a certain freezing point the LiPo battery would simply fail and need recharging, and it looks like there is irreversible damage to the cell due to the freezing temps (every cycle it dies it dies faster). Maybe this is an edge case but I don’t think I’m asking much of a LiPo battery to survive Michigan winter, I mean really – half the projects I can think of are outdoors. If you’re able to read through the chinglish datasheets for these LiPos, one thing that you can find is the low temperature operating point is somewhere around -20 to 0C (ex. here or here – look for “Working temperature” it will be -20 – 60C). So basically those are lies and misleading information, nothing unusual from our friends in china who love to sell us junk for what is now a trend of increased prices. These batteries from all US vendors are chinese and fail at between 20-30F (-4C). I bought several from different vendors to verify I don’t have a bad batch. They all fail. What I find intriguing is the guilty silence of the US resellers who promote these batteries. This is meant to break that silence or ignorance: chinese LiPos die in freezing temps!
Just think of all those kickstarters that use lipo batteries, here’s a photo camera that runs on Lipos and you will discover will likely fail when you take it on a fun in the snow day.

I trusted the datasheet and got burned, even sourced a larger batch of these batteries intending to offer along with the MotionMote kit and then realized they fail below freezing when the winter season arrives. I also found that USPS doesn’t ship batteries at all and there is a restriction of 2 batteries (larger than ~750mAh) with UPS and Fedex, a rule broken by at least one of the major US vendors that will I won’t name but I bet you are a customer of, it surprised me. I don’t know what’s the penalty if you get caught shipping more than allowed HAZMAT limits. So I gave up trying to arrange shipping for these cells and instead I will try to make my stuff with alternative power sources in mind, at least for the projects that make a lot of sense to be used outdoors. In fact I think all my projects that have lithium battery JST connectors also have adjacent pins to connect any other power source like AA battery holders if desired.

Of course LiPolys are prefectly fine indoors and will offer a high charge density per volume and are great for MotionMotes and other similar nodes; they are also very popular with hobbyists so I will continue to make boards that support them (boards with chargers), but I will probably never sell them knowing these limitations and given the difficult shipping restrictions.

Fixing my problem
As it turns out alkalines are pretty happy in freezing temps, and in the following post I will show the new upgrade iteration to my mailbox notifier, which not only replaces the battery but enhances it to make it into a weather monitor as well!

November 2014 Updates

Here are some updates and announcements for this month.

  • I released important patches to the RFM69 and WirelessProgramming libraries. Please get latest, these should be addressing some network hanging issues in high traffic/congested networks, and also fix channel shifting for wireless programming. The discussion around this patch is documented in this forum thread. As always, I welcome and encourage constructive dialog and collaboration to fix bugs and improve libraries and examples.
  • I am discontinuing the offering of RFM12B transceivers which are getting old and almost nobody is interested in buying them anymore. I encourage the use of RFM69 transceivers for all new projects and upgrades. Moteinos will continue to have the footprint for soldering of RFM12B transceivers until further notice, so those who want to source their RFM12Bs from another source are welcome to use them on Moteino.
  • There were a bunch of recent posts in the forum complaining about issues with FTDI drivers and or inability to upload code to MoteinoUSBs. Some users have returned their Moteinos but in all cases so far I found the boards completely functional which leads me to believe there is a driver issue on some/all operating systems. I was not able to reproduce any of the issues in several Arduino IDE versions. The driver I have today on Win7x64 is FTDI driver v2.12.0.0 updated via Windows Update.
  • There is a new Moteino core that is very light compared to the previous version. This core contains the definition variants for MoteinoMEGA and the regular Moteino. Once you install this core in your Arduino {Sketches}\hardware folder you will now see two new entries in the Tools>Boards menu (restart required): MoteinoMEGA and Moteino. The new officially suported Arduino version is v1.0.6 (stable). Here are the new options:
    Boards_MoteinoUpload_moteinoUpload_moteinoMEGA
  • Moteino and LowPowerLab libraries will soon be integrated at codebender.cc which is a great website based alternative to the Arduino IDE for developing and storing your sketches while enjoying updated libraries and a multitude of other vendor sketches and repositories. It’s very easy to upload your sketch to your board directly from the browser. More on that soon.
  • I am continuing to migrate my PCB designs to ENIG finish which is more costly to manufacture but is lead-free and makes for better and more professional looks of my designs. I hope my customers enjoy and appreciate the better quality at the same low prices.
  • modelrailroadYou can see a cool model railroad project involving Moteino starting at page #92 in this November-2014 edition of Model Railroad Hobbyist Magazine (courtesy of Geoff Bunza). He also posted a well documented tutorial of how to get started with Arduino Mini or Moteino at page #99 in the same edition. Youtube video of the model in action is here.
  • The Moteino-Framework did not make it into the finals of the 2014 Hackaday Prize contest, but it did make it into the top-50 semifinalists out of ~800, and is on place #13 of the semifinalists listing according to community vote ranking at the time of this writing. I felt there was no chance it would make it in top 5 since automation is boring these days (despite the innovations in my entry), and in the end none of the other similar entries made it either. Honestly I was a bit disappointed with the grand prize winner project, I think it’s a cool project but as far as usefulness for the masses of DIYers/hackers I don’t find it very interesting, or maybe I’m the only ignoramus not really interested in launching satellites and depending on people I don’t know to supply me data about my satellite when it flies over their location. But I guess usefulness was not among the judging criteria.
  • As a result of making the top-50 for the Hackaday Prize (semifinalist) I won a $1000 which will be awarded as a mouser.com credit. I think that’s way better than $1000 worth of uninteresting swag picked by the Hackaday sponsor/staff on the winners behalf. How should I spend this prize? I want to get something memorable like a tool, so I remember I won this prize when I use it. Any suggestions?

Moteino Framework architecture decisions

My vision for Moteino was to create an affordable/open/ideal/easy hardware platform that would fuel a new generation of wireless internet-of-things, and I think it came out pretty decent. My Hackaday Prize entry even made it in the top 50 semifinalists (out of 800+). More devices are being added to the Moteino Framework and existing ones are being improved to make it fun for those makers who like to DIY and solder their internet-of-things from easy to assemble kits. The end users have maximum freedom as far as using/building stuff with Moteino. They can build absoltely everything from scratch, as some have done, but some prefer to just save time and buy building blocks. Hence I funded my way through this adventure by selling ready made Moteinos and kits in my webshop.

People have asked many times why the Moteino was designed the way it was, and why not use this and that and the other type of MCU, transceiver type, radio band, or wireless technology. The number one reason why Moteinos are what they are today is because in the end they need to be designed to manufacture, work well, be reliable, license free, easy and fun to use in a friendly board format, cheap to buy or make, achieve long open air range or excellent indoor obstacle penetration when used with transceivers, etc. Here is my reasoning behind all these decisions and the answers to some frequently asked questions. Continue reading

Adventures in Moteino with CuPID: Remote Temperature Monitor

What every new system design has in common these days is wireless. Like bacon, it just makes everything better.
collage

Put a sensor wherever, read it from somewhere else. Put the power and control where you need it. For the CuPID/Pi, it is no different. [Colin] from [CuPID Controls] has build a great interface around Moteino nodes and has done a fantastic job documenting his build and code. He wanted to put remote sense and control modules out into the wild and read and aggregate them as it makes sense. All the setup steps including source code are shared in this blog post.

His code is based on a new innovative approach he himself has endeavored to develop, called the UniMote. Here’s how he describes it: we want our Moteino programming to be modular. For most or all applications, we want the same code to run on the ATMega, so that we can just reconfigure IO, control units, and other functions by remove parameter changes — without reflashing the code if at all possible. He posted about it in the forum, and here is the link to his blog where he goes into the details.

It gets hot up there in Portland and he wanted a convenient way to check when it’s “OK to come out for a drink”. What better way to do it then with a water-proofed UniMote’d Moteino temperature monitor installed on his porch? Portland is also very rainy and he needed to ensure his setup will endure a stress test:

As a final note here, his user interface to his system is quite impressive, Be sure to check out this great project on his blog.

dataviewermotesinterfaceupdatedmotes