This week we are going to talk about the hardware we used for the Altitude tracker; from the automatic power management system to the sensors to the PIC® microcontroller. Using two Energizer Ultimate Lithium AA batteries, we are able to data log for 2+ months on a single charge. During their trek up the mountain, Chris and Darren will be passing through a rain forest right into cold weather; so we will need to protect the board from condensation, so that when ice does form it doesn’t damage the logger.
For power management, we need to deal with 3 volts (batteries) most of the time and 5 volts (USB) some of the time. I wanted to make this power system as simple as possible, but still be able to take care of itself. To handle the 3-volt power coming off two AAs in series, I use a MCP1640 boost regulator. The MCP1640 is a very small, step-up DC/DC boost regulator. This allows me to have a constant 3-volt supply, but I can run the batteries all the way down to 1.2 volts (0.6 volts individually). The nice part of using the MCP1640 is that the device only needs six components to get the job done.
The Battery Boost Circuit
To handle the 5-volt supply (USB), a MCP1703 low dropout voltage regulator is used. This is a simple, 3-volt regulator (comes in many flavors) that will take care of any power coming in through our USB connector. Using a p-channel MOSFET connected to the Vbus line, we can sense when the device is plugged in to USB and then disable the MCP1640 so that the regulators are not fighting each other. I split the sensors into two separate power nodes, in order to keep our sensors off when the device is in sleep mode. I use two n-channel MOSFETs to do this.
The USB Regulator Circuit
I put a few sensors on this device that will help track Chris’s and Darren’s journeys. There is a GPS receiver, a barometer and a Temperature sensor. They will help us log altitude, latitude, longitude, UTC time, barometric pressure and temperature. I chose the Venus634FLPx GPS receiver made by SkyTraq Technology, Inc., which is capable of 14-channel tracking and 51-channel acquisition. With a 10mm x 10mm LGA44 package, this is a small and very versatile part. During a cold start that can take up to 29 seconds (drawing 28 mA – 70 mA), we want to get a good string of NMEA code then shut off the GPS as quick as possible to save power. But if the part is kept in sleep mode, it is capable of a 1-second hot start. So I keep this part in sleep mode (drawing 10 µA) as much as possible, to get more hot starts than cold starts.
For the barometer, I chose the MP3H6115A. It has a range of 15 kPa to 115 kPa, and draws 6 mA when running. The temperature sensor is a MCP9700, which is a low-power linear active thermistor. The MCP9700 has a range of -40c to +150c, while only drawing 12 µA. To store all of the data we log, I chose the 24AA1025 1024k I2C™ CMOS serial EEPROM. This gives me the ability to use up to four of these chips, to store data using the I2C, leaving almost 6 month’s worth of data logging. The barometer, temperature sensor and memory are all on the same power node, so we can keep these parts off during sleep mode. To protect all of the parts from moisture, I laid down a coat of bee’s wax. This wax coats the parts much more evenly than conformal coating, especially near the crystals.
To control all of our sensors, the main MCU is the 8-bit PIC18LF14K50. This is a 20-pin, USB Flash microcontroller with eXtreme Low Power technology. This gives me USB to connect the device to any PC, either to get live data or to transfer the stored data. The MCU has I2C for transferring data from the MCU to the EEPROM. I use the UART to communicate between the GPS receiver and the microcontroller. We have a 32.768 kHz crystal to act as our time keeper, and a 12 MHz crystal to run the part at 48 MHz for the times we need to run the device in USB mode. Once we connect the temperature and barometer sensors, we have used up all 20 pins of the MCU.
General overview of the whole board
This is just a quick overview of the Altitude Loggers that I made for Chris’s and Darren’s trips to Mt. Kilimanjaro. Hopefully, it gives you a better understanding of the hardware used. Next week, we will be talking about the hardware case and the software used to keep everything running smoothly. Please let me know if there are any aspects of the design that you’re particularly interested in.