Victron’s Venus OS on a Raspberry Pi, install and configuration
The Victron Remote Management (VRM) portal and their Venus OS monitoring software deliver best-in-class access to information about your boat (, RV, or fixed solar) electrical sytem. But, running one of these systems has typically required Victron hardware which starts around $300. Victron has a long history of embracing the open-source community and they’ve continued that effort by supporting Venus OS on a Raspberry Pi. But, many people hear Raspberry Pi and either think dessert or that it’s over their heads and too complex. This guide walks you through the steps required to get Venus OS up and running on a Pi and sending data about your electrical system to VRM.
Victron’s VRM is their powerful portal that integrates all the information collected from Victron electrical equipment installed on your boat (or RV or land-based solar installation). VRM receives data from a device running Victron’s Venus OS. Typically a Cerbo GX, Color Control GX, or Venus GX. But, when you’re done with this guide you will also know how to use a $35 Raspberry Pi to collect data, display it on your boat, and send it to VRM.
The Raspberry Pi is an inexpensive, credit-card sized, fully capable computer. It runs a version of Linux that includes a full graphic user interface like Windows or MacOS. The cheapest one can be purchased for $5 and the most expensive version with 8 GB of RAM costs $75. Pis are sold as bare boards, so you will need some accessories like a power supply, case, and microSD card to get going. Lots of companies bundle starter kits with everything you need except a keyboard and monitor to get started.
For this project I’ve used Raspberry Pi 3 B+ units. The Raspberry Pi 4 is the current unit. But, Venus OS support for the 4 is more complicated with only some serial numbers working. I did try to complete the build on a 4 and failed.
Although I’m going to concentrate on using a Pi as a single purpose device, I think it’s worth emphasizing that these are full y fuctional computers capable of serving a multitude of needs. In fact, I’m writing this article on a Raspberry Pi 400. The 400 is a Pi 4 B computer housed in a compact keyboard.
Because Pis come as a bare board with additional parts needed, you may find it daunting to figure out what to buy. Several companies offer starter kits but these often push a $35 computer over $100. Instead of a starter kit, here’s a list of every part I’ve used to create my solution:
- Raspberry Pi 3 B+ – $35.00
- 3 B case with heatsinks – $7.00
- 12-volt to 5-volt Micro USB Buck booster – $9.00
- 32 gb MicroSD card – $7.00
- Victron VE.Direct to USB adapter – $30.00 (I have two in my installation, one for the battery monitor and one for the solar controller)
- Victon VE.Bus to USB adapter – $70.00
Although the headline here might be the $35 computer, let’s look at the real cost for the build. My build is monitoring a Multiplus inverter (connects via VE.Bus), a SmartShunt battery monitor (also VE.Direct), and a SmartSolar MPPT solar controller (VE.Direct). The computer, its parts, two of the VE.Direct USB adapters, and VE.Bus to USB adapter the total comes to about $188. Let’s compare that to the cost of using a Cerbo GX and the required cables:
- Vicron Cerbo GX – $295
- Victron VE.Direct cable – $15 (again two would be required for battery monitor and solar charge controller)
The all Victron configuration costs about $325. A $135+ difference is nothing to sneeze at but it’s also not quite as dramatic as $35 versus $300. The biggest equalizer is the $70 VE.Bus to USB adapter required for the MultiPlus. The cost difference could vary some if you have fewer (or more) VE.Direct devices.
Cerbos have three VE.Direct, two VE.Bus, two VE.Can, and two BMS-Can ports. Plus, there are four resistive tank inputs, four temperature inputs, four digital inputs, and two relays. If you plan to use more than a small handful of the IOs on the Cerbo, it’s likely to be a better value. On the other hand, if you have a simple system with just one or two Victron devices the Raspberry Pi option can save you quite a bit. For example, a system to allow you to remotely monitor a Victron SmartShunt via VRM would cost $310 for a Cerbo ($295 for the Cerbo plus $15 for a single VE.Direct cable). The same system built around a Pi would cost $88 ($58 for the Pi and basic accessories and $30 for a single VE.Direct to USB adapter).
Most of the work turning a Raspberry Pi into a Venus device is in installing the software. But, before software installation begins you will need to get the hardware ready. Fortunately, this isn’t tough work. The main step is assembling the case for the computer. The case I chose this time around is just two sheets of plastic, some screw stand-offs, and a small cooling fan. The fan is probably not really necessary, The rest of the “assembly” involves plugging in the power supply and connecting a keyboard and monitor. I had a small, Amazon special, 7-inch touchscreen monitor with a standard HDMI connector around that I used for this build. But, any monitor or TV with an HDMI port will do the job.
Now that the hardware is ready for installation it’s time to move onto the software. Victron maintains the Venus Raspbery Pi project on GitHub and with it a very useful set of instructions.
Step one of the getting started section contains a download link. Unfortunately, that link is to a directory of many versions of Venus dating back over four years. Towards the bottom, there’s one called “venus-image-raspberrypi2.wic.gz”
I follow most of the instructions but instead of win32diskimager I used the official Raspberry Pi Imaging tool. With the image file downloaded I opened the Pi Imager, selected the file I’d just downloaded and the MicroSD card I’d just inserted. Writing the image only takes a minute or two. Now it’s time to move the MicroSD card to the Pi and boot it up!
The Pi boots right up displays the Victron logo and logs you into a Unix shell. The system is now ready to connect to Victron devices — using the USB adapters detailed earlier — but, unless you’ve used an Ethernet connection, it’s not yet connected to your network. If you’re going to connect via WiFi you will need to configure your WiFi connection.
Here’s where things can take on a little more of a D.I.Y. flavor. You can avoid getting your hands dirty with the command line by making an Ethernet connection, even temporarily, and the configuring WiFi via the remote console in a web browser.
Without ethernet, you have two choices to configure the WiFi settings for your new Venus installation. You can use a command-line utility called connmanctl. With connmanctl, you will enable your WiFi adapter, scan for WiFi networks, select your target network and then provide the password for it. Or, you can configure the Venus to operate with an HDMI monitor connected. With a monitor connected, you can use a keyboard and navigate through the standard Venus menus as seen on the right above.
By default the Pi will boot up and display a unix shell prompt. But, you can configure it to display a graphical interface just like a Color Control GX or Cerbo GX. Configuring for the Victron GUI requires turning off what Victron calls headless operation. By renaming a file in te /etc/venus directory from headless to headless.off, we can tell the operating system display the GUI.
Once Venus is operating in headed (is that a word?) mode you can now navigate through the interface with a keyboard, mouse, or touchscreen. At this point, the system operates just like the other Victron Venus products. You can let your inner geek off the clock and enjoy the fruits of your labor.
Now that you’ve got Venus running on our Raspberry Pi you’re ready to explore everything it can do. And, that’s a lot. I haven’t found a single guide to everything Venus can do, but the Cerbo GX manual and VRM getting started guide are both helpful.
Collecting all this data enables some really powerful things. I’ve previously covered SignalK server and the amazing power it gives users to collect data, display it, and take action on it using Node-Red. Well, the Victron Venus Plugin for Signal K server adds all the data Venus collects to a SignalK instance. Now, you can graph all that data right alongside everything collected from NMEA 2000.
Victron has created a Venus OS image with SignalK sever and Node Red built-in. This image comes preconfigured with the Venus plugin for SignalK. So, out of the box it’s sharing data between Venus and SignalK. The image is available for Cerbo GX, Venus GX, Octo GX, Multiplus-II GX, EasySolar-II GX, and Raspberry Pi.
Venus and VRM’s data collection, display, and storage capabilities are already an advantage to Victron’s equipment. No other power equipment manufacturer I’ve worked with gives this level of insight into the operation of their products. But, Victron doesn’t stop at just making this all availble. Instead, they also allow you a myriad of choices about how to collect the data and what you do with it once its collected. I hope this guide is helpful in getting started with your own Venus and VRM instance. I’d love to see what others have been able to create leveraging all these capabilities.