Having recently purchased a Hobie 14-ft catamaran, I have been having fun out on the water, but also wondering how fast I’ve been going. To give myself some idea, I decided to make my own instruments using an Arduino, LCD and GPS.
My first prototype is shown, displaying the speed in knots (0.0), the current compass heading (111°), the time, number of satellites (07), and the battery voltage (412mV). If you add on an OpenLog from Sparkfun, you can save all the GPS data to a flash card for viewing on a computer later. Best of all, it’s really quite easy to make!
- Arduino Pro 328 – 3.3V/8MHz [$14.95]
- Graphic LCD 84×48 – Nokia 5110 [$9.95, or $4 on eBay]
- GPS Receiver – LS20031 5Hz [$59.95]
- Polymer Li Ion Battery – 850mAh [$8.95]
- OpenLog (Optional) [$24.95]
- Waterproof Case [$2]
- Misc screws, backing board, wire [$3]
Total = $98.80 [+ Shipping + OpenLog]
The wiring diagram looks like this:
The GPS Tx pin is wired to the Rx pin of the Arduino and OpenLog. First, the GPS should be configured for 9600 baud, 2 Hz update rate, and with the GSA and GSV sentences turned off. This can be done with a handy program called MiniGPS, just connect the GPS module to a USB serial adapter running at 3.3V.
The LCD is connected according to this very useful hookup guide. I bought my LCD from eBay, and it has a slightly different pin arrangement, but works exactly the same. Most pins used for the LCD can be changed in the code. I also added a status LED on pin A0, and a battery level monitor on pin A2.
The Arduino sketch written for the Arduino Pro 328 can be found here. Please double check the pin assignments before you use the code.
If you have the OpenLog connected to the GPS Tx pin, it will record everything the GPS spits out. This data is not much use on its own, but there are many programs you can use to interpret it. The only one I’ve used so far is this NMEA to KML converter. You can upload the GPS log file and it will produce a KML file that you can open in Google Earth. You can then see your tacks, gybes and speed on the water!
Considering that similar devices are on the market for $400 and up, making it myself has saved me quite a bit, plus I can customise it so it works exactly how I want. If anyone reading this tries to make one, let me know how you go!
Hey I wanted to attempt an Arduino Pinball Conversion/Rebuild. I would like to build my own coil driver but I don’t know how, Could I have a Schematic for the coil board used to trigger the 50V coils such as the flippers, slingshots and pop-bumpers?
I love your blog we must share the same interests. Just wondering where you would get that waterproof case from? Looks sick.
Hey, I found the case in a two dollar shop! Was just the right size to house the project so I was lucky,
I bought a super cheap GPS module with aspirations to do the same thing. HOWEVER, the speed is reporting up to 2kts when I am not even moving. What sort of accuracy do you get with your device? Do you think an accuracy of 0.2kts is asking too much?
Some GPS modules are better than others, cheap ones will be less accurate. How many satellites can the module see when it shows 2 kts? Mine sometimes shows 0.2 knots when its not moving, but 2 seems like a lot.
Really awesome project! I was searching to find exactly something like this. I am just getting into sailing and the cost of instruments are ridiculous. I will be working building my own GPS logger and speed indicator soon. Thanks for posting your work. Cheers
Does the code even work on the Arduino Uno?
APro mini is the same chip as an Uno. Just check the pins.