BMOW title
Floppy Emu banner

Backcountry Logger Free PCBs

The Backcountry Logger is a portable device for measuring and graphing altitude, temperature, and air pressure. It 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. The development of the Backcountry Logger has been discussed here in detail over the past few months.

Today I’m publishing the whole Backcountry Logger design under the Creative Commons license (CC BY-NC-SA 3.0). My hope is that others will build their own Backcountry Loggers, take them on trips and experiment with them, then make firmware or hardware improvements and share them back. I would love to see a community of user/developers emerge to make future Backcountry Logger versions even more awesome than anything I’ve yet imagined.

This Backcountry Logger file distribution contains all the firmware source code, schematics, board layouts, Gerbers, parts lists, and everything else you’ll need. You can build a copy of the Logger Classic or Logger Mini, or design your own version by modifying the hardware and firmware to meet your needs. If you make some improvements you’d like to share, send them to me and I’ll post them here. If there’s enough interest, I’ll make a project at Sourceforge or another site so people can collaborate on further Backcountry Logger development.

The total parts cost for either version of the Backcountry Logger is about $40. The Logger Classic can be assembled in an hour or two, and is fairly easy to build. The Logger Mini is more challenging to build, due to the use of surface-mount parts, but the result is a much more compact and professional-looking device. You can also build the Backcountry Logger on a breadboard, following the Logger Classic schematics.

PCBs can be made using the Gerbers included in the file distribution, but to kick things off, I’m giving away some free PCBs for the Logger Classic and Logger Mini to those who are seriously interested in experimenting with it. Send me email and let me know what you plan to do with it, and if I like your story I’ll send you a PCB.

For the curious, the README from the file distribution is included here:

Copyright (c) 2011 Stephen Chamberlin. All rights reserved.
Backcountry Logger by Stephen Chamberlin is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. (CC BY-NC-SA 3.0)
The terms of the license may be viewed at
Based on a work at
Permissions beyond the scope of this license may be available at



1. Buy the required parts. The total cost should be about $40 USD. The parts required depend on which version of the logger you want to
build. See partlist.txt for the list of required parts.

2. Make or buy the circuit board (PCB), or prepare a breadboard. Visit and ask if I have any extra boards left. If
not, send the included Gerber files to a PCB prototyping service, and they can manufacture a board for about $25. If you are building the
logger on a breadboard instead of a PCB, follow the instructions for the Logger Classic.

3. Assemble the board. The Logger Classic uses all through-hole parts, and can be assembled in an hour or two. The Logger Mini uses all
surface-mount parts, and is more challenging to assemble, but can still be assembled by hand (I did it!).

Logger Classic:

The BMP085 breakout board comes without the header attached, so you must solder your own header to it. Solder male header to the *same*
side as the BMP085 chip. When you later mount the breakout board onto the socket on the main board, it should be upside down, with the
BMP085 on the underside, hidden from view.

Logger Mini:

The SQ-SEN-200 vibration sensor can be omitted. This part is only available directly from Signal Quest, with a minimum order quanity of
20. If omitted, the trip timer feature will not work.

The schematic and board layout show an external EEPROM chip. This was originally intended to store longer-term or higher-resolution
altitude/temperature data, but the firmware doesn’t use it. It can be omitted.

The bare BMP085 chip is difficult to hand-solder, because the pins are on its bottom, inaccessable with a soldering iron. To solder it,
first tin all 8 pads on the PCB with a small amount of solder. Make sure the heights of the solder blobs are as even as possible from pad
to pad. Next, apply flux to the BMP085 pins, and place it in position on top of the tinned pads. While pushing down on the chip from above
with a pick, heat the exposed portion of each PCB pad, one at a time, until the solder melts. The heat will be conducted along the pad,
under the chip, and the molten solder will bond to the hidden BMP085 pin. You may need to repeat this procedure several times to get a good
solder connection.

There may be a clearance problem between the battery holder and a few of the surface-mount components closest to it. If necessary, cut
away a small portion of the battery holder plastic with a knife to make it fit. Do not cut away any more plastic than necessary, or the
battery holder may bend when a battery is inserted.

4. Get an AVR programmer. I use the AVRISP mkII, which is $35 from Digi-Key. The $22 USBtinyISP AVR programmer is another popular choice:

5. Install the battery.

6. Connect the programmer to the board’s ISP header. Run AVR Studio, avrdude, or other AVR programming software. Confirm that the board is
working electrically, but connecting to the AVR and reading the device ID.

7. Program the AVR with the Backcountry Logger firmware. Use the programming software to load the .hex file into the AVR’s Flash memory.
You can use the precompiled hikea.hex file, or compile the included C source files and make your own .hex file.

8. Set the EESAVE fuse on to prevent your altitude/temperature data from being erased every time you reprogram the AVR.



You are encouraged to experiment with changes to the Backcountry Logger software and hardware. If you make a change that you want to share,
please send it to me and I’ll include it in a new version of this distribution. If there is enough interest, I will make a project at
Sourceforge or a similar site, so people can collaborate on further Backcountry Logger development.

Some ideas for further development:

  • Add more detailed analysis tools to the software. Rate of ascent graphs, day by day statistics comparisons, user-defined graph
    timescales, etc.
  • Add a way to download the stored sample data to your PC.
  • Preload the elevation profile of your expected route onto the logger before starting a trip, then compare measured altitude samples with
    the preloaded profile to determine where you are.
  • Modify the Logger Mini software to make use of the external EEPROM, to store a longer sample history, or high-resolution samples.
  • Make a version of the Logger Classic that uses the higher-resolution OLED found on the Mini. These OLED’s can be purchased on a breakout
    board on eBay or from Adafruit:



The Backcountry Logger source code was built with AVR Studio 5, and the hikea.avrgccproj file will only work with AVR Studio 5. If you are
using a different version of AVR Studio, or a different compiler entirely, you will need to create your own project file or makefile with
the following settings:

Logger Classic

define these symbols: LOGGER_CLASSIC, NOKIA_LCD, F_CPU=1000000
include these libraries: libm.a
change these fuses: EESAVE on. Fuse settings are low: 0x62, high: 0xD1, extended: 0xFF

Logger Mini

define these symbols: LOGGER_MINI, SSD1306_LCD, F_CPU=8000000, SHAKE_SENSOR (optional)
include these libraries: libm.a
change these fuses: EESAVE on, CKDIV8 off. Fuse settings are low: 0xE2, high: 0xD1, extended: 0xFF

Logger on a breadboard:

follow the instructions for Logger Classic.

If you want to use the original software as-is without compiling, you can also use the precompiled hikea.hex files in the Classic or Mini



The Eagle .sch and .brd files can be found in the Classic and Mini subdirectories. In addition to the standard Eagle libraries, you will
also need the SparkFun library, Adafruit library, and Big Mess o Wires library. The Sparkfun and Adafruit libraries can be downloaded from
their respective web sites.

The BMOW library is included here, as big-mess-o-wires.lbr.

PIEZO BUZZER NOTE: The Logger Classic uses a Murata PKM13EPYH4002 piezo buzzer, which has a 5mm pin spacing. I was foolish and added a new
5mm piezo footprint to the Sparkfun library. Your version of the Sparkfun library will not have this footprint, so you will get an error
when opening the schematic of layout file. If you wish to use this same buzzer, you can find the appropriate part in the big-mess-o-wires
library, named PIEZO.

Be the first to comment! 

No comments yet. Be the first.

Leave a reply. For customer support issues, please use the Customer Support link instead of writing comments.