SOLVED: Noise sensitive LCD 1602 display?

Hello Everyone,

I dusted off my Arduino set up I got a couple of years ago as I obtained a new module, a clone of the AdaFruit Si5351 clock module, that I wanted to test.

This posting concerns the LCD display, and it is a bit long winded, so my apologies, but please bear with me.

The Arduino system I have is an UNO_R3(CH340G) clone board, a mechanical encoder, a blue-backlight 1602 LCD module, and now that clock module.

For testing the Si5351 I used the "MultiFeaturedVFO_4_24_17.ino" sketch.
When running the VFO sketch on the LCD display there were some garbage characters.
When testing the display with the "Hello World" sketch, it worked perfectly, without any change in the wiring.
Both the VFO and the Hello World sketch uses the same "LiquidCrystal" LCD library.
The RS pin of the LCD was controlled by the TX pin of the UNO clone board with also has the TX LED attached to that pin.
When I reassigned the LCD RS pin handling from Pin 1, or Pin TX, to Pin 4, the display worked perfectly.

One of the differences between the genuine and clone UNO boards is the chip handling the USB interface. A consequence of this is that on the clone UNO board the RX and TX LEDs are wired to Pin 1 and Pin 2 of the board, or the RX and TX pins. On the genuine UNO board those LEDs are driven by separate pins from the USB ATmega chip.
The LEDs represent about 2mA to 3mA additional load to the pins which could source or sink 40mA.

When writing a short test program, just turning on and off the RX, TX and Pin 4 with the RS line, looking at it with a scope there was not much difference, certainly nothing that would upset a digital logic.
All signals went from 0V to +5V with fast rise and fall times (I had a 20MHz scope).
When the RS line was attached to a pin with the LED there was a 0.5V overshoot at the top with a 1usec ringing.
That certainly should not have made any difference!

There is an interesting tidbit in one of the example sketches, the "Basic_encoder" sketch, it has a comment line suggesting to "avoid using pins with LEDs attached".
That was when I reassigned the RS line to a pin without a LED.

Just one more comment on the physical set up, I have the modules wired together with "short" (~4") jumper cables, no extra power supply voltage bypassing.
May be I will try that.

Any comment on the above?

Thanks for listening, Peter

When I reassigned the LCD RS pin handling from Pin 1, or Pin TX, to Pin 4, the display worked perfectly.

I have never seen an LCD (that worked) with the RS pin to TX. Pin 4 for RS makes sense, TX does not.

I am not sure what the question was.

Of course describing a board with a CH340 as a "UNO R3" is a clear (but common) fraud. Without a 16U2, it cannot be a UNO, it is in fact, a Duemilanove and nothing more. :roll_eyes:

Hello Everyone,

I found the reason for the garbled characters. The sketch where I wanted to use the TX pin (Pin 1) for controlling the LCD display also had serial communication in it. The serial communication intervened with the LCD. Commenting out the serial communication, it was used for debug purposes, the display works fine.
So the statement that the TX pin can not control the RS line of an LCD display is only true if serial communication is also used in the sketch.

Paul__B:
Of course describing a board with a CH340 as a "UNO R3" is a clear (but common) fraud. Without a 16U2, it cannot be a UNO, it is in fact, a Duemilanove and nothing more. :roll_eyes:

Paul,

Describing that board as UNO R3 is not a fraud!
The Arduino platform is an open source effort, and only the Arduino name and logo is trademarked.
For your enlightenment read the blog here: Send in the clones | Arduino Blog
That blog calls such boards "Derivatives" and they believe that it "also helped Arduino become so ubiquitous".

Peter

orbanp:
Describing that board as UNO R3 is not a fraud!
The Arduino platform is an open source effort, and only the Arduino name and logo is trademarked.
For your enlightenment read the blog here: Send in the clones | Arduino Blog
That blog calls such boards "Derivatives" and they believe that it "also helped Arduino become so ubiquitous".

If you follow that logic, it would be equally appropriate to call the board a "UNO" if it used a PIC processor instead of an ATmega. :astonished:

Whatever suits you, I suppose. :roll_eyes: