The LCD displays a strange word when the motor is on

Hey there,

So, I've been diving into this project of mine, trying to set up an automatic plant monitoring system. Things were going smoothly until I hit a bit of a snag. You see, my LCD display was working perfectly fine all along. It was showing all the data I needed, from soil moisture levels to temperature readings.

But then, I decided to integrate a motor into the system so it will make it an automatic plant watering system. Specifically, a 9V DC motor, controlled by a relay. Now, I thought this would be a simple addition, but as soon as I hooked up the motor, something weird started happening to my LCD display.

Instead of showing the characters it used to, the display started showing strange, gibberish-like symbols. It was as if the LCD had suddenly forgotten how to communicate properly.

I double-checked all my connections, made sure everything was wired up correctly, but the problem persisted. No matter what I tried, I couldn't seem to get rid of those bizarre characters on the display.

I'm not sure what's causing this issue. Could it be some sort of interference from the motor? Or maybe there's an electrical problem that's affecting the LCD's performance? Or a lack of decoupling?

If anyone has any ideas or suggestions on how to troubleshoot and fix this problem, I'd greatly appreciate it. My plants are counting on me, and I really want to get this system up and running smoothly again. Thanks in advance for any help you can provide!

  • In the Arduino IDE, use Ctrl T or CMD T to format your code then copy the complete sketch.
    Use the < CODE / > icon from the ‘posting menu’ to attach the copied sketch.

  • Always show us a good schematic of your proposed circuit.
    Show us good images of your ‘actual’ wiring.
    Give links to components.

  • If you are doing lcd.println( . . . ) then don’t.

This problem is very well known here on the forum, and is caused by electrical "noises" caused when connecting or disconnecting inductive loads. Motors are inductive loads.

To solve this, you must install some type of snubber in the motors circuit.

How is your motors powered? Why relay?
What type of motors is it? AC or DC?

I would suggest you use a solid state relay. They are much cleaner on the noise side and they do not bounce.