Archive for the 'Backwoods Logger' Category
Backcountry Logger at Mt. Langley
The backcountry logger and I climbed Mt. Langley this past weekend, providing its first real test in the wild. Langley is a 14026 foot peak in the southern Sierra Nevada mountains of California, about five miles from Mt. Whitney. I brought both the classic logger and the new mini logger for the trip, but ultimately left the mini logger in the car due to concerns over its fragility. The classic logger worked very well, and accompanied me through all the miles of trail and rocks to the summit.
The drive from my home in San Francisco to the trailhead near Lone Pine passes right through Yosemite National Park, so I was able to test both loggers in the car. As we traveled through Tioga Pass on the highway, I was thrilled to see cool elevation profile graphs with numbers in thousands of feet– my first direct proof that the logger works at elevations beyond spitting distance from sea level. You could clearly see each smaller pass on the graph as a series of humps on the overall upward trend. I don’t know why seeing a real-time elevation profile of your travel is so awesome, but it is.
During the drive, I found that the mini logger’s OLED screen didn’t hold up as well in sunlight as I’d hoped. While it looks beautiful indoors, outside in the sun it has a decidedly washed-out look. It’s still readable, but the basic LCD of the classic logger is much better for reading in the sun. I think the OLED offers some brightness or contrast configuration options that may help a bit, so I’ll research those.
We arrived at the 10000 ft trailhead, where I left the mini logger safely in the glovebox. Upon returning two days later, it showed some cool graphs of the 65-degree day to night temperature swings in the car. Meanwhile I packed the classic logger in my backpack’s waist pouch, and my hiking buddy and I hit the trail. Despite being in high mountain country with near 360-degree views, the GPS failed to get a satellite lock, so we relied on the logger’s elevation info plus the topo map to measure our progress on the trail. Spotty or non-existent GPS reception plagued us all weekend, so we were very happy to have the logger to help measure progress during our climb.
The first night we made camp a bit over 11000 ft, and rose early the next morning for summit day. My immediate thought was to check the overnight temperature graph, which showed a nice curve with an overnight low of 30.5 F around 1:00 AM. Ice in my water bottle confirmed the sub-freezing temperature. By 6:52 when this picture was taken, the sun was up and it had already warmed into the mid 40’s. After more experimentation that day and the next, I found that the temperature readings are easily skewed by sunlight or human hands. When left sitting in the shade or dark, the logger traces a nice smooth temperature graph. But move into a patch of sunlight, and the temperature reading can easily jump 10 degrees or more in couple minutes. Just holding the logger in your hands and pressing its buttons can have a similar effect. To get a good temperature reading, it’s necessary to leave the logger on the ground in the shade for a few minutes, then press a button once to wake it and immediately read the temperature.
I had planned to calibrate the logger’s altitude reading every time we came to a pass or peak whose altitude could be determined from the topo map. In practice, though, this wasn’t possible. The real trail wasn’t always quite where the map showed it, and often it wasn’t clear exactly where the trail was at all. Above about 11500 ft, the route to the summit was more of a network of faint use trails converging and diverging, rather than a single well-defined path. Only when we reached the summit was I able to calibrate the logger, where I found it was off by about 300 feet.
This isn’t a mountaineering web site, so I won’t say too much about the ascent, other than that it was a lot tougher than I’d expected. We climbed New Army Pass, then hiked several miles across a desolate plateau at around 12000 ft, before reaching the foot of the summit block. Even in mid-July, there were still several snowfields that we had to traverse or detour around. At about 12500 ft, the trail faded away completely, and we were left with 1500 vertical feet of picking our way through refrigerator size boulders, trying to find a good route towards the top. I’m in pretty good physical shape, but the high altitude combined with the steepness of the slope reduced my pace to a crawl. I wore the logger on a lanyard around my neck, and checked it often to see how many more vertical feet remained.
Here you can see a couple photos of the logger next to the USGS survey marker at Langley summit. The graph in the second photo shows how we had to descend several hundred feet after New Army Pass, before resuming the climb towards the summit. On the return trip to camp, that extra 300 feet of climbing on the way “down” made an exhausting day all that much harder.
Overall the logger worked well, and I was very happy to have it along. One need became obvious after a day of real use, however: some kind of “lock” state. I was constantly pushing buttons accidentally, especially when I wore the logger around my neck, giving rise to unexpected beeping noises. All the random button pushing normally left the logger on some random screen or menu when I went to use it again. While annoying, this was generally harmless, except on the last day when the logger locked up completely. I’m not 100% certain the lock-up was due to random button pushing and not some other failure, but I was unable to revive it without removing the battery to reset. I plan to make a software mod that requires the PREV and NEXT buttons to be pushed simultaneously, while SELECT is not pressed, in order to wake the logger from sleep.
This weekend I begin the John Muir Trail, a three week and 220 mile journey through the Sierras in terrain similar to Langley. The logger will be along for the trip!
Read 1 comment and join the conversationI am the Best Solderer in the World
Who’s the best solderer in the world? I am. That’s right. All you other soldering fools just want to taste my sweet victory because the Logger Mini works!
OK, in reality I may be in the bottom decile of the soldering class, but after assembling this bad boy, I’ll never fear soldering anything again. All surface mount parts, all crammed in way too densely, all impossible to debug when it doesn’t work… but it does work. Me and my big, bad soldering iron have tamed this beast. Most of the assembly wasn’t too bad, and I was able to get the majority of the parts soldered within a couple of hours. The fine-pitch ICs didn’t give me too much difficulty this time either. But as always, there were a few twists and turns along the way.
As I predicted in my last post, there were clearance problems between the battery holder and several components. I unwisely designed the battery to sit on top of a few smaller components, and it quickly became clear that wasn’t going to work. I cut away part of the holder’s body with a knife to make things fit, but the real solution will require a different style of holder or a slighly larger board. I also struggled with a missing component when I discovered I’d ordered a 390 Ohm SMD resistor instead of 390K Ohm. Rather than string 1000 resistors together in series, I cut up a 390K resistor pack I had on hand, bent the pins to size, and shoehorned it onto the SMD pads.
The BMP085 pressure/temperature sensor also gave me a nasty surprise. Its connection points are underneath the device, but for some reason I thought they also extended outward to the edges of the device and up the sides, providing access for the soldering iron. Nope. All the connection points are completely hidden underneath, inaccessible. Fortunately the pads on the PCB extend out about 1mm beyond the perimiter of the chip. What I ended up doing was tinning all 8 pads, then placing the BMP085 on its footprint, and reheating each of the tinned pads in turn while I pushed down on the chip from above. The idea was that the solder would transfer heat under the chip, melting the solder underneath and bonding it to the connection point sitting on top of it. It seemed to work.
The real challenge proved to be debugging. After finishing assembly, the screen remained stubbornly blank. With no idea if it was a software bug, circuit design error, soldering mistake, or defective part, and no good way to troubleshoot, I was pessimistic I’d ever fix it. This is the kind of situation where I can easily convince myself it’s hopeless and give up, but I tried to be methodical at exploring problem theories as much as possible. Eventually I tried touching an oscilloscope probe to each of the 30 pins on the display connector ribbon, to try to see what was going on, and I discovered that touching one particular pin caused the display to start working! After retouching that pin with the soldering iron, I was in business.
The Logger Mini worked fine for many hours, and I started work on the necessary software changes. Eventually, though, the BMP085 sensor stopped working. The sensor actually lies partly underneath the battery holder, making the problem especially difficult to troubleshoot. Again, I desparied of ever finding a resolution. After many false starts and much hair pulling, I desoldered the battery holder, which was less difficult than I’d feared. I powered the board with a pair of alligotor clips while I poked at the sensor. After retouching all the sensor’s pins with the iron, it sprang back to life. I then replaced the battery holder, restoring everything to factory new condition.
I made a few quick power measurements of the Mini, testing current draw straight from the battery. With the display on, the current is between about 8 to 15 mA, depending on how many pixels are illuminated. With the display off and the logger asleep, the current is 120 uA. That’s a higher sleep current than I was expecting, and some more investigation is needed to determine why. Still, with those current numbers I estimate the battery life will be a very respectable 4-5 months.
The photos here show a straight port of the software from the Logger Classic, and the graphs still only use the 84 x 48 resolution of the Classic. I need to do some more work to fit everything to the Mini’s 128 x 64 display, but development time is running out before the first of my Sierra hiking trips.
Read 4 comments and join the conversationGoodies in the Mail
While I was traveling, a few goodies arrived in the mail. The most exciting of the bunch are the PCBs for the Backcountry Logger mini version. Pictured here is the mini PCB next to the classic, to give a sense of just how small the mini is. I’ll be assembling the mini prototype sometime in the next few days. Beyond simply being smaller, it also has a few new features, and a completely different battery and power system. Hopefully it works! I think there are going to be some clearance problems around the battery, since I’d thought the battery holder was a pair of end clips, rather than the full-length holder that it is.
Also in this week’s mailbag was the snap-together case for the classic logger. This case was designed using vector drawing software, and the six sides were intended to snap together using beveled tabs on the egde of each piece. It’s a tricky design, because the depth and bevel angle of the tabs must be just right, or else the pieces will be too loose to stay together, or too tight to snap at all. When sizing the pieces, things are complicated further by the need to account for the kerf, which is the thickness of the laser cut. Even when it works as intended, this type of design looks a bit ragged, since the tabs prevent having smooth corners.
I had the case manufactured out of 0.8 mm thick white Derlin by Ponoko. This was my first time using Ponoko, and while the price and quality were good, the speed of the service was pretty slow. It was nine calendar days between when I uploaded the design and when it was acutally cut and shipped. For a simple one-sheet design using in-stock material, I was expecting it to be cut the next business day. My only other laser-cutting experience was with Pololu, which does laser-cutting as a sideline to their main business, and my order from them was cut next day. For a business like Ponoko whose entire premise is custom-cut parts, a nine day lead time seems a bit high. I probably just need to learn to be patient.
As received, the tabs on the case pieces were substantially too big, and the pieces wouldn’t snap together even by applying extreme force. Whether this was because the true kerf was less than advertised, or because my design was flawed, I’m not sure. After half an hour with an exacto knife, I was able to whittle down the tabs and assemble the case you see here. It’s pretty nice, except… where are the buttons? DOH! I guess I should have used tactile switches with a longer plunger, so they’d extend far enough to exit the case. Back to Digikey to order some.
The last mail delivery was some enclosure samples from OKW. These are the enclosures Cesar recommended in an earlier comment, and OKW was kind enough to send me free samples. They look great! I really like the look of the pear-shaped one with green trim, but I think it might be a bit too small to hold the logger mini.
Be the first to comment!Backcountry Business
Since a few people asked, I’ve posted the source code for the Backcountry Logger. In a first for me, the source is offered with a specific license. In this case, it’s the Creative Commons BY-NC-SA 3.0 license. I feel a bit silly discussing licenses here, but I see some possibility for the Backcountry Logger to turn into a bit more than just a personal project, and I’m attempting to protect that possibility. I’m happy to have people learn from the code, offer suggestions for improvements, and use it in their own hobby projects, but I’d hate to see it taken wholesale and turned into part of a commercial product.
The next step for me (once I’ve received the necessary parts) is to build a v3 logger prototype, which I’m calling the mini logger. The mini logger is the 2 x 1 inch version using an OLED display and a single AAA battery. In constrast, the classic logger that was demoed here earlier is 2.75 x 1.75 inches, and uses an LCD display and CR2032 watch battery. While reviewing the mini logger’s design yesterday to create the bill of materials, I realized that it’s really not all that much smaller than the classic logger. And the mini is actually just as thick as the classic, if not thicker, due to its AAA battery. It seems likely there will be further prototypes after the mini, attempting to get a good balance of size and features. I’ve been thinking about a version more like the classic, with the LCD and CR2032, but with all SMD parts and the mini’s extra EEPROM. That would require finding a primary source for the raw Nokia 5110 LCD, instead of buying it on a breakout board from Sparkfun.
Once I’ve got a few prototypes built, I hope to get them in the hands of some outdoorsy people who can put them to use, and offer feedback. What looks great on the bench may not work very well in the field, so real-world testing will be essential.
This is a device that should appeal to any outdoorsy people interested in examining altitude, temperature, or pressure movements over timescales from an hour to two weeks. That includes hikers, climbers, skiers, trail runners, cyclists, kayakers, snowmobilers, horseback riders, and probably many others. You can get similar information from your GPS or altimeter watch, but few of those offer detailed graph views, and GPS’s don’t have the battery life needed for long trips in the wild. An app for a GPS-equipped smartphone might work, but toting your smartphone on your adventure isn’t ideal. The closest similar devices are probably the Garmin Foretrex 401, Garmin eTrex Summit (discontinued), or Suunto Core.
I’m also thinking this project needs a better name than “Backcountry Logger”. Nobody wants something called a “logger”– that’s either a guy who cuts trees, or a tool for making boring lists. “Backcountry” is an awkward word as well. Besides being a mouthfull, it also sounds like it excludes potential uses in the civilized world like skiing or urban adventures. A good name is also probably a short name. Maybe something like “Sportview” or “Outdoor Tracker”. Bah, I’m no good at names!
Read 5 comments and join the conversationBackcountry Logger Bill of Materials
The first Backcountry Logger prototype has gotten a very positive response from everyone I’ve showed it too, so I’m toying with the idea of making a few and selling them. I put together a bill of materials to estimate the cost, using the newest “shrunken” v3 prototype that’s designed but not yet built (still waiting for PCB and parts to arrive). As designed, the BOM cost is $32.01 each for quanity 100. That doesn’t include the PCB itself (probably a dollar or less for that quantity), the cost of assembly, or a case. For a quantity 1 prototype, the BOM cost is $37.20, but that assumes acquiring some parts as samples/free that aren’t for sale in individual quantities.
In addition to being smaller, the Logger v3 actually has more features than the v2 prototype shown in the photo here. The features require additional parts that increase the cost:
- $4.95: external EEPROM memory (allows storing more data samples and at higher resolution)
- $2.76: voltage booster/regulator (necessary because v3 uses a 1.5V AAA battery instead of 3V CR2032 watch battery)
- $4.58: vibration sensor (this is a totally new feature I added, to detect when you’re in motion and attempt to count your steps)
To build the v2 design, you could omit all those parts and lower the BOM cost to about $20.
The cost could likely be lowered further by searching for the cheapest component suppliers (I just used Digi-Key for everything), and by tweaking the design to use fewer and cheaper components.
Quantity | Part | Purpose | Supplier | Price @ 1 | Ext Price @ 1 | Price @ 100 | Ext Price @ 100 |
1 | ATmega328P-AU | microcontroller | Digi-Key | $4.87 | $4.87 | $3.06 | $3.06 |
1 | MAX1675EUA+ | voltage regulator | Digi-Key | $5.73 | $5.73 | $2.76 | $2.76 |
1 | M24M01-RMN6TP | EEPROM | Digi-Key | $6.75 | $6.75 | $4.95 | $4.95 |
1 | BMP085 | pressure sensor | Digi-Key | $3.81 | $3.81 | $3.81 | $3.81 |
1 | UG-2864HSWEG01 | 128×64 OLED display | wide.hk | $7.99 | $7.99 | $4.70 | $4.70 |
1 | CCV-084B16 | buzzer | Digi-Key | $2.36 | $2.36 | $1.96 | $1.96 |
1 | SQ-SEN-200 | vibration sensor | SignalQuest | N/A | $0.00 | $4.58 | $4.58 |
1 | CFS206-32.768KDZF | crystal oscillator | Digi-Key | $0.28 | $0.28 | $0.16 | $0.16 |
1 | UP1B-220-R | inductor | Digi-Key | $1.38 | $1.38 | $1.06 | $1.06 |
1 | MBR0520L | Schottky diode | Digi-Key | $0.63 | $0.63 | $0.20 | $0.20 |
3 | B3FS-1010 | tactile switch | Digi-Key | $0.65 | $1.95 | $0.47 | $1.41 |
1 | 2466K-ND | AAA battery holder | Digi-Key | $1.45 | $1.45 | $1.21 | $1.21 |
10 | 0805 0.1uF ceramic | capacitor | Digi-Key | N/A | $0.00 | $0.03 | $0.30 |
4 | 0805 1.0uF ceramic | capacitor | Digi-Key | N/A | $0.00 | $0.06 | $0.24 |
2 | 0805 2.2uF ceramic | capacitor | Digi-Key | N/A | $0.00 | $0.08 | $0.16 |
2 | 0805 47uF tantalum | capacitor | Digi-Key | N/A | $0.00 | $0.71 | $1.42 |
2 | 0805 4.7K ohm | resistor | Digi-Key | N/A | $0.00 | $0.01 | $0.02 |
1 | 0805 390 ohm | resistor | Digi-Key | N/A | $0.00 | $0.01 | $0.01 |
$37.20 | $32.01 |
Backcountry Logger v1 Demo
The Backcountry Logger is a portable microcontroller-driven device that collects temperature, air pressure, and altitude data, and shows graphs on a built-in screen. It’s intended for hikers, climbers, skiers, and other outdoorsy folks who want to geek out with environmenal data about their activities.
I’ve written extensively already about the design and board layout of the Backcountry Logger, but never described its actual usage in any detail until now. I’d been waiting until I received the custom-designed board back from the PCB house, so I could move the project off the protoboard and onto a permanent frame. The board finally arrived a few days ago, and I had everything assembled after about an hour of soldering. It all worked flawlessly right away, so the transition from protoboard to PCB was very smooth.
The logger interface is organized as 16 different screens, and the user cycles through the list of screens using the PREV and NEXT buttons. Each screen displays status text or a graph of historical data. Most screens also have a menu that can be opened with the SELECT button, providing access to further customization and configuration options. Screens are grouped into altitude, temperature, and air pressure sections, with each section having historical graphs at time scales ranging between past 90 minutes to past 14 days.
The main screen shows a customizable summary of environmental data. By default it displays current altitude and temperature, rate of ascent, and time of day, but the contents are fully customizable from the menu. Each of the screen’s six lines can be configured to show one of eleven different statistics, such as weather forecast, current air pressure, and estimated time to a previously-set goal altitude.
One of my first tests was to take the logger up a nearby hill. Here you can see the 90-minute altitude graph from the test. The graph only goes back about 30 minutes, to the time when I inserted the battery and data collection began. The graph begins with a big spike down to about 300 feet when I calibrated the altitude. I then got in my car, and drove up a hill that’s about 470 feet according to the topo map. At this scale, each pixel on the X-axis reperesents one minute.
Here’s the 90-minute temperature graph from the same test. It was a hot day, and my car had been sitting out in the sun, so the interior of the car was sweltering. How sweltering? About 112F, according to the logger. Yikes!
The system screen contains lots of goodies like the firmware version number, current battery voltage, and LCD contrast setting. The system settings can all be edited via the screen’s menu.
This version of the Backcountry Logger is about 7 cm long, 4.5 cm wide, 2 cm tall, and weighs 1.3 ounces. It uses a 3V CR2032 battery, unregulated. The current consumption is about 1.5 mA when it’s on, and 20 uA when it’s asleep. Depending on how much it’s used, the battery life should be about 8-12 months.
The main board has only one IC: an ATmega328P. The rest of the space is consumed by the battery, piezo speaker, buttons, a few passive components, and headers. The LCD and BMP085 pressure/temperature sensor are mounted on breakout boards that plug into the headers.
I’m planning to make a version 3 of the Backcountry Logger that’s substantially smaller and lighter. (Don’t ask what happened to version 2.) This version will be just 5 x 3 cm, and will use a tiny OLED screen that’s higher-resolution than the LCD but physically much smaller. All the parts in version 3 will be surface mount, instead of this version’s through-hole parts. Because the OLED requires more current than the LCD, version 3 will use a single AAA battery with a voltage booster in place of the CR2032 battery. Check back in a few weeks, and I hope to have a version 3 demo to share.