Monday, 22 February 2016

vyacht router: Now with Signal K

First Blood

Swedish marine electronics producer vyacht appears to be first to market with a commercial Signal K offering.  New firmware released at the end of January for the vyacht WiFi NMEA router supports Signal K.

The vyacht router is an open source (hardware and software) device which bridges between NMEA-2000, NMEA-0183 plus optionally Seatalk-1 networks and wifi (and optionally ethernet) with the base model costing just SEK1499: a little under €170 at the time of writing.

Bernd from vYacht was kind enough to answer some questions about vyacht, the router, the new firmware release and Signal K.

About vyacht

You’ve been producing the vyacht router for longer than vyacht AB has existed.  Did the project start as a hobby?
Its a very intensive hobby, although it's grown bigger and more successful than you could run outside a Swedish aktiebolag [corporation] without losing sleep.
The vyacht workbench

Do you now work full time on vyacht?

I am currently starting to look into scaling the business up and make it full time. I need people looking after sales and support and setting up distribution in various countries: the direct sales model is limiting. 
And an investor. If someone interested reads this: its not too late to talk to me. 
The vyacht router is a very mature product now and probably the most advanced, flexible and extensible on the market. The market is huge and has just started to ramp up in vyacht's space of innovating in the integration of boat networks, web, mobile and wireless. 
Do you have any other products planned?
There are at least 3 or 4 ready-to-ship products. I just haven't got around to launching them as I am focusing on the router. 
There is also new functionality in the pipeline for the router itself. It's easy to extend even on the hardware side. It's capable of a lot already but ideas and possibilities are endless just on the software side.

The vyacht router

Is the vyacht router NMEA certified, and if not, is that something potential customers should be concerned about?
Like most small companies, vyacht hasn't sought NMEA certification. The protocols are publicly well documented thanks to the work of many volunteers. vyacht works with all the software and apps out there: none of those that I am aware of is NMEA certified. They are based on the public documentation just like vyacht.
The end user doesn't need to worry. vyacht users have successfully tested the router against probably hundreds of different NMEA instruments and devices. I have seen and fixed all sorts of issues but never any that was specifically about NMEA incompatibility.
To my knowledge even Raymarine only certify their MFDs but most of their other products are not NMEA certified either.
I am very critical of propriety standards. Unlike some I don't even see a positive marketing or quality effect of using the NMEA certification.
Are all the vyacht software sources available on github?
Sometimes I am a bit behind, but I aim to have all software uploaded there reflecting the latest state.
The vyacht router is notably much cheaper than competing products from much larger manufacturers. How do you manage this?
Margin! On the suggested retail price they will have a margin of at least 200 USD, probably much more depending on their hardware.
Also my product is a bit simpler in terms of the case and terminals.
I produce in batches of 100.  I'm not sure of their batch sizes. Theirs will cost as much in production. If they produce 1000 then prices will drop dramatically. 
I run it as a very extensive hobby project and 2nd job costing my health ;-) I am not financially dependent on it - and my profit is 0. 
I started the whole project because I was so frustrated about the price level. Boat owners are the "milking cows" for nice earnings - I thought.  Now I know: hardware is expensive, unbelievably expensive and much more than the sum of its sourced parts. If you have a case and knobs and dials it becomes extremely expensive. If you run a company you need to have at least 200 - 300% margin and volume > 1k to survive. Just accounting rules around warehousing will kill you.

The new vyacht firmware release

As far as you are aware, is the vyacht router the first commercially available Signal K device?
To my knowledge, yes. The first commercial product and company behind Signal K with full user support for the Signal K components installed.
Why did you implement Signal K on vyacht? Have there been requests from customers?
There was not much interest in Signal K from the vyacht community and so far it hasn't been driving any additional interest into the router. 
I see it as an investment, experiment and as support for a great project. I like and share the vision behind Signal K, and everyone can immediately see the added user value. The instrument panel is built into the router accessible without any additional software installed anywhere: all you need is the router and a browser.
Does the new vyacht firmware implement a full Signal K server, or like the iKommunicate act as a gateway device translating NMEA and Seatalk data into Signal K deltas?
Its a full Signal K server that serves the full format and the delta of updates. 
It might be lacking some implementation details such as the full blown set of own boat data, some engine data or receiving of 3rd party Signal K data as an input. 
I await user feedback on where to invest more to close the gaps.
Have you based the server implementation on the Signal K reference servers or written your own from the specifications?
I used the node server as a reference at times but actually wrote mine from the specifications. There is a difference between the specification and the two reference servers, so nothing is set in stone as things change often in Signal K.
Last year you suggested to the Signal K team that they look at popular IoT transports for use with Signal K. Does your new firmware implement MQTT or CoAP?
No. Maybe as a gateway to Signal K if it starts to make sense.
Are there any incompatibilities or notable differences in operation or functionality between the vyacht Signal K implementation and that of the reference servers?
The node reference server is different from the Java server. The vyacht server which is written in pure C is probably slightly different from either of them. 
There are also many web servers implementations out there which are all very different from each other but which communicate with any web browser using HTML. 
I successfully tested interoperability e.g. of the instrument panel and the vyacht server.
Is conversion from NMEA protocols to Signal K one way or can the vyacht router send Signal K deltas on its NMEA output?
It would be a 2 line change in the software to enable that if someone asks for it, but Signal K is quite chatty and I'd expect performance issues over a serial interface such as an NMEA 0183 output.
Signal K is still a "work in progress". How often do you anticipate having to update the vyacht firmware to keep pace with developments?
Probably more often than most users would like. They just want to have something ready to work and not install firmware updates. 
Its still impossible for a non-developer and time consuming even for a developer to get started on this project. 
At least for components like the instrument panel my main effort is almost like that of any Linux package maintainer: pick out the stable parts and package them in a usable way. 
The real advantage of vyacht for Signal K is that vyacht makes Signal K very accessible to users by being pre-installed and supported. 
What I deliver is just there and works out of the box.
Your latest firmware works with Navionics sonarchart live. How did you implement that?
It was just a matter of experimenting and making it configurable for the end user: broadcasting standard NMEA 0183 sentences via UDP on port 2000 and making sure timestamps for GPS data were correct. 
In the end Navionics even supported me based on user demand. I probably messed up their community charts quite a bit though with all the artificially generated test data that I used to make it work. 

