iKommunicate unboxing and install

Back in January 2015, I stumbled across a fantastic open source project called SignalK that promised to help boating nerds like myself gain access to the data from all of the instruments on the boat.

In October 2015, Digital Yacht announced a Kickstarter campaign for a product called iKommunicate Gateway, a hardware product with NMEA 2000 and NMEA 0183 connectivity, a web interface, and leveraging SignalK.  Mine just arrived, and having spent so much time using SignalK on my Raspberry Pi, I was very excited to get it unboxed and running and see the differences.

iKommunicate box

iKommunicate box

The box was pretty straightforward with a sticker to indicate it was an iKommunicate unit on the front.

Included materials

Included materials

Inside are a registration card, welcome letter, and a product manual.

Product manual

Product manual

The included product manual is extremely well written, and focuses on all of the key steps to get your system up and running.  Clear pictures, simple steps, and lots of real estate (oversized 11×17 paper) is something other manufacturers should use as well.  No one needs a 500 page manual of all of the functions – that’s best for online – but a very clear startup manual is a great way to get going. An electronic version is available on Digital Yacht site.

Unit and parts in box

Unit and parts in box

The rest of the box contains the unit itself, an Ethernet cable, and an SD card adapter.

Unit from the front quarter

Unit from the front quarter

The unit is made of plastic with a blue rubber edge around the front and back. It seems sealed well for the elements, although time will tell.

Front of unit

Front of unit

The front of the unit has details on the unit itself, power requirements, phone numbers (another good idea that other manufacturers should copy) and all of the wire color codes for the power and NMEA 0183 connections.

Unit from top

Unit from top

The unit has mounting brackets integrated into the front and back with pre-drilled holes.

Rear of unit

Rear of unit

The rear of the unit is where the real fun begins. From left to right you have the power and NMEA 0183 cable, status lights, Ethernet port, and finally NMEA 2000 cable.

I was surprised that there was not a wifi chip on the product, even back in the initial days on Kickstarter. Most products nowadays come with wifi in some form. Without this, I had to run an Ethernet cable from an undesirable location, which I thought was a thing of the past. I’d like to see future versions with a wifi option. It may not seem as reliable in some folks’ eyes, but I have had no issues with the rest of my wifi devices if setup correctly.

Power and NMEA 0183

Power and NMEA 0183

The unit requires power via a black and red lead in the combo power/NMEA 0183 cable.  I was surprised that it did not use the NMEA 2000 bus for power, but I suppose some installs will not have NMEA 2000 and only utilize NMEA 0183.  The specs say that it draws only 80mA so would powering it from the NMEA 2000 be an option in a future revision?

The remainder of this cable includes NMEA 0183 leads – two full input/output at 4800 baud, and one input at 38400 for high speed talkers like AIS devices and the like. This is a lot of flexibility for those who have older networks (or no network at all) and want to connect everything together. I will only be using the NMEA 2000 connector.

NMEA 2000 cable

NMEA 2000 cable

The NMEA 2000 cable is what you would expect – a device cable with integrated end. No splicing or otherwise required – simply connect to your existing network with a tee.

Blinky lights are blinking!

Blinky lights are blinking!

Connecting the system is super easy and consisted of three steps for me:

  1. Power – red and black leads from power cable went to a 1A fused connection
  2. Ethernet – long cable to my Peplink router
  3. NMEA 2000 – cable plugged into tee on my network

After power was applied, I could see the status and error lights initially blink, and then status went green, while the NMEA 2000 light blinked with what I assumed was activity on the network. Time to login!

Web interface start page

Web interface start page

The iKommunicate uses DHCP to get an IP address. Digital Yacht has a great set of instructions in the manual to help you figure out what the IP address of your unit is. I have a fancy Peplink router, and a networking background, and found it pretty quickly.

The start page gives you a few jumping off points. I recommend trying the iKompass App first, and then exploring some of the admin areas.

iKompass App in action

iKompass App in action

The iKompass App is a great way to make sure your system is working. Above you can see wind, depth, speed, GPS, compass, and AIS data all flowing into the app. Updates are rapid and appear to be using web sockets. I really like the colors and minimal layout approach to the data being displayed.

SignalK instrument panel battery and tank data

SignalK instrument panel battery and tank data

The best part of the iKommunicate Gateway and SignalK are the apps that people will be developing. Included in the iKommunicate is Instrument Panel which is one of the apps I’ve been using with SignalK for a long while. It allows you to choose data panels and gauges and lay them out in different pages and sizes as you see fit.

One big difference I noticed to using the iKommunicate vs. my Raspberry Pi with an Actisense gateway is that the iKommunicate sees more PGNs and data than my other system – hooray!  I’ve been trying to get battery voltages and tank levels forever on a web page somewhere.  Now I can stand on the dock and fill my water tank, and use my phone to watch the level!

This is the sort of innovation I’m really hoping will take off – new web-based apps that can visualize the tons of data on your boat in whatever format you want, on whatever device you want.

I suspect the iKommunicates’ ability to see more PGNs is due to the chipset they are using on the NMEA 2000 side, and that it’s relatively unfiltered. I’ve had some challenges with the Actisense device I’ve used for the last 4+ years connected to my Linux systems filtering things without messing with it via Windows tools, and suspect some PGNs are simply not being read at all.

In the above example, you can see my battery voltage (top), current amperage flowing out of the battery bank (middle left), temperature – which is clearly not correct (middle right), and the tank level.

There is still a lot of work to be done to tune these pages – the names of the devices and objects are a bit confusing. I had to go to the devices page in the admin panel to figure out which device was what. This is an issue for the instrument panel folks, not Digital Yacht / iKommunicate.

Instrument Panel in action

Instrument Panel in action

Here’s another example showing heading, depth, wind, and other data. Its fantastic that I can customize these pages, and that they show up on different browsers and auto-resize. As I mentioned above, there is still a lot of work to do on cosmetic features and data manipulation, but the guys at SignalK are working fast and furious on all of this.

The hope is that others will also start building apps and contributing those to be used with SignalK and iKommunicate. You can find out more about this specifically for iKommunicate here, and more generically for SignalK here.

Configuring instrument panel

Configuring instrument panel

In the above example, I’m adding a new object to the dashboard (battery voltage) and resizing it to match the other items. Keep in mind these are looping GIFs and limited to about 14 seconds of data, so it replays over and over in a loop.

Device list page in admin interface

Device list page in admin interface

One of my favorite pages is the device list. This allows you to see all of the different devices the iKommunicate sees on your network, and is very handy for troubleshooting. Here is where you can also find those device names that you see in instrument panel. It doesn’t appear to recognize the manufacturer for much of my devices, even though they are mostly mainstream devices.

Configuration page

Configuration page

Also in the admin pages is a spot to configure your vessel name, MMSI, network settings, NMEA 0183 ports, and transmit ports for data out of the system.

I always choose to setup static IP addresses when possible to prevent problems in the future, as you can see above.

I also enabled transmitting NMEA 0183 data over TCP port 2000 so that I could use apps like iNavX to subscribe to the data stream coming from the iKommunicate box. I know that other app makers are also adding native SignalK support to their products which should be even better in the future, as many will be using auto-discovery, saving steps during setup.

I’m also using this data stream for Coastal Explorer, SeaNavUS, and a few iOS and Android apps. Its very similar to the Vesper XB-8000 AIS system I have onboard which offers a similar stream, albeit with different NMEA 0183 sentences.

The translation from NMEA 2000 to NMEA 0183 only supports a handful of sentences which are outlined in the users manual. I wish more folks would allow things like tank levels, battery voltages, and the like in their conversions, but from what I understand it is pretty difficult to get these all right depending on manufacturer. Hopefully all apps will start adopting SignalK so that those values are easier to consume.

Downloading an update

Downloading an update

