Skip to main content
Visitor II
October 15, 2025
Question

STM32H755 ADC1_IN9 (PB0) reads ~3°C lower than all other identical NTC circuits

  • October 15, 2025
  • 5 replies
  • 464 views

Hi everyone,

I'm using an STM32H755 microcontroller to read 20 temperature sensors (NTC thermistors) via 20 ADC channels for a testing setup. Each thermistor is wired in a simple voltage divider circuit like this:

[VCC] -- [NTC] --+-- [Fixed Resistor] -- [GND]
 | 
 [ADCx] 

All 20 ADC inputs are configured identically (same sampling time, resolution, continuous mode disabled, calibration enabled). However, I've noticed that ADC1_IN9 (PB0) consistently reports a temperature value that is ~3°C lower than the others. The remaining 19 channels produce nearly identical readings under the same conditions. Same NTC , same RES.

Here’s what I’ve already checked:

- ADC sampling time is long enough (e.g. 64,5+ cycles).
- GPIO analog mode is properly set.
- No visible layout issues or external interference.
- Measurements are stable and repeatable — the deviation is not noise.
- Swapped NTCs between channels — issue remains on PB0.

This is quite puzzling.

- PB0 has an internal analog path that's affecting readings?
- There is an internal pull-up/down resistor interfering?
-PCB layout (corner pin?) or analog mux residue might be a factor?

Has anyone experienced similar behavior with STM32 ADC inputs — especially PB0 or ADC1_IN9?

Any insights would be highly appreciated!

Thanks in advance.

 

    This topic has been closed for replies.

    5 replies

    Graduate II
    October 15, 2025

    I normally use a capacitor on every ADC input, a big one for slow signals and a small one for fasy signals. Probably you only have one board to test, so you can not be sure if maybe PA0 is somehow damagd on your chip or the PCB is leaky or what else. Check with even longer sampling, does it have influence on the difference? Is maybe the ground pin of the resistor connected to a ground line carrying much current so there is voltage drop? Are the neighbour pin perhaps switching synchronous to you ADC sampling? Did you change the sequence in which the ADC channels are sampled? Did you measure static voltage at the NTC pins with a good meter?

    Many thinsg to check...

    Technical Moderator
    October 15, 2025

    Hello,

    I don't think there is something special on PB0 GPIO pin.

    What board are you using? Did you check with another board? 

    Are you sure there is nothing connected to PB0 externally except that NTC sensor?

    Another possibility: an issue in the PCB if it's a custom board.

     

    durnaAuthor
    Visitor II
    October 15, 2025

    I should mention that I have more than one STM32H755 board and when I repeat the same process with another STM32H755 board I get the same result

    Technical Moderator
    October 15, 2025

    @durna wrote:

    I should mention that I have more than one STM32H755 board 


    That's the chip and not a board.

    What board are you suing a ST board a custom board?

    + Did you check the behavior by connecting a voltage source instead of that resistor bridge and see what happens?

    Super User
    October 15, 2025

    @durna wrote:

    I'm using an STM32H755 microcontroller


    On what board ?

     


    @durna wrote:

    I've noticed that ADC1_IN9 (PB0) consistently reports a temperature value that is ~3°C lower than the others.


    Have you measured the voltage at that pin?

    Preferably using an oscilloscope to check for noise, etc?

    Explorer
    October 15, 2025

    >- Swapped NTCs between channels — issue remains on PB0.

    That would have been my first recommendation.

    Have you checked the values of those "fixed resistors" in the divider network, especially for channel IN9 ?
    Have you tried an external reference voltage on this and other channels ?