Ever wanted to run the Color Control GX/Venus GX firmware on a Raspberry Pi? Now you can thanks to Izak Burger whose guest blog below describes how this came to pass.
For the geeks amongst you, please note that the port works on the Raspberry Pi revisions 2 and 3, but not on the original Pi 1, as it has a different CPU and floating point unit.
Porting the CCGX firmware to new hardware
This is the story of how I came to port the Color Control GX (CCGX) firmware — codenamed Venus — to the Raspberry Pi, but it is also part of a larger story that starts when I was but a young boy growing up on a Namibian farm.
My interest in all things technical was inspired by my father – a remarkable man, one who is not afraid to try his hand at new technology. In 1987 he bought the first solar modules I had ever seen, and a year later the first locally-manufactured inverter showed up.
Some years on, after I grew interested in hobby electronics in high school, a lightning-bolt destroyed most of the equipment and I got my first practical shot at creating something useful: A simple switching charge controller.
Though I subsequently became a computer programmer, that passion for solar power remained, so that when our local power generation company in South Africa had supply problems in 2013, I ended up purchasing a Victron Multiplus to power my home office instead of doing what everyone else was doing, namely to buy a cheap petrol generator.
The MultiPlus turned out to be a geek’s dream, with a well-documented communication protocol. It wasn’t long before I had my own python code for monitoring the inverter output. As always, one thing led to another and soon I was subscribed to the mailing list and involved in other activities.
So when Matthijs asked in July 2016 if there was anyone who could do a port of Venus to the Raspberry Pi, I thought that it couldn’t be that hard. I had some prior experience with the build system anyway, and despite being down with the flu at the time, the first proof of concept version was booting by the end of the week.
It took another year of working weekends and nights to get it in sufficient shape to include in the official code base. During this time I learned to appreciate the care with which the team works in order to ensure that things remain stable, to review each other’s code, and to find the best solution to a problem.
Some of the more interesting problems I faced were to make the bootloader work properly across the Pi 2 and the Pi 3, to pass options from the proprietary loader to the kernel, to fix screen blanking issues, and to make the mk3-usb work properly out of the box.
In conclusion please see the links below which I hope will serve to inspire – in order that you too can integrate Victron equipment into your own projects.
The ‘Raspberry Pi Logo’ headline image used in this blog is courtesy of: http://www.raspberrypi.org/
Raspberry Pi is a trademark of the Raspberry Pi Foundation.