An external display interfering with analog circuitry

Please note: this is NOT a problem with code or project.

Connecting up a display to Arduino (5V,GND,TX,RX) messes up analog readings. Video demonstration: - YouTube

In the video, I am repeating analogRead(0) over each few seconds and printing results over to Serial. As soon as the display is disconnected from Arduino, the reading stabilizes and becomes correct. When display is reconnected, the reading of a temperature sensor fails again and is fluctuating within an error that translates to +-5 celcius.

Any suggestions how to fix this are welcome. This may be difficult to solve.

Also, external 5V was supplied rather than USB power which didn’t change the behavior.

Moved your topic to it's current location as it is more suitable.

Could you take a few moments to Learn How To Use The Forum.
Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.

freezE-ware:
Please note: this is NOT a problem with code or project.

Without seeing your project's code, your project's complete schematic, your project's physical layout, or any information on this rather unusual display (I don't think I've ever encountered one that connects over a Serial interface),

Any suggestions how to fix this are welcome. This may be difficult to solve.

it is not merely difficult, but completely IMPOSSIBLE to come with even suggestions that may lead to a solution.

This is one of those typical cases of "the problem is in the part you didn't show"!

The change in analog readings could be because of a change in supply voltage when the LCD is plugged in. The default analog reference is the supply voltage. Have you monitored, with a DMM, the supply voltage as the LCD is plugged and unplugged?

wvmarle:
Without seeing your project's code ... it is not merely difficult, but completely IMPOSSIBLE to come with even suggestions that may lead to a solution.

This is one of those typical cases of "the problem is in the part you didn't show"!

Actually, no. The problem is interference. The TFT Display disturbs Arduino's voltage rail so much that it causes analog reference voltage to be incorrect at the moment of calculation. This is what I was thinking after submitting this thread, and that was correct - wiring out TFT's positive lead to separate power supply completely fixed the interference problem. That also verifies the problem source to lie in displays circuitry.

I wonder, if there are anything i could try to filter out some of that interference, even if using shared voltage source?

groundFungus:
The change in analog readings could be because of a change in supply voltage when the LCD is plugged in. The default analog reference is the supply voltage. Have you monitored, with a DMM, the supply voltage as the LCD is plugged and unplugged?

yes, this is sort of what I thought as well.

Which exact sensor are you using?

freezE-ware:
Actually, no. The problem is interference. The TFT Display disturbs Arduino's voltage rail so much

That's actually a sign of insufficient power supply. That's an issue with the project itself.

freezE-ware:
analog reference voltage to be incorrect at the moment of calculation.

That's actually a sign of you using the wrong reference. That's a code issue.

wvmarle:
Which exact sensor are you using?

100k NTC 3950 1%, guess you are curious rather than attempting to blame the sensor, lol.

edit: and for the rest of what you replied, that's just you attempting to be right. But as i said in my first post that you probably didn't read completely...

freezE-ware:
Also, external 5V was supplied rather than USB power which didn’t change the behavior.

and that psu is bad ass.

@freezE-ware

Please supply your CODE using code tags ( </> )
A SCHEMATIC too if you dont mind.

Then people do not have to guess !
Also please READ the links I gave you !

Bob.

freezE-ware:
100k NTC 3950 1%, guess you are curious rather than attempting to blame the sensor, lol.

As long as that's wired correctly (no schematic) it's ratiometric so a change in Vcc (the default analog reference) does not affect the analog readings of such a sensor. So there's obviously something else wrong in your project.

Other temperature sensors such as the LM35 require a different approach, and your symptoms actually pointed to one of those.

Your attitude is "I know everything and I know I'm right so I don't have to give all that info!" but at the same time you have this problem that you can't seem to solve yourself, and without offering all the details about your project there's no chance we can come up with suggestions on how to solve it. Having to pull out details one by one gets old quickly.

So you can stop wasting our time (and your own, but that's not what I care about much) and provide all details of your project. Sensor, schematics, power supply, display, code, images. Then we may finally come to real problem solving instead of just guessing.

wvmarle:
Your attitude is "I know everything and I know I'm right so I don't have to give all that info!" but at the same time you have this problem that you can't seem to solve yourself, and without offering all the details about your project there's no chance we can come up with suggestions on how to solve it. Having to pull out details one by one gets old quickly.

So you can stop wasting our time (and your own, but that's not what I care about much) and provide all details of your project. Sensor, schematics, power supply, display, code, images. Then we may finally come to real problem solving instead of just guessing.

No, i just literally told you the problem is not with anything you have listed there. And now you need to accept it to be able to stop wasting your time. Come to terms with the fact, that you will never be supplied with that excess information. I was literally saving everyones time here by not making you go through wrong paths. At this point you need to realize, if going through code is all you are good for, try the next question. And, in the case if this were a coding problem, this thread wouldn't exist at all, because i don't need help with coding problems.

Ok since u must have to see the code to understand it's not the code, here is a minimal example code to reproduce the problem:

uint32_t val = analogRead(A0);
Serial.println(val);

I am considering this as TROLLING as the OP refuses to provide information that will help him.
Thread LOCKED.

OP BANNED for 7 days.

Bob.