Pictured above is a screenshot from WilhelmSK (a popular Signal K app) showing just some of the information that can be displayed onboard your boat, when using Signal K and Victron Energy products together with Victron’s Venus OS.
Venus is the software operating system used by the Victron GX product range. As many of you will know Venus can also be used with Open Source projects too. Various examples can be found with a search on ‘Rasperberry Pi’ here on the Victron blog.
If you are not familiar with Signal K and the plethora of information that can be integrated from onboard boat systems, then this blog I published a year ago will serve as a primer – Signal K: Embracing connectivity with Victron Energy.
Since publishing that blog, Signal K due to the passage of time has evolved even further and created a great deal of interest in the marine world in its own right – plus as a further consequence of my blog – this has led others to integrate Signal K with Victron Energy products.
One such project (which takes everything to another level) is Stefanie’s sailing vessel Taku Moe, with its fabulous onboard integrated systems display and management.
Sailing Vessel Taku Moe
Taku Moe is a Bavaria 390 Lagoon and has gone through an extensive refit in recent times. Her crew consists of co-owners Stefanie and Heike.
Starting next week they set sail from northern Germany for a four week trip from Schleswig into the east Baltic and Poland – and then next Spring their avowed aim is to head for southern Spain. From there the plan is to commence a circumnavigation of the Mediterranean, next cross the Atlantic and visit the Caribbean – later to go wherever the wind takes them over the coming years.
Stefanie and Heike are highly qualified, competent sailors and Stefanie (if she’ll forgive me for saying so) is the major geek of Taku Moe’s crew. Who better to implement Signal K onboard…
Implementing Signal K
From here on, I’ve edited Stefanie’s comprehensive description of her project. Not because her words were lacking, merely it’s my attempt to make the best sense of our communication between a German that speaks English (but not as a native language) and an Englishman that doesn’t speak German.
Here then is what Stefanie has to say:
Project Aims & Challenges
- To have a single iOS App displaying many different values such as navigation, power and environmental data – all such data taken from the instrumentation aboard Taku Moe.
- This singular app to be served from a Signal K Node Server over wired and/or wireless, to seamlessly integrate the many different display protocols.
- Implementing this, there would be no need to have dozens of different apps to display the boat information – as previously the multiple devices couldn’t even talk to each other.
A few years ago such project aims were not possible, as each equipment vendor relied on their own proprietary protocols – and in fact still do. That situation makes for a very unfriendly user experience and a significantly expensive one too – when you want to keep your instrumentation and equipment up to date. Fortunately this awful situation changed when some nice guys came together and started to develop Signal K.
What is Signal K?
Without going into too many technical details, let me quote from the developers themselves:
“Signal K is a modern and open data format for marine use. Built on standard web technologies including JSON, WebSockets and HTTP, Signal K provides a method for sharing information in a way that is friendly to WiFi, cellphones, tablets and the Internet.”
The many different protocols and Bus systems aboard Taku Moe are:
- NMEA 0183 and SeaTalk 1 (Raymarine Wind, Speed, Depth, Water Temperature)
- NMEA 2000 and SeaTalk NG (Raymarine Evolution EV-200 Autopilot, MFDs, B&G VHF, AIS, Air Temperature, Air Pressure, GPS, Fusion Radio)
- Modbus TCP (Victron Venus OS running on a Raspberry Pi)
- VE.Direct (Victron BMV-700, Victron Blue Solar MPPT 150/35)
- VE.Bus/CAN+MK3 (Victron MultiPlus C 12/1600/70-16 230V)
- Simarine Pico (protocol needs to be reverse-engineered to get data interfaced with Signal K)
- 1-Wire (external so called 1-wire sensors i.e. for temperature, humidity, pressure, tank levels)
- CAN Bus (interface between Signal K and NMEA 2000, allowing bi-directional flow of data)
- MQTT (to talk to Sonoff smart switches to switch on several devices like Radar, Windlass, Bow Thruster, Lights through the same app)
- TCP/UDP/HTTP/WS (Teltonika RUT950 Router, 2 x Raspberry Pi, iPhones, iPads, MacBook). Note – both Pi can basically replace the router as they are able to serve as that too, but as I already had the Teltonika I’m using it.
As one can see, all that above is a whole lot of different protocols and buses coming together. At first glance one can assume that wiring such a system ends up in a total mess. Not even close, because thankfully the router aboard makes it easy to connect most of the devices through a simple Ethernet cable. The rest is straightforward 12V DC wiring to sensors, or Plug and Play (PnP) between the different buses.
How do I get there?
Not easy to answer. In my view there are 3 solutions.
1. To default to commercial offerings and with that quite expensive solutions. It is possible but requires some engineering. I’m not an engineer nor do I want to spend a whole lot of money for a system whose half life period is less than a few years year (thinking of all the MFDs I have spent money on in the last years…).
2. To revert back to what sailing was a few decades ago and quit with all the smart things. Yes, that is possible, but I grew up right in time to experience how the internet seemingly came out of nowhere. Also I’d been playing with Arpanet through DIY modem/couplers and blue boxing (110 baud, can you imagine?!) when the phrase ‘computer network’ was not even familiar to most. As such I became addicted from the very first day, so no option to go back in time for me!
3. To do it the hard way even when you have no idea about all this stuff, which means: to grapple with at least the basics of protocols, interfaces, trying to remember what Linux is, read the ‘effin’ manuals and bring it all together. That saves money, a lot in fact and keeps the brain busy – which at a certain age helps! Luckily there are friendly communities at Victron, Signal K etc., all who are extremely helpful and patient to support you in this process if you don’t get it the first time around.
Vital system components
- WilhelmSK – The Swiss Army Knife to achieve my goal. (WilhelmSK is a highly customisable boat instrument display that uses the Signal K protocol to show information from your boat’s sensors on your iPhone, iPad, Apple Watch or Apple TV. Scott Bender, the author of WilhelmSK, is also one of the main developers and contributors to the Signal K Node Server).
- Raspberry Pi – One Pi hosts OpenPlotter/Signal K/Homebridge/Node-Red, InfluxDB, Grafana and is the brain which brings it all together. The second Pi runs Victron Venus OS – the heart of the electrical system.
- Apple TV, HomePod or iPad/iPhone required for smart switches to become accessible via HomeKit into Signal K/WilhelmSK – and all this fancy stuff you can find under “protocols and bus systems”.
Advantages of Signal K, WilhelmSK, Node-Red and Venus OS
- Open Source except for WilhelmSK, which doesn’t cost a fortune (20 Euros I think). This all means a lot of support through a large community of developers and users. Plenty of updates and upgrades with the implementation of new features (if it makes sense) and bug reports from users.
- WilhelmSK is highly customisable, showing all the values one can think of. Be it electrical data from the Victron Product line, environmental data from sensors, switches from HomeKit or navigational data from the NMEA network – bi-directional. That means I can control my Victron devices or smart switches, the Raymarine Autopilot, my Fusion Radio, whatever. And if you have influxDB/Grafana setup, you can store all the data for history or real-time display all nicely presented. Have a new device or sensor? No problem as long as the protocol is known. Then simply define your own Signal K path and voila, it shows up on WilhelmSK. You’re completely free in setting up gauges, digital, analogue or as a bar. You hate digital numbers and love the new Venus HTML5 app from Victron? Again, no problem. Use a so called Web gauge within WilhelmSK and get the benefits of this beautifully designed app within another app.
- Remote Control. Have access to all your data and switches through the internet. Control your Victron devices whenever and wherever you want. Turn the Multiplus Charger on when the batteries run low. Check bilge sensors inside the boat for possible water ingress or get notified by SMS/Telegram/Messenger/Twitter whatever program you like to be notified in real time that your boat is possibly about to sink or gale force winds are pounding your mooring telling you to go and check it. This all requires access to a GSM network, which is setup in my case through the Teltonika router with SIM card via (and highly recommended) a VPN.
Is there anything lacking?
As of yet, no, not really. When Victron decided to collaborate with the Signal K development team, a whole new world opened up making many things possible that I’d only dreamt of. And this collaboration is helping both, Victron and Signal K to benefit from it, not to mention the user. When talking about the Internet of Things (IoT), then a solo effort quickly becomes a one-way street. I’m really surprised how easy it was in the end to set this all up, although at times I had plenty of headaches. It took a long time to decide whether I wanted to go this route or leave it as is. But once started, it quickly developed. A no-brainer when the first Victron data appeared on the iPad screen. It makes me want more of it. Plenty of new ideas coming up. I think that is part of it and that keeps it all moving – the bread and butter for the developers.
06/04/2019 – Added switches to WilhelmSK. Now I’m able to add switches (which are compatible but not certified with HomeKit) to WilhelmSK and can switch whatever I want – such as Windlass main switch, Bow Thruster main switch, Radar and a few others I have in mind.
Switches are Sonoff Basic for 230V devices hooked up to the Multiplus and Sonoff 4ch Pro R2 (powered by 12V DC) for 12V devices. Sonoff are flashed with Tasmota firmware to make them compatible with Apple HomeKit through Homebridge.
WilhelmSK recognises these switches as soon as they appear in HomeKit. Exciting stuff.
Installation on Taku Moe – Day 1
29/04/2019 – Today I started with the installation. Both PI’s are now connected via Ethernet to the router. Next step was the firmware update on the MultiPlus to version 459. That was a flawless task. See Victron Professional.
Then connected the Victron Interface MK3-USB to the Venus Pi as well as two VE.Direct to USB Interface. One for the BMV-702 and another one for the BlueSolar 150/35. Need another one for the new SmartSolar 75/15 (added a 4th Solar Panel, which unfortunately is only 135Wp. The 150Wp was out of stock and got replaced by a 165Wp panel, which cannot fit on the bimini).
Booted into the Venus, setup the connection to the router and shutdown the demo mode. Without doing anything the system recognised the Multiplus, Blue Solar and BMV.
Need to do some further adjustments for my specific system. But it basically works “out of the box(Pi)”.
27/05/2019 – That was more work than I thought, but in the end everything works as expected. Had some trouble understanding how DVCC affects the System but now the DVCC documentation has been improved, so I think I have got the hang of it. D-Bus data is now available via VRM, LAN, WiFi, wherever I want. System is accessible also through VPN from home. Can switch the Multi on/off from home and of course see and remotely control all available data, be it Victron stuff or boat related data. The most fun thing is the Water Heater, which I can switch on from home as well!
That was lot of fun and a learning experience throughout the preparation and installation process – but I’m so totally excited to have it all running…
My thanks to Stefanie for all her hard work in communicating her project to me and in supplying the text and images for this blog.
Whilst I can’t claim to have done the hard work – hopefully this blog (and my original – Signal K: Embracing connectivity with Victron Energy one) helps you see how collaboration between individuals and communities has a collective and quite profound effect in bringing people together and improving the breed – something that Matthijs Vader of Victron Energy had envisioned right from the start with Victron’s Signal K collaboration. Long may that continue…
Why not visit the Victron Community?
In closing I wish Taku Moe and crew, all Set Fair!
Resources & Links
Taku Moe website – https://www.sailingtakumoe.de
Taku Moe on Facebook – https://www.facebook.com/TakuMoe
Taku Moe Signal K blog (inc more resource links) – https://www.sailingtakumoe.de/2019/06/05/signal-k-wilhelmsk-taku-moe-becomes-smart/
Taku Moe on Victron VRM – https://vrm.victronenergy.com/installation/35603/dashboard
Signal K website – http://signalk.org
Signal K on GitHub – https://github.com/SignalK
Signal K on Google Groups – https://groups.google.com/forum/#!forum/signalk
Signal K demo node server – http://signalk.org/demo.html
Signal K on Facebook – https://www.facebook.com/signalk.org
Applications & Solutions with Signal K support – http://signalk.org/solutions.html