I knew there would likely be a software update soon, and went into the Administration tab in the interface and clicked Download Firmware Update. I was surprised that there was an update already available, and also pleased that the system downloaded it straightaway and applied it. The unit rebooted quickly and was back up in a few seconds.

Unit open to retrieve SD card - image courtesy of Digital Yachts

Unit open to retrieve SD card – image courtesy of Digital Yachts

One of the selling points of the iKommunicate is the ability to add additional web apps to the SD card in the unit. I think longer term it would be better to have this SD card exposed so that its easier to access.

I’m not 100% sure of the intent for these new apps – is the plan to integrate them with the main firmware? This would seem difficult to manage. I think it would be great to allow users to upload packages of new apps, or have an app library somewhere you can browse. Since these apps are most likely standalone web packages, they don’t require dependencies and other crazy operating system stuff. They should be easy to update and upgrade faster than the unit firmware.

I’m also curious how the embedded SignalK server itself will be updated – if Digital Yachts will take a more conservative approach and wait for bug-tested releases or versions, or allow developers and others to choose different tracks depending on their needs.

I am not complaining – in fact, I’m glad we’re having these sorts of discussions as before SignalK and iKommunicate we had very little access to any of this data at all!

iKommunicate unit front wood table

I can already tell you within the first day of using the iKommunicate that it will be a major part of my boat network for the foreseeable future. It is much faster than my Raspberry Pi 3 running SignalK, sees more PGN’s and NMEA 2000 data than it does, and has a great web management UI that makes things easier to use.

I’d like to see a wifi chip and the SD card more exposed, but otherwise the unit itself is a great bit of hardware and software engineering. Hats off to the Digital Yachts folks for their design and manufacturing work – from October 2015 to now (8 months!) is an amazingly short time to pull off a great product.

I can’t wait to get deeper in learning to build apps and see the community around that area grow. I’m very excited to have the first SignalK-powered commercial product on Grace, and see the beginning of a new era for marine electronics, putting more control of boat data in the consumers hands.

 

 

 

About Steve Mitchell

I live in Seattle, WA and love sailing, technology, & playing and composing music. I started playing the piano when I was 3, and ended up figuring out many other instruments along the way. I’m an avid sailor and have a 2000 Beneteau 311 named Grace, and sail it whenever and wherever I can.

  • Hi Steve,

    Great write up. Just a small note, the temperature you mentioned is in degrees Kelvin, so subtract 273 to get the Centigrade version, eg 289-273=16 degree C = 60deg F, which sounds better.
    All units in Signal K are SI units, but InstrumentPanel still needs some work on switching user choices for display, eg meters/feet, miles/knts/kms, deg C/deg F, etc

    • Thanks rob42! That does match what the batteries usually show temp-wise on other devices. That is crazy that it is in Kelvin, but good to know.

      I did see the ability to switch some of the stuff in instrument panel that wasn’t there until recently – specifically some items to knots and feet, which are my preference. I will be updating my iKommunicate box with the newest version the next time I’m at the boat. That should help as well.

      Great job on SignalK and Freeboard! Can’t wait for more SignalK goodness.

  • Steve Olsson

    thanks for the nice review. I really appreciated the detail and the photos.

    • Thanks Steve! I think good pictures are critical to any review!

  • Jukka

    Hi Steve! Do you think the Maretron TLM100 tank level monitors could be used with iKommunicate but without any traditional MFD’s?

  • Steve Mitchell

    Hi Jukka,
    I use my TLM100 with iKommunicate already – that’s a great use case. One of my main ways of using it is via the Instrument Panel app that is on iK and allows me to fill the water tank dock-side while watching the level from my iPhone.

  • Steve

    Does the iKommunicate also act as a 0183 to N2K converter?

    • I do not think you can use it as a converter between those two network types natively. The primary purpose is to snag info from one or both of those networks and make it available within the UI and via SignalK’s protocol. You could have both network types connected and see the data on the iKommunicate or another device, but I don’t think you could easily bridge the data between the two networks without writing a SignalK proxy of some sort, which the iKommunicate might/might not support.

%d bloggers like this: