G120 ADC... It's a noisy little s*d

I have built a custom board for a project in the past and I am going to use it for a quick home project but it doesn’t have any ADC devices on it so I decided to use the built in G120 ADC to read a sensor. The system will use the 5" CAP TOUCH LCD to allow the operator to control an oven. I have an electric oven I got in the local market but the temp control is inadequate and doesn’t even reach the temperature it has on the dial so I am ripping that out and using a solid state relay to control the heaters and a thermocouple in the bottom of the oven to measure the temperature. I may fit a second one in the top later but reading close to the first rack seems to work fine for now.

For the sensor, one channel is the reference and the other is the thermocouple itself.

It works but the ADC is really bad and unstable, as someone else has recently stated. Short of designing a new board to handle this, I have implemented a software filter, a moving average type that seems to give better stability but does need a few seconds to fill up on power being applied. I inhibit the control until it is filled.

Has anyone else used another software filter that gives good results?

PS… The design is still on the test bench and will move to being installed permanently on the oven this weekend after I complete the final parts of the software.

1 Like

@ Dave McLaughlin - The display looks uber cool. What is it and where can I get one?

Hi Jason,

It’s the 5" capacitive touch from Newhaven. It’s awesome and way more usable touch wise than the 4.3" resistive types.

This is running a custom board on the back with a G120 and WiFi module that I made for a client project that was cancelled.

It fits into a panel that I got Front Panel Express (Schaeffer AG in Europe) to make for me. There is a 1mm cutout in the rear that the LCD slots into and keeps it from moving around.

I did a Gadgeteer version to drive this display that is on the GHI turnkey website.

1 Like

@ Dave McLaughlin - hmmm. What could I do with one of those I wonder?

On EMX I used to average on 64 samples on ADC1 while other inputs seems to be better only 10 samples to achieve about the same “accuracy”.

An other tip: check that ADC inputs are grounded even if you don’t use them but are instantiated in your code, this results in less noise due to mux switching.

I read my ADC using RLP so I can do really fast averaging.