Git Product home page Git Product logo

seatalknmea's Introduction

SeaTalkNMEA

SeaTalk is a simple networking interface used by Raymarine to link their range of marine equipment together so that data can be shared across all devices. Technology wise it is best described in a document written by Thomas Knauf found here: SeaTalk Technical Reference.

Hardware

The project is designed to read SeaTalk data and convert it to standard NMEA 0183 data. Such devices are available commercially but can be very expensive. The one manufactured by Digital YACHT is sold for £150 whereas the solution here can built for £10 - £20.

It is based around the Arduino Pro Micro. This device was chosen as it provides two hardware serial ports. One port is accessed via the USB connection and the second is available on the board. The intention being to read the SeaTalk data via the on board serial port and make the NMEA data available via the USB.

SeaTalk uses a 12 volt signal line. To interface this to the Arduino it must be converted to TTL level, this can be done using the circuit published by Berreizeta:

This can easily be built on Veroboard and the whole device assembled as:

The GND is connected to the Arduino GND pin and the DATA is connected to the Arduino RXI pin.

Software

SeaTalk sends 9 data bits for each transmitted character, 11 including start and stop bits. This is impossible to process with the usual Arduino hardware serial support so use is made of a library supplied by Nick Gammon. There is a post on the Arduino forum Mods to HardwareSerial to handle 9-bit data that explains more. The most recent version of this HarwareSerial code can be found in the Source folder.

By default, the NMEA talker ID generated is "GP". This can be changed by talking to the device via a simple terminal emulator such as PuTTY, and sending it the Tcc command where the two characters cc represent the required talk ID. This is stored in EEPROM so it only has to be done once.

A debug mode is also supported. This can be turned on or off using the DT or DF command. If true proprietary NMEA sentences are generated that show the raw SeaTalk data that has been received.

Typical sentences generated, with debug enabled, look like:

 
 $PIMSST1,D,20,41,0,0*5e
 $GPVHW,,,,,0.0,N,0.0,K,*77
 $PIMSST1,D,0,42,64,0,0*41
 $GPDBT,0.0,f,0.0,M,0.0,F*06
 $GPDPT,0.0,0*49
 

References:

seatalknmea's People

Contributors

martindavidwaller avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.