I’m almost midway in my embedded system course where, as a class, we are designing temperature and humidity sensor(THS) for Pine Mountain Settlement School(PMSS). Last week, we had the opportunity to meet Geoff, executive director of PMSS, and ask various questions to deconstruct all the ideas to build this THS. One of the things that we discovered during this process was THS has to be battery powered and the battery has to survive at least six months before replacement. This led us to explore this interesting question: How can we design a THS that runs on battery(cell) for at least six months?

TL;DR

In this blog, I’m going to write about an option we are exploring to build low powered temperature and humidity sensor with Arduino Pro Mini.

Modyfying Arduino Pro Mini

The main reason we chose to use Arduino Pro Mini rather than building our own platform is becuase only have half of this Fall 2016 semester left to deliver this sensors. It is not worth our time diving into the wilderness of building a platform and make mistakes, which is ofcourse unavoidable. In the blog “Arduino Low Power - How to run ATMEGA328p for a year on coin cell battery”, the author discusses some strategies where we run ATMEGA328p on an coin cell for a year on a Arduino Pro Mini platform. An unmodified Arduino Pro Mini can comsume upto 45 mA current which will consume 9A battery in less than a day. However, with simple modification we can signifiicantly reduce that amount of current consumed upto 0.0045 mA.  The power LED and Regulator are the two components asides the microcontroller that consumes a lot of current on Ardunio Pro Mini. Below is a table provided by the author of the blog that shows current consumption for different combinations of modified and unmodified versions of Arduino Pro Mini with ATMega328p.

ATmega328P Pro Mini Version PWR Source State 5.0 V @ 16 MHz 3.3 V @ 8 MHz
Unmodified RAW Pin ACT 19.9 mA 4.74 mA
Unmodified RAW Pin PDS 3.14 mA 0.90 mA
No Power LED RAW Pin ACT 16.9 mA 3.90 mA
No Power LED RAW Pin PDS 0.0232 mA* 0.0541 mA*
No Power LED, no Regulator VCC Pin ACT 12.7 mA 3.58 mA
No Power LED, no Regulator VCC Pin PDS 0.0058 mA 0.0045 mA

In addition to modifying the Arduino board, we have to be able to make the processor go to sleep. The ATMega328p supports a number of sleep modes and peripherals that can be controlled using external libraries. We will be using the RocketStream library to turn the Arduino to sleep.

Next Steps

The next steps for my power management team is to experiemnt with ATMega328p and Arduino Pro Mini. Ideally, we would like to have the Arduino Pro Mini board soldered and setup and run the BlinkLight example code.

In addtition, I will be travelling to PMSS this weekend with my group to complete building and deploying our first prototype of Temperature and Humidity Sensor on a RaspberryPi. So, next week I will be blogging a reflection on our work done at PMSS.