Signal K

What do you believe the impact of Signal K will be on marine electronics and software?
Signal K or at least the ideas behind it will completely change marine electronics and software. 
The marine hardware industry and the NMEA are light years behind any other industry, in a nice comfort zone delivering technically outdated overly expensive equipment to customers used to spending a lot of money.
This is changing already without Signal K. First of all its not driven by an industry any more but by many individual enthusiasts. It all started with us just bringing to our own boats what we felt was normal everywhere else already: accessibility and availability everywhere, communication, ease of use and affordability.
Today you can get better-than-ever racing or weather routing software almost for free and made by extremely experienced sailing pros. You had to spend some thousand $ for this just 2 years ago. 
Signal K itself is not only about networking on a boat. The web, Facebook and the iPhone refined our expectations about how things should work. And Signal K, vyacht and many others take this and refine how electronics should work on boats and maybe even more important: between boats. 
Sure, there is a way to go still, but we have come a long way already and large vendors sleep tight. It currently feels a bit like the web around 1995. All the companies, software and stores we know today were born then or after that. Almost none of the older ones are relevant to the web today.
Do you see Signal K as a potential alternative to NMEA protocols, or would an “open” marine network require a protocol better suited to constrained devices?
Signal K is not an alternative to the NMEA protocols. Signal K is a complement or amendment to NMEA. Like a NMEA 2.0 for web. This is probably why the NMEA as an association recognised Signal K. 
Signal K is designed for the web and the communication between a browser and a web service. Its unsuitable for communication with a sonar. 
Signal K is perfect for the communication between a vyacht router and an iPad or tablet but too web-centric for even powerful constrained devices.
As a commercial manufacturer, what aspects of Signal K do you think would benefit most from further development?
  1. Make it easy for normal boat folks who are not software engineers to set it up and run. We need to build a wider community and attract all those not so deeply technical boat folks out there who can drive it forward.
  2. Reduce the protocol's chattiness and redundancies as well as clean out and document the overall structure for a better understanding and higher level of suitability for smaller devices.
  3. Signal K suffers from the same unclear semantics, data life time and data cycle issues that the NMEA 0183 protocol suffers from which NMEA 2000 partially fixes: that needs to be improved.
  4. Cut ties with the NMEA and remove references to legacy NMEA protocols in Signal K.
  5. Signal K needs to become (more) open.
The last points are maybe the most important ones: The decision making process in Signal K is quite closed and focused on the core development group. That isn't optimal for gaining active participation in development of a new and open standard. Open standards give every participant equal voting rights.
Also you can't really distinguish between the reference implementation and the specification. I think the reference implementation and not the community is driving the protocol specification. 
Signal K needs to decide if it wants to be a piece of software or a standard that changes the industry. Currently its the software. And in the past 20 years I have seen many good standards going down the drain by making this mistake.
I know from talking to a lot of small vendors that they are waiting to see how things will go for Signal K. Some have even implemented it but haven't released it due to concerns they share.
As long as nobody moves or they move in different directions we obviously don't get anywhere. If 100 or even just 20 software, app and hardware developers all move in the same direction, then we will change the marine software and hardware landscape quickly for the benefit of both us young marine electronics and software folks and all the boat enthusiasts out there.

1 comment:

  1. Do not, under any circumstances buy this device. I purchased one a year ago and have had endless issues with it. The support is abysmal. Repeated attempts to contact the vendor simply went unanswered. When I finally, painfully managed to work it all out for myself, I discovered serious problems in the translation of sentences from NMEA2000/STng to NMEA0183. STW and other numbers were just plain wrong indicating a bug in the software even though I was using the latest and greatest release.

    Don't waste your money. It's not worth it.