I had a Nerd attack, and did a "fun little project" this past summer.
Cat's Whiskers has a new chart plotter - a Garmin one, plus a Garmin "auxiliary" display a Garmin GMI-20. The old Raymarine Tridata runs the depth, through water speed, and water temp.
I had wanted to update all instruments to keep things up to date, but the depth sounder, I did not get around to either mounting a new through-hull depth sounder, or removing the old Raymarine one and plugging the holes, and mounting a new one. Spring came too early, or I procrastinated, (likely the latter) and working on the through-hull depth sounder and speed wheel is something that needs to be done out of the water.
So, being a nerd, I adapted the old Raymarine "Seatalk" output to NMEA-2000 using stuff I had at home, and some libraries and other documentation from others. We gave it a trial, the month of August; with the old Raymarine head still mounted in the cockpit, displaying depth, and with the Garmin chartplotter set up to get depth from the network, I could do a comparison. It worked, so my programming was good, and the prototype worked for the whole month, no crashes, no issues. Turned off (i.e. rebooted) at night, but it would be on for at times 9-10 hours.
Now that I know that it is pretty reliable, this weekend the Raymarine instrument comes out, and put below temporarily, and the GMI-20 gets mounted. Sometime (this winter??) I'll decide what I'm going to do with the depth sounder to update the whole system and actually get off my but and do it in time for next summer, I hope!
For the geeks in here; the Seatalk is 9-bit serial data, someone (refs if you wish, just ask) decoded much of it. I used 2 Arduino computers from the scrap box; one of the old 8-bit ones which I had already written code to read 9-bit serial for another application; but it was too slow for working on the NMEA-2000 network, so a newer, faster ARM-based Arduino was used, and a simple serial protocol exchanges data between them. I did look through the ARM processor reference to see if I could program 9 bit serial, but it was 457 pages of technical stuff, and... so I just used what I had.
Attached are 2 pics; one of my pocket scope showing voltage and signal from the Raymarine Tridata instrument; the other one with the 2 Arduinos and CANbus module ready to mount down below.
It's amazing what gets this old geek excited! (smile)
JohnS NS26C 046 Cat's Whiskers, Lying Bath ON.