Written by Bill Bishop on Nov 11, 2014 for Panbo, The Marine Electronics Hub
I see a lot of marine electronics and I'm hard to impress. There's a lot of the new, faster, bigger and brighter appearing every year. However I get very enthused when I see real innovation appear. CHIRP sounder technology and WiFi enabled chartplotters are a couple of excellent examples. But now there is Signal K, and I'm really excited. This is potentially a game changer on a grand scale, and I'll attempt to explain what's happening and its long term implications for your boat.
Signal K is a universal data model that allows data and information about your boat, and other boats both locally and across the globe, to be easily shared. It speaks the language of smart phones, tablets and the wireless Internet in our now much more connected world. This capability has not existed in any meaningful way before, and now it's quickly becoming a reality.
The possibilities are nearly endless. Since Signal K can make all your boat's data available in a consistent Internet-friendly open source format, developers worldwide would be free to create applications for your boat. This is because Signal K's communication format makes it much simpler to access and use your boat's information, especially for mobile devices and cloud based servers.
There are security levels to control this access, but if you allowed it, a marina could sense your boat and automatically send you docking information. Crowd sourcing of data such as water depths can be automatic. You could see not only your depth, but the depth of the boat in front of you. Sharing of your waypoints, POI's, and even the yacht club trip route becomes simple. Check in on your boat from anywhere in the world or be notified by email if problems arise. It may seem incredible, but this is part of Signal K's overall vision and it's much closer to reality than you might believe. Your boat's WiFi antenna will become in many ways as important to you as its VHF antenna.
In order to understand what Signal K is about, we have to take a look at what capabilities our boats currently have for dealing with information. Instruments and sensors gather data and typically send it to other devices using the NMEA 0183 or newer NMEA 2000 formats. NMEA data is collected, packaged and transmitted in related groups. For example the NMEA 2000 engine parameters PGN 127489 contains things like oil pressure, voltage, and also has a large number of status indicators such as "water in fuel" alarm status and others.
Your chartplotter's software takes this data, sorts it out and displays the information on its dedicated data pages for you. It works well and nobody argues with this... unless you want to use a mobile device and/or the Internet to easily see your boat's data. Wouldn't you like the limited number of wireless marine apps that are now available to do much more?
The crux of the issue is that NMEA's communication formats understandably did not foresee the exponential growth of both the Internet and wireless communications. NMEA 2000 made its first appearance in 2001. There was virtually no wireless Internet access. Tablets and smart phones didn't exist either. In 2014 alone over $200 billion of these smart computing devices will end up in consumer hands.
In a world where there should be hundreds of mobile apps that use your boat's data, there are only a few. You can buy black boxes that will transmit NMEA 0183 and 2000 data wirelessly, but the manufacturers tend to use different formats and offer different subsets of the data available. This makes it difficult for app developers. They can't just write one app and have it apply to all boats, but instead have to add individual support for different module types. Fiscal incentives for both the app developers and the gateway developers is quashed by the inherently small and fractured market. These problems can all be solved by Signal K in a very clever and unique way.
Signal K by itself isn't designed to replace your existing navigation system. Instead it augments your boat's potential and provides the tools developers need to create meaningful apps for your vessel with secure connections to the outside world.
Signal K is a system that takes NMEA and many other types of data and places it into a consistent and predictable data model (a schema). Think of the Web -- every page has a different and unique URL. The same URL always takes you to the same page, although the content may differ second by second. Some are available permanently, some are not. Some are restricted, some are public. And most importantly you can access them from any device. Signal K applies the same concepts to your boat's data. It defines a consistent and predictable "URL" for each individual data item.
The typical data elements shown in the schema sample all have a similar format. The information in the schema is human readable, making is easier for app programmers to access it. In the example shown it's "headingMagnetic." Value means this is a number and it's currently 43 degrees. The source of the the data in this context is "self" meaning it's comes from your boat, and "time stamp" is when the data was received by the schema so we know how fresh, or old, the data is.
The schema also stores other things important to you. Information about AIS targets, charts, routes, tides, waypoints, VHF/HF call signs, MMSI numbers, alarm set-points, cruising notes, names of crew members and much more. As the schema continues to grow, existing data types keep their original URLs, and new information types such as your sailboat's polar data get new and unique URLs. This allows Signal K applications to keep working despite the inevitable new additions to the schema as it grows.
Arduinos can interface too
Open source hardware such as Arduinos create the opportunity to capture data and/or to manage NMEA as never anticipated. For example Signal K already has a seawater salinity data element in its schema. Arduino's can sense this along with many other monitoring possibilities such as engine room or freezer temperatures. Lighting control with motion sensors, audio alarms like "Warning bilge high water!" and more are possible by integrating Ardunios into a Signal K based system. The Freeboard Project is completing software to allow Arduino's to directly communicate with Signal K.
Arduinos are small, powerful and very inexpensive ($60.00) computers used to deal with the physical word. They have many inputs and outputs both digital and analog. An example of a current Arduino boating application is Jack Edward's very successful and home-built autopilot system, which I wrote about here.
The open source Freeboard system uses Arduinos and Raspberry Pi's to create a browser-based navigation system that uses Signal K. As part of that effort Freeboard has developed a set of specialized interface boards to aid in connecting Arduinos to your boat and Signal K. There are connections for a GPS, Peet Bros wind instrument and a water speed paddle wheel sensors along with basic autopilot functionality (a work in progress). The Freeboard Project is now rapidly approaching turnkey status. You can learn more about the Freeboard Project here.
So where is this all going? Signal K may lead toward a world where your boat's displays are commodity items like tablets and smart phones. You select your functionality in the same way you select apps for your cellphone. Add new capabilities like crowd-sourced cruising notes. If a 15" waterproof sunlight viewable tablet appears, just secure it to the helm, and history suggests they will appear. Waterproof cellphones (Samsung S5) are now readily available. It's clear Signal K has game changing potential for both recreational, and commercial boating. Nothing else like it exists in a developer friendly format to accomplish this.
The popular OpenCPN navigation PC based software is also planning to add Signal K functionality into their next major software revision and many others are now watching the system's progress closely.
The project has come a long way in a very short period of time. Currently a basic reference server is operational. This is a type of software prototype design, to test against and ease continuing development. The basic hardware configuration on a boat will consist of a Signal K server running on a relatively inexpensive single board processor like a Raspberry Pi, a USB hub, and a WiFi router. The NMEA data inputs can come from NMEA 2000/0183 to USB gateways, and Ardunios if desired.
Signal K implementations like Navgauge, OpenCPN, the Freeboard Project, and others are all "Open Source" projects. Like other open source platforms, anyone who can help, including commercial developers, are welcomed and encouraged to participate. You can find information about how to do this at the Signal K website.
Signal K's goal is to help your boat become more like an iPad. One reason the iPad became such a success was the way it provided a common platform that app developers worldwide could use. It's the abundance of good apps that made the iPad such a runaway success, not just its hardware.
In Signal K's world apps use all of your boat's information, not just data from sensors. Social sharing and crowd sourcing becomes possible. Also viable would be apps that do long-term data monitoring and analysis or let you use your boat's polar data in a race. Have you selected an avatar for your boat yet?
Bill Bishop is a professional marine electronics installer as well as creator of The Marine Installers Rant.