NMEA 2000 opens up, in a Dutch attic!
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!
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!
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.
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.
That’s a great project you’ve got there.
Are you aware of this group: http://groups.google.com/group/duino2000
@Others: click on the “Phili” link in the “Posted by” to get to the site where Phili announces his software and hardware design.
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.
The Actisense NGT-1 n2k PC Interface was recently awarded NMEA 2000 certification:
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.
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.
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 …
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?
I meant N2k …