This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-CC1310: ADC never reads zero even when grounded.

Part Number: LAUNCHXL-CC1310

I am using the ADC on my Launchpad and I am testing the voltage readings.  The readings are very accurate for my purposes of measurement up to 3.3 volts.  However it never returns zero when grounded.  Its always returns 2 or 3. 

I am using pin 28 and pulling it low internally I am also grounding adjacent pins.  The ADC is reading very accurate at higher voltages, I am using a high end multimeter reading 3.3189V on the 3.3v rail and the ADC is returning 3161 which is spot on.  The issue seems to only be related to the ground value.


  • Hi Alexander,

    Can you do a test with a jumper wire to connect directly to one of the ground pins, just to make sure it's the ADC causing the issue?

    Which SDK version are you using, and which example project? Are you using the sensor controller?


    Marie H

  • ADC is returning 3161

    Depends what 3161 is in this case but if it's mV it's is a bit off compared to 3319 mV?

  • The ADC reports back counts using a 4.3V reference.  The max number of counts is 4095.  Therefore, with this equation, we can take counts and get volts

    ADC Value / 4095 * 4.3 = voltage

    A count of 0 would equal 0V
    A count of 4095 would equal 4.3v
    A count of 3161 would equal 3.3192V 

    Of course there will be an ADC error and an error in my multimeter but when I am measuring the 3.3v rail with the ADC and multimeter they are 300 microvolts apart.

    When I take a jumper pin and connect it to ground it reports numbers between 2 and 5 counts.  which is 0.00525 V.  5.25mV seems very high

    The aux adc version is below

    * Filename: aux_adc.c
    * Revised: 2017-11-20 14:31:35 +0100 (Mon, 20 Nov 2017)
    * Revision: 50315
    What are you referring to by sensor controller?
    I am using the gain and offset functions but those values only demonstrate an effect in the upper ADC count range.  They work very well
  • If you look at the ADC examples in the SDK you will see that the last function that converts to uV also do some compensation. Not sure if it's relevant in your case but I would advice you to run the ADC example with the same setup as you are using now and see if you get any different readings just to be sure. Looking at ADC questions over time a common question is wrong readings due to not using the production calibrated values correctly. Have you tried to pull the pin externally? What you see could also be caused by an offset seen at the ADC input.