LCDscreen failing sometimes?

I've had a project running to control some air pumps for my garden pond.

I can manage the system parameters via a LCD-screen and a rotary encoder, BUT ...

Now and then - when the wind is blowing from west and the sun is 22° over the horison = totally random - one or two times a week the LCD-screen is showing garbage characters !

The LCD is connected to an Arduino clone by by I2C module.

I just have to reset the system and it works again - but why this garbage screen sometimes ?

What is the display?
How long is the I2C link between controller and display?

Can you please post your code?
Can you please post a circuit diagram?
What voltage are the pumps and how are you controlling them?

Thanks.. Tom... :grinning: :+1: :coffee: :australia:

LCD is a 2X15 charactor and is bought with the I2C-module soldered on to the back.
The LCD+I2C-mocule is mounted in the same box as the arduino.
The code is working so nothing to find there.
A diagram

The pumps run at 240V and are controlled by a relay-module between the arduino and the pumps.

Oh, I see now the diagram misses a wire in the BUS for the temp.sensor - but it's ONLY the diagram - the wire is there IRL !

Can you now draw a schematic, rather than a Fritzy image

Label all components and pin names.
What are the two components that have the TO-92 case?
Please include the 240Vac wiring and the pumps?
A hand drawn schematic would be adequate.
How are you powering your project?
I think you mean a 16x2 LCD module.

Can you also please post a picture(s) of your project?
So we can see your component layout.

If you are switching 240Vac, have you kept the mains wiring away from the controller and display.
Do you think the LCD problem could be associated with the switching of the 240Vac pumps?
What are the specifications of the pumps?

Thanks.. Tom.... :grinning: :+1: :coffee: :australia:

What is wrong with a Fritzing image?

Yes, you need to quote part names and component values.
Yes, you want to include the misses a wire in the BUS for the temp.sensor

A diagram (or schematic) is not much good if it is not accurate. That includes wire colours.

Yes, you want to include a photo of the "Real Life Wiring" too.

In my opinion a Fritzing not only shows the wire connections clearly to the reader but it also means that the OP can check each wire herself. The OP does not require any technical knowledge. Just be able to identify each wire colour and connections.

Oh, individual modules have probably got sufficient reservoir and bypass capacitors. However the photo would show if signal wires are routed "too close to each other".


You don't show a 5 V power supply for the relays - or indeed the circuit in general. :roll_eyes:

The relay module needs the jumper to be removed, "JD-VCC" and "Gnd" run as a pair directly to the power supply output terminals while the two "IN" and "VCC"run again, as a bundle to the Arduino but "GND" does not connect to the Arduino as such.

You may also try a 100 or 220 µF capacitor directly across pins 1 and 2 of the LCD. :+1:

I'll admit my wiring in the Arduino/relay/LCD-box maybe is a little 'unsafe' - it's just connecting wires plugged into the on-board connectors of the Arduino-clone = no solder done !

Maybe Paul_B has a point there - relays is NOT connected directly to PS - I'll do that and TOO a capacitor on the LCD pin 1-2 !

Here is the overall mounting box:

The blue electronic box is truely a mess of wires inside !

The 'problem' with the garbage on the LCD-display is not enough to take it all apart and solder and make separat PS for the relays.

Thanks for the image.
The cable that curls around out of the blue box and out of the enclosure, I assume is the temperature sensors.
I assume that the TO-92 cased devices are DS18B20 temperature sensors.

They exit close to the two power outlets for the pumps.
I would suggest the sensor cable exits the enclosure through one of the holes on the left side away from the switched mains power.
How long are the sensor leads?

Tom... :grinning: :+1: :coffee: :australia:

There is a whole thread answering that question.

I think you are pretty alone with that opinion.

Be aware that there is nothing wrong with the temp. sensors - they are placed as there are because it's nice to find out witch sensor for witch pump - the leads are around 70CM - they came with the leads from the dealer - I just BUSsed them together ringht inside of the enclosure under the black shrinkwrap.

The system WORKS NICELY eventhough the LCD-screen is showing garbage !

So the I2C+LCD-screen is the problem most likely, I think.

The first thing I will try is the capacitor on the LCD pin 1 + 2

I think 'witch' should be 'which' - my wife is all over me this morning :crazy_face:

The "Wall of Shame" link shows message #354 with a large Fritzing and an ugly dog.

If you have a valid opinion, please express it clearly.
e.g. with links or message numbers that describe your argument.

Personally I don't participate in Forums like "Bar Sport"
But this Displays Forum has a very good reputation for both politeness and solving Display problems.

I would not expect Arduino members to have an extensive technical knowledge. But a good strategy for "wiring up" a project is to follow the wire colour scheme and breadboard x,y locations.
Or as in this thread, follow the wire colour scheme and module pinout. Yes, I would prefer no 3-way "joints". However I can understand them. And I bet that any 12-year old can too.


p.s. since you have linked to one particular Fritzing, please can you list your criticisms.

Please take your 'Fritzing'-postings to the right place - it has nothing to do with my problem here - right !

Hi @ksor,

the relays trigger the pumps, Correct.

Pumps are driven by motors,, and motors are load-inductive.

When switching inductive loads on or off, whether by relays or SSR, or other means, they generate voltage spikes known as "spikes".

These spikes are particularly annoying when using LCD displays.
The recommended solution to reduce these spikes is to snubber each relay.

ref: Snubber - Wikipedia

RV mineirin


There may be nothing wrong with the sensors, but you need to realise that your problem is possibly from switching noise of your relays.
The noise may be getting into the controller and display via the sensor wiring.

Tom... :grinning: :+1: :coffee: :australia:
What is the current rating of your pumps?

Pumps are 28W each and only one running at a time.

No my pumps are 'driving' at the 50Hz frequence and only 28W

Hi @ksor
It does not matter the frequency, (50Hz , 60Hz), or the power, it does matter if they are inductive loads or not.
I made a suggestion, but the decision to use snubber or not use is yours.
RV mineirin

Now that you know of my pumps ... what are they then ?

... and what is a 'snupper' on a relay ?

  • tell me !