mopk47 avatar image
mopk47 asked

Raspberry Pi Connect to MPPT VE-Direct Over Serial

G'day! I was able to connect RPi to MPPT 75-15 via VE.Direct to USB successfully, but following the Q&A on below page, I could not get RPi to recognise MPPT on pin 6, 8, 10. I have used a simple BSS138 based bi-directional level-shifted 5V from MPPT end to 3.3V RPi GPIO. Are there any other settings that have to be done on the RPi side? Any light from someone resolved similar issue is much appreciated!

Components: Raspberry Pi 3 B+ with Venus OS v2.62, MPPT 75/15 v1.54

MPPT SmartSolarVenus OSRaspberry PiVE.Direct
1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Mike Dorsett avatar image Mike Dorsett commented ·
I got this to work by using /dev/ttyS0 for the serial interface.
0 Likes 0 ·
3 Answers
mtnscott avatar image
mtnscott answered ·

Hi @mopk47,

The Venus Raspberry PI Image uses GPIO pins 6,8 & 10 for the console and you can not change that. I have dug pretty deep trying to change the console and never been successful. UBOOT also uses these pins so it's just not possible with the pre-built venus releases available.

If you want to use the internal serial UARTs on the Raspberry PI's you will need to get a Raspberry PI 4 and use the additional UARTS. I have a version that uses the additional UARTS to connect with devices.



2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

mopk47 avatar image mopk47 commented ·

Thanks for the quick response, Scott. I was trying to use pin 6, 8, and 10 on RPi 2 without any changes. Do I have to use an RPi 4 for it to connect to MPPT? or a special version of Venus is required? Cheers.

0 Likes 0 ·
mtnscott avatar image mtnscott mopk47 commented ·

You have a few options.

For the raspberry pi 4 :

You can use the internal uarts as that chip has 5 total. However you may want to electrically isolate the connection with the VE.Direct device so you will have to add something like the SI8622 to each channel to provide the electrical isolation. Here is a link to that chip - Since the VE.Direct devices can be 5 or 3.3v it's best that you connect the V+ from the device to the Vdd side the Rx and Tx are connected to. That way it will work on any of the VE.Direct devices.

Also there are a few other changes to the OS that need to be made to get the Venus SW to look for an attached VE.Direct device. If you want to go that path I can write up the instructions and publish it on this forum.

For the raspberry 2, 3, 3b, 3b+

You can either use the Victron VE.Direct -> USB cable or you can use a 3rd party USB to Serial cable. If you chose to use a 3rd party cable you should check to see if it is electrically isolated. Here is a link to how to make the cable.

The VE.Direct connectors are JST-PH 2.00mm pitch 4-pin and are not too difficult to connect. Here is a kit I picked up on Amazon that has the parts -

You will also need a crimping tool and I like this one -

If you don't want to crimp them yourself then these could be another option -

If you use the USB option then there is nothing needed for the OS. All of the Raspberry PI versions should work. If you want to enable the onboard uart with the Raspberry PI 4 then you need to make some OS changes. Let me know if you are interested in going that path. There is also a 3rd option and that would be purchasing a pi-hat that uses the SC16IS740 chip to gain two additional UARTS for use with the other raspberry pi's (not the 4) but that also involves a bit more wiring and the OS driver for that chip. I built an updated driver that fixes the issue with connecting two VE.Direct devices for the 2.62 version of Venus.


0 Likes 0 ·
mopk47 avatar image mopk47 mtnscott commented ·

Great! Thank you Scott for the detailed guide.

0 Likes 0 ·
helios-harvester avatar image helios-harvester mtnscott commented ·

Dear mr.Scott ,

Yes I would be interested to use the onboard UARTs for my direct attach Victron products because i just happen to run out of USB to serial ports.

if you could detail the procedure I would be most grateful.

Thank you in advance


0 Likes 0 ·
helios-harvester avatar image helios-harvester commented ·

Dear Mr.Scott ,

yes my Rpi is RPi ver 4

is there any advanced configuration to be done ? or simply plug and play ?

also what pins did you use ?


0 Likes 0 ·
Kevin Windrem avatar image Kevin Windrem helios-harvester commented ·

You should set up cmdline.txt and config.txt by placing the SD card in any computer.

What is needed in config.txt will depend on you display, any overlays for hats, etc.

Make sure cmdline.txt includes:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty0 logo.nologo

The console=serial... connects the serial port to the console

console=tty0 connects the console to the main screeen

logo.nologo disables the Victron logo on the console so you can see more lines of text.

0 Likes 0 ·
outsourcedguru avatar image outsourcedguru commented ·
You might try reading this entire section on the Raspberry Pi's documentation for the UARTs. It describes the configuration options available. (I used to support 3D printers with Raspberry Pi computers inside and it was sometimes necessary to switch the good/cheap UARTs in the configuration, depending upon what was connected.)
0 Likes 0 ·
Kevin Windrem avatar image
Kevin Windrem answered ·

CAUTION: Not all Raspberry PI 4s will run Venus OS. At this time, RPI4 for Venus OS is not recommended. Use an RPI3B+ for the best performance, but in the context of this thread, you won't be able to make use of the RPI4's additional serial ports.

A board version change to v1.4 was made a while back to support 8GB of RAM.

The v1.1 and v1.2 boards run Venus but the v1.4 boards do not.

It is likely that all currently shipping RPI 4s are the v1.4 board regardless of the amount of RAM.

A new kernel is needed to accommodate the v1.4 module. Victron is working on that but has nothing functional yet they can offer.

You may be able to find 2GB and 4GB RAM versions using the older boards on the used market but it would be hit and miss.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

outsourcedguru avatar image
outsourcedguru answered ·

For what it's worth, you can mod the Pi's kernel to move the "good" UART over to wherever you need it. Raspberry Pi Documentation - Configuring the UARTs

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.