2025-09-26 5:55 AM
Hello,
I’m trying to read temperature from some NTC10k sensors using a NUCLEO-H7S3L8 board. The datasheet says it has 14 ADC channels available, but I’m not sure how to wire the sensors correctly. I am using all channels in single ended mode
Each sensor is a simple 2-wire heat-dependent resistor (variable resistance in ohms). They don’t have their own power supply and only change resistance with temperature.
My questions are:
How do I need to wire the NTC10k to an ADC channel so that the MCU can actually measure something?
Do I need a voltage divider or extra resistor in the circuit?
If I want to connect several of these sensors (up to 14), do I need one resistor per sensor, or is there a simpler way?
Thanks in advance.
Solved! Go to Solution.
2025-09-29 12:19 AM
This is what TDK means - although the capacitor seems to be debatable.
I actually use a H7 ADC for voltage monitoring with many muxed inputs, each input has a divider like that, always with 10k || 10 nF to GND. But with low ADC clock and big sampling times.
2025-09-26 6:48 AM
Connect them in series with a 10 kOhm resistor and hook up the middle node to the ADC pin. You need 1 resistor per NTC. After calculating the voltage, back-calculate what the resistance of the NTC is and from there, the temperature.
2025-09-26 7:16 AM
And do some calculations concerning resistor change per °C and if the resulting voltage change will give you high enough resolution.
Also check the STM32 ADC input impedance, it's usually not that high and might affect your 10k / 10k divider.
Use lots of oversampling, and give each ADC input an extra capacitor with (at least) a few nF.
2025-09-26 8:04 AM
But if all sensors are positioned indipendently from each other, a seriell connection would mean that a resistance of a previous sensor would effect the next one in the line. Wouldnt a paralell setup be more suitable?
2025-09-26 8:07 AM
My sampling time per ADC-channel is currently set to round about 614 cycles. Why though should i put a capacitor before the ADC INP pin?
Regarding the "manual" calibration, i completely agree
2025-09-26 9:27 AM
Connect each of them in series with a 10 kOhm resistor. So you have 14 resistors.
14 of these circuits:
[3.3V] -> [10 kOhm] -> [NTC] -> [GND]
Connect the middle node to the ADC pin.
I do not recommend a capacitor here.
2025-09-26 10:25 AM
Sounds fair, just two questions for clarification:
- I would connect the line from NTC to GND to the ADC
- Is it working if i supply external voltage for all 14 ADCs? If i supply them with a certain voltage, does it neeed to be as the ADCs VDD(3.3V) or if I use for example VREFBUF/VREF+ the voltage of it?
2025-09-26 11:59 AM - edited 2025-09-26 11:59 AM
Connecting GND to the ADC won't help. Connect the middle node in the diagram I gave above. The wire between the resistor and the NTC.
You can use any voltage such that the ADC voltage is within the allowable range. Ensure the voltage supply you use for this can supply enough current for all 14 sensors.
2025-09-29 12:12 AM
> I do not recommend a capacitor here.
I'd rather use a long sampling time and a capacitor for each input.
Even though this slowly changing input signal can easily be filtered digitally, but still there's noise to suppress - and in this case maybe even from inside ADC to the outside. I haven't seen that (haven't checked) for the STM32, but with other ADCs.
2025-09-29 12:19 AM
This is what TDK means - although the capacitor seems to be debatable.
I actually use a H7 ADC for voltage monitoring with many muxed inputs, each input has a divider like that, always with 10k || 10 nF to GND. But with low ADC clock and big sampling times.