A DIY Chartplotter

It only took two evenings to get a Raspberry Pi chart plotter built out.

Yesterday I got OpenCPN up and running following instructions found on the web, and today I finished the process to the point that the hardware is a fully functional chart plotter.

The first improvement that had to be made was getting charts installed in OpenCPN. Thankfully NOAA provides free versions of nautical charts for US Waters and most frequented coasts regionally. It was simply a matter a downloading the appropriate charts (Washington State, and Region 15, Puget Sound) and unzipping them to a folder. I then added that folder to OpenCPN using the built-in options screen, and after a few minutes of compiling, the charts displayed.


Then I needed to add GPS capability. First, I hacked together a few wires to an existing Venus GPS Module that I had from a previous Arduino project. This was a simple matter of soldering 3.3v power, ground, and TX/RX digital inputs between the items:


Then I installed the GPSD service from the web, run the service, create a socket for it, and verify that the hardware is receiving the signal. Currently I need to hand-type this sequence each time I reboot the microcomputer: 
$ sudo service gpsd restart
$ sudo killall gpsd
$ sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock

Eventually this will be added to a script that will run on boot.

And then to test: 
$ sudo cgps
$ sudo xgps

And behold, signals from outer space:


Now that all the pieces are in place, the final step is to add this GPS device to OpenCPN so that it can read the information:


In this picture you should be able to see a rendered nautical chart of Puget sound, Heading, GPS satellite status, GPS location, and  Compass gauges on the left, and my “boat”, sitting off in Issaquah, since that’s where my GPS device is located.

It’s running at about 80% of the Raspberry Pi’s capability, at 1280×1024 with no overclocking.

And boom goes the dynamite.

9 thoughts on “A DIY Chartplotter”

  1. Hi ! Good idea ^^ Can you say us more about how to install open CPN on raspbian ? I read on the openCPN site web that we should build from sources for ARM distributions. How did you do ? Thanks a lot.

  2. Thanks for showing the steps to do this, I would have spent much longer trying to do this myself! I like the idea of using a pi, but the cost of a windows laptop is probably similar to pi+monitor+keyboard+ps+… And you can use it for other things when not boating. What do you think?

    1. I Paul.

      We used a laptop originally, and won’t go back for one reason — power.

      When using a laptop, you either get a couple hours of battery life, or you use the power adapter through an inverter wasting battery in the transition. There are alternatives, but they risk damaging the laptop (power spikes can be nasty)

      Also, I prefer the dedicated device that the RPi provides.

    1. Yes, OpenCPN is extremely stable in the latest releases.

      I had some issues with it crashing back in the 2.x days, but the newer version are very solid.

Comments are closed.