NMEA 2000 opens up, in a Dutch attic!

... written for Panbo by Ben Ellison and posted on Jun 29, 2009
KEES_N2K_sniffing_station_courtesy_yachtelectronics_blogspot.JPG

I love this photo.  It may look messy, but not only is one man's fine N2K+++ yacht system being tested here, but the standard itself is getting explored, possibly to the benefit of many boaters.  This is Kees Verruijt's attic somewhere in the Netherlands and, as explained on his new Yacht Electronics blog, that Commodore PET is the "PC" he first learned programming on back in 1979.  The rest of the gear is going on Merrimac II, a Stadship 56 now under construction that Kees and his family have obviously put a lot of thought into.  Kees wants to extend the usefullness of his NMEA 2000 data system, even to his iPhone, and he's had to go to some serious trouble to do so...

Since N2K so far lacks an easy SDK for small PC developers, or serious enthusiasts, Kees figured out a way to sniff out packets using a Lawicel CANUSB device and he's been painstakingly parsing out specific PGN fields in the raw data.  And he's sharing his findings, and his NMEA 2000 packetlogger software, with other programmer/skippers who want better access to the data flowing around their vessel's backbone.  Now NMEA might not like this, but I don't have much sympathy;  such access -- and more detail on PGNs -- should have been available years ago, I think, and should be a heck of a lot easier today. 
   But, in fact, I'm told that the "N2K Intelligent Gateway" described to me in 2007 is finally nearing completion (i.e. ready for official product certification), with the new and more descriptive title Third Party Gateway.  Actually, Kees just got a beta version of just such a Gateway (the NGT-1 from Actisense), reports that it's way easier to use than the CANUSB gadget, and has already modified packetlogger to suit.  I've been trying an NGT-1 too, and am tentatively impressed.  Accessing N2K data, and even putting legitimate data back on the backbone, is going to get much easier for everyone, and much more affordable for developers.  Cool.  In fact, I'm hoping that few boaters will ever need the use of Kee's contributions, but how about a big Panbo hand for his efforts! 

Stadtship 56 Verruijt Electronics.png

Comments

This is terrific. Its about time the hardware hackers started taking on these protocols and doing some neat things with them.

I was thinking of doing the same, but I got distracted by my current efforts to reverse engineer the "ethernet" coming out of the back of my Garmin charplotter. Given enough time and a packet sniffer, we may be able to build cheaper PCs that can interpret and forward this data and do things we havent even considered yet!

Posted by: luckytroll at June 29, 2009 2:17 PM | Reply

If you can reverse engineer the ethernet output from a Garmin digital radar scanner so it can be used to display radar on a PC screen you will have made a serious contribution to those who choose to navigate using a laptop. Good luck with the project.

Posted by: Richard C at June 30, 2009 9:18 AM | Reply

Here is a protocol stack for NMEA2000 that I wrote.
It works with an ATMega128 (and all other Mega processors).

The stack supports address claiming and answers to request messages. messages that shall be transmitted periodically can be registered with a scheduler.

Phili

Posted by: Phili at July 6, 2009 8:06 PM | Reply

@Phili,

That's a great project you've got there.

Are you aware of this group: http://groups.google.com/group/duino2000

Regards,
Kees

@Others: click on the "Phili" link in the "Posted by" to get to the site where Phili announces his software and hardware design.

Posted by: Kees at July 7, 2009 4:09 AM | Reply

Hi Kees,
yes, finally the stack works pretty well. It was a lot of reading and reengineering using the CANHacker tool.

Furtunately NMEA2000 is very simmilar to J1939. After reading "A comprehensible guide to J1939" by Wilfried Voss, looking at the Maretron datasheets and verifying my discoveries with an USB100 it was all working out.

The stack needs more improvement but I guess some people like the idea of getting a first glimpse. Aspecially as there has been so much talk about realizing open NMEA2k stacks.

Phili

Posted by: Philipp Drewes at July 7, 2009 3:51 PM | Reply

The Actisense NGT-1 n2k PC Interface was recently awarded NMEA 2000 certification:
http://www.actisense.com/HTML/Whats%20New/News%20Articles/ArticleGen.php?article=Article030.htm&action=display

Posted by: norse at November 9, 2009 1:31 AM | Reply

Cool, this includes an API. Anyone try to write some software for this? See below ...

The firewall feature of the NGT-1 enforces the NMEA 2000 bus rules, enabling software vendors to create NMEA 2000 compliant software at a fraction of the direct certification costs. The supplied software interface (API) helps to reduce the development time required.

Posted by: Dan Corcoran (b393capt) at November 9, 2009 7:55 PM | Reply

Hello,

I've spent a bit of time this the Actisense device and the NGT is quite good. One good thing is that it seems to be cheaper than the CAN adaptors we have been using for this purpose. Exp has had support for the NGT for 6 months. It is never going to be much use on a race boat unfortunately, but will be useful in the cruising world.

Nick

Posted by: Nick at November 10, 2009 11:22 AM | Reply

PS. I hate to mention it now you have spent all that time, but a lot of the NMEA 2000 PGN packet definitions are available on the web ... just found them by accident yesterday! Unfortunately we already paid NMEA a few years back ...

Posted by: Nick at November 10, 2009 11:27 AM | Reply

Hi Nick,

What do you mean exactly with "it" in "it is never going to be much use on a race boat"?

And care to give a pointer to the website you found?

Kees

Posted by: Kees at November 10, 2009 5:17 PM | Reply

I meant N2k ...

Posted by: Nick at November 10, 2009 6:32 PM | Reply

Leave a comment