Here is a post that I made in April 13th, 2011 in the "Beneteau 40 & 43" group in the Seaknots forum (


In my Oceanis 40 I have problems in both the fuel tank and in the water tanks indicators. I am in the process of finding what is causing this. I am sending this message to the dealer as my boat is from 2010. The situation is as follows:

1 – Fuel tank – the tank is full and the panel indicates ¾ .When the first gallons are consumed the indicator goes high. Then goes low again.

2 – Water tanks – not reliable at all. Sometimes the indicator shows 1/4 , sometimes full and sometimes empty.

At first I thought that the problem was the VDO LCD panel because all the readings had problems (except the battery voltages). After some tests with a 1 kohm potentiometer I think that the panel is OK. Here the tests that I have done.

Fuel tank – the sender has the part number 226 -801-015-001C. As far as I know it behaves like a resistor (10 ohm when empty and 180 ohm when full, here in Europe). When I disconnect the 2 wires on the sender I can not get any information on the VDO. When I connect the potentiometer to the 2 wires that go to the VDO, the reading are fine as I change the value of the potentiometer. So I conclude that the VDO panel is OK. As someone stated in this forum the problem is most probable due the buoy arm of the sender that gets blocked inside the tank. I can not explore this further at this moment as the tank is full. Even if the tank was not full I was afraid to unscrew the 5 screws that hold the sender for inspection – do the nuts (or a round flange) fall inside the tank?

Water tanks – In this case I see 3 wires coming from the VDO and they connect to a box. From this box there are another 5 wires. The tank is perforated at 5 heights and the screws connect to those 5 wires. In the VDO LCD panel manual it says that this box “sends a 0V-6V to the gauge”. The 3 wires have the colour red, brown and black. I assume that the signal to the VDO (LCD panel) is transmitted on the brown wire. The black is ground and in the red I was able to measure 12V (the battery voltage) for short periods. It seems that the VDO places 12V on this wire for 1 or 2 seconds and then it switches off this voltage for 10 seconds or so. It looks like it wants to save power. So I connect the 2 extreme terminals of a potentiometer to the red and black wires and the mid terminal of the potentiometer to the brown wire. I connected a voltmeter from the brown to the black wires and tried to read that voltage for several positions of the potentiometer. Note that it is not easy to read this voltage (no scope at the boat) as the voltage only appears for a short wile as explained before. In both tanks I got the following readings:

0 Volts – no reading (the display does not show the presence of the tank)
0,12V – no reading (the display does not show the presence of the tank)
0,82V – 0 / 4 (empty)
0,90V – 1 / 4
1,60V – 1 / 4
1,65V – 2 / 4
2,10V – 2 / 4
2,14V – 3 / 4
2,65V – 3 / 4
2,80V – 3 / 4
2,90V – 4 / 4
3,30V – 4 / 4
more than X Volts – no reading (the display does not show the presence of the tank). I could not get the value X (I assume about 5V)

Water tanks conclusion – to get new “3+5 wire boxes” as from the factory or to install a 10/180 ohm sender? The LCD panel seems OK. Hope this is useful and appreciate any feedback.

Regards, Luis

Later on May, 16th 2017 I add this in the referred to forum:


It was almost 6 years that I participated in the discussions about water and fuel level indicators in this forum. Only this winter I had a go on it. In particular I made the following:

a) installed 10-180 ohms sensors in the 2 water tanks

b) replaced the 2 senders (those which connect by 3 wires to the VDO panel) with my own designed sender.

c) on the back of the VDO I activated one extra water level indicator (2 were in use but 4 are available)

d) run a 3 wire cable from the back of the VDO panel (port side) to the waste tank (startside)

e) add 4 non-contact water level sensors on the external surface of the waste tank and connect them to my sender (it works with different type of inputs)

f) and I get the level of the waste tank on the VDO display as "fresh water tank number 4" (I could not change these words)

I have some PCBs available for the senders (arduino based) and I plan to make the software freely available. I start my sailing season next week (Italy and Greece) and may be only in September I will describe in full detail what I have done. At this moment I only have some photos in my website:

I will be happy to discuss this with interested people. Just send me a PM or use this forum (or my forum).

Best Regards, Luis

How the VDO works

The manual for VDO panel display that is found in many Beneteau and Jeanneau boats can be downloaded from here. The 12-pin connector that brings information from the battery banks and water and fuel tanks is shown in the following picture: 
Pins 5 9 and 12 were connected to ground (black) which means that the VDO display "does not see" these tanks. I used pin 12 to show the level of the black water tank as well as pin 8 to supply 12V to the sender. The 3 wire cable that starts from the back of the VDO panel terminates near the black water tank. The "Non-contact Tank Liquid Water Level Sensor Switch" came from AliExpress and were glued to the black water tank.

For the water tanks I had to make holes for the resistance 10-180 ohms sensors. The sensors are from Osculati. For the front cabin the sensor has a length of 20 cm (Stainless Steel 316 vertical level sensor 10/180 Ohm 20 cm [27.161.20]). For the tank on the aft cabin the sensor has a length of 30 cm (Stainless Steel 316 vertical level sensor 10/180 Ohm 30 cm [27.161.30]). Pictures of the work done are shown here:

Limitation of the Arduino Sender

