I have implemented ADC for STM8S1003, but looking for a way to reduce the noise on he signal.

There's no offset but the ADC varies 50 digital levels for each analog voltage input.

I'm reading a DC voltage from a wearable biosensor, the input ranges from 0-5V with sampling frequency of 444 kHz. I'm mearing the digital output.

What are the most efficient ways to reduce such an error?

  • 1
    \$\begingroup\$ What is the impedance feeding the ADC inputs? What is the sampling time? \$\endgroup\$
    – Justme
    Nov 23, 2020 at 5:28
  • 1
    \$\begingroup\$ What are you trying to measure? AC/DC? Voltage Range? Maybe frequency? \$\endgroup\$ Nov 23, 2020 at 5:30
  • \$\begingroup\$ I have updated the questions. Please let me if you have any idea on what should I look into. \$\endgroup\$ Nov 23, 2020 at 5:52
  • 1
    \$\begingroup\$ Maybe the signal is actually varying and causing this? Have you tried looking with an oscilloscope? \$\endgroup\$
    – Andy aka
    Nov 23, 2020 at 9:27
  • 1
    \$\begingroup\$ You haven't told us the ADC resolution or what those 50 levels actually mean. If it's a 24-bit ADC that's about 17uV noise level and the question would be how you got it that good in the first place. But if it's an 8-bit ADC you have a problem. \$\endgroup\$ Nov 23, 2020 at 12:53

1 Answer 1


There are several possible causes for this CODE SPREAD.

  • deterministic noise entering along with the signal; try 1,000 ohms in series, and 0.1uF capacitor from the ADC Analog VIn pin, to Ground (analog Ground?) with very short leads on the capacitor.

  • is the MCU or ADC well bypassed, right at the AVDD pins?

  • is the ADC VREF pin well bypassed, with the capacitor going right to the AGROUND pin

and importantly

  • consider a GROUND PLANE, tho that will not fend off magnetic fields of SwitchReg or power transformers; standard copper foil is useless below 4 MHz edge rates;

I assist a musician in embedded_systems for signal processing of music instruments. He has used these methods, plus moderately shielded cables, PLUS NO BLACK BRICK POWER SUPPLIES anywhere nearby, to reduce Code Spread from 30 milliVolts down to < 1 millivolt.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.