Geocaching Assistant for Raspberry Pi
Python C Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Cacheberry Pi is a geocaching assistant built upon the Raspberry Pi platform.

It's intended to be a permanent fixture in the car and alert you of nearby caches (when stopped) or along your route (when driving). The intent is not to replace your handheld GPSr but to complement it.

See an overview Video on YouTube or view the project homepage.


  • Smart Search: depending on speed and direction of travel
  • Ability to maintain a database of 20k+ geocaches
  • Easy syncing of cache lists with GSAK via thumb drive
  • Automatic tracklog recording and syncing with thumb drive


Software Requirements

Setup Instructions

These are, obviously, a work in progress :)

Package Installation

Most of the packages can be obtained from APT.

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install autofs lcdproc python-pyspatialite sqlite3 gpsd vim-nox gpsd-clients screen python-dev i2c-tools python-smbus git

The RPi.GPIO library needs to be installed separately since it's not in APT.

$ cd /usr/src
$ sudo wget
$ sudo tar -xvf RPi.GPIO-0.4.1a.tar.gz
$ cd RPi.GPIO-0.4.1a/
$ sudo python install

The lcdproc python library also needs to be installed separately.

$ cd /usr/src
$ sudo wget
$ sudo tar -xzf lcdproc-0.03.tar.gz
$ cd lcdproc-0.03/
$ sudo python install

Download CacheberryPi Software

Clone the CacheberryPi repository to your "pi" user's home folder.

$ cd ~
$ git clone


Install the ifup script so we can see network configuration on the LCD.

$ cd ~/Cacheberry-Pi/util
$ sudo cp ifup-lcdproc /etc/network/if-up.d
$ sudo chmod 755 /etc/network/if-up.d/ifup-lcdproc

Install lcdproc configuration files and LCD driver.

$ cd ~/Cacheberry-Pi/misc
$ sudo cp LCDd.conf /etc
$ sudo cp hd44780-i2c/ /usr/lib/lcdproc/

Setup udev to make GPS devices world write/readable:

$ cd ~/Cacheberry-Pi/misc
$ sudo cp 70-persistent-net.rules  /etc/udev/rules.d/

Edit 2 files to enable i2c: In /etc/modprobe.d/raspi-blacklist.conf Add a # before the line "blacklist i2c-bcm2708". Add the following 2 lines in /etc/modules


Edit /etc/rc.local to start CacheberryPi on startup. Add the following before "exit 0"

nohup /home/pi/Cacheberry-Pi/start &

Configure autofs for update functionality.

$ cd ~/Cacheberry-Pi/misc
$ cp auto.removable /etc
$ cp auto.master /etc

Edit /etc/hosts and /etc/hostname and replace "raspberrypi" with "cacheberrypi".