You can download the circuit diagram and the programme of the Arduino Sender using these links. Unfortunately there were problems with the Arduino module. One problem were the non-contact sensors for the black water tank. I glued them with double site tape but after one month when I was inspecting them some had fall. Also I was not sure if they were detecting the level correctly. As it was almost impraticable to fill/drain the tank for testing purposes, I disconnected the cable from the the VDO and removed the sender. I have it back in my lab, to test when I have time. The Arduino sender could take as input resistive sensors (10-180 or 240-33) or 4 non-contact sensor as the ones displayed in the picture. They would produce an output voltage for the VDO and also they could drive a "bar" of 5 leds that indicate the state of the tank (all off - tank empty; all on - tank full).

But the problem is that for the Arduino to start when the VDO sends the +12V voltage it takes time. The Arduino has to run the code, read the state of the sensors, make calculations and then output a voltage for the VDO. But the VDO does not wait much. It sees zero voltage and assumes that the tank is not present. What I have done during last summer was to place a voltage divider made by 2 resistors (with a ratio of 1/6) at the output of the arduino sender (the output of an OpAmp). As soon as the VDO sends the +12V an almost instantaneous voltage of 2V (about 1/6 of the +12V) appears at the output of the module. The display shows 2/4 for about one second or two. Then the correct voltage set by the Arduino on the output of the OpAmp will change that 2V to whatever is needed and the corrected display appears. I did not like that. I had to press the button for the water tank and wait about 2 seconds before getting the right display. That was the reason why I designed the module described next.

Analogue Sender 

In order to get sender with a fast response, I designed an analogue circuit using three 8-pin DIL OpAmps. I chose the LM358 as it can work with a single power supply (0V and 5V) and the inputs can be as low as 0V (or even some mili-volts lower than the bottom rail). The circuit diagram is available here.

When the tank is empty the resistance sensor will have an ohmic value of 10 ohms. The voltage divider formed by R1 and the sensor will present a voltage of VS = 41.6 mV to the non-inverting input of U1B and this voltage will be amplified by U1B (gain of 4.73) resulting in a voltage of 197 mV at the U1B output. When the tank is full the resistance of the sensor is 180 ohms and VS voltage will be equal to 652 mV. At the output of U1B this voltage is multiplied by 4.73 resulting in a voltage of 3.083 V. For the European sensor J1 and J2 will be in position 1, so that the output of U1B is connected to resistor R6.

Also for the European sensor, R2=39K and R3=1K6 so that the voltage at the non-inverting input of U1A is 197 mV which is also the value of the voltage at U1A output. Giving the position of switches J1 and J2, this voltage is presented to resistor R8.

U2B is a difference amplifier with a gain of 1.191 (5K6/4K7). Its output voltage V3 is equal to 1.191 x (V1 - V2). So, for the European type of sensor, V2 = 197 mV and V2 varies from 197 mV (empty tank) to 3.083 V (full tank). At the output of U2B the voltage V3 varies between 0 (tank empty) and 3.437 V (tank full). The voltage divider formed by PT1 and R10 is such that the voltage at the output of U2B (buffer) is 0 V when the tank is empty empty and, when the tank is full, can be adjusted by PT1 between 1.875 V and 3.437 V.

Potentiometer PT2, resistor R11 and buffer U3B produce a voltage V5 which is adjustable between 1,6 V and 5 V.

U3A is a "summing" amplifier. Since the resistor R12 and R13 are not equal the voltages V4 and V5 are weighted differently to produce the output voltage VDO. Precisely VDO is the sum of 2 parts. One part is equal to (R12/(R12 + R13)) X V4 originating 0 V when the tank is empty and a voltage adjustable by PT1 varying from 1.275 V up to 2.338 V when the tank is full. The second part of VDO is given by (R13/(R12 + R13)) x V5 which does not depend on the level of the tank and can be adjusted by PT2. This part varies between 0.51 V and 1.6 V.


1) We start with the tank empty (or we connect a 10 ohm resistor across P2) and we adjust PT2 until the VDO display shows 0/4. This can be done by placing If the VDO voltage is low the tank is ignored. If we approach the higher value of 1.6 the display can show 1/4 or even 2/4.

2) Once the empty tank adjustment is done, we adjust PT1 with the tank full (or we connect a 180 ohms resistor across P2) until the display shows 4/4. If the VDO voltage is low the display may show 3/4 or even 2/4. If the voltage is very higher the display can show 4/4 when the tank is not completely full. A compromise is required.

3) I will test this next May when I start the 2018 season!


In this case when the tank is empty the voltage VS will be 833 mV. Because J1=J2=2 this voltage will be amplified and presented to R8 as V2=3.942 V. V1 should be made equal to this and R2=8K2 and R3=22K are good values. Now the fixed voltage V1 is subtracted by the voltage coming from the sensor resulting in V3 varying from between 0 (tank empty) and 3.941 V (tank full or VS=139 mV)... 



1) The LM358 OpAmp has a limited capability of sinking current. For example U1A is not capable of sinking enough current through R8 when V1 increases!

2) The maximum output voltage of the OpAmps is about 3,6V when the power supply is +5!

I have corrected and simplified the circuit and I am taking 2 units to mount on the boat next May. I will publish here the final conclusion!



1) The OpAmps needed to have a dual rail power supply to work properly. I created a -5V voltage from the +5V voltage using a LM2662 Positive Voltage to Negative Voltage Voltage Reverse Regulator. They work great and I have 8 PCBs that I can send to anyone interested. The final circuit diagram is available here!