Technologies K–10 · Years 9–10
A thermistor thermostat with hysteresis
Engineering focus area (NSW Industrial Technology 7–10, 2019); Design and Technologies: Knowledge and understanding, Technologies context: Engineering principles and systems (ACARA v9)
This site has no interactive model of its own. Where a step or a material names a Concept Studio model, simulation or tool, it has not been built; an external simulation a step names (for example PhET) is not part of this site.
The idea
A thermistor's resistance falls as it warms, a voltage divider turns that into a voltage a microcontroller can read, and switching on and off at two different temperatures (hysteresis) stops a fan chattering.
Safety card
Hazards
- Warm water near electronics
- Fan blades
- Transistor overheating if mis-wired
Controls
- Seal the thermistor in heat-shrink; keep the board away from water; water no hotter than 40 °C
- Fan guard fitted
- Check the circuit before connecting USB; USB power only
Note
Warm water is involved: record the activity on RiskAssess (riskassess.com.au).
What you need
- Arduino Uno (or compatible) and USB cable
- Vishay NTCLE100E3103 10 kΩ NTC thermistor (B25/85 = 3977 K) and a 10 kΩ 1% resistor
- 5 V DC fan drawing no more than 200 mA, NPN transistor (for example BC337), 1 kΩ base resistor, 1N4001 diode across the fan
- Breadboard, jumper wires, reference thermometer, heat-shrink sleeve to seal the thermistor, cup of warm water no hotter than 40 °C
How to do it
- Build the divider: thermistor from 5 V to the analogue pin, 10 kΩ resistor from the pin to GND.
- Print the analogRead value (0 to 1023) and convert it to voltage and thermistor resistance.
- Convert resistance to temperature with the B equation and compare with the reference thermometer at room temperature and in warm water.
- Program the fan: on when the reading reaches the 27 °C value, off when it falls to the 25 °C value.
- Warm the sealed thermistor and log readings every second; count fan switchings with and without hysteresis.
- Write a design brief and criteria for a small plant-propagation box (temperature band, power supply, cost) and evaluate the thermostat against them.
What you should see
The datasheet table gives 12,488 Ω at 20 °C, 10,000 Ω at 25 °C and 8059 Ω at 30 °C, so the divider gives 2.223 V, 2.500 V and 2.769 V (analogRead about 455, 512 and 566). The B equation with B = 3977 K matches the table within 1% from 20 to 40 °C (12,555 Ω against 12,488 Ω at 20 °C), so it is good enough for the thermostat. The switching values are about 512 (25 °C) and 534 (27 °C). Without hysteresis the fan flicks on and off near one threshold; with it, the fan switches once per warm-up and cool-down. The learner knows it worked when the computed temperature is close to the reference thermometer and the log shows clean switching.
What changes
- What you change
- control rule (single threshold or hysteresis band)
- What you measure
- number of fan switchings during warm-up
- What you keep the same
- the same thermistor and divider
- the same warming method
- the same logging rate
Common misconceptions
Each of these ideas is wrong, and the activity is a chance to test it.
- A thermistor's resistance rises with temperature (an NTC thermistor's falls).
- One threshold is enough for a thermostat (it chatters around the threshold).
- The Arduino reads temperature directly (it reads a voltage that the program converts).
Curriculum references
The NSW syllabus outcomes and Australian Curriculum v9 codes this activity supports. They are references, not a verified or complete curriculum alignment.
- Industrial Technology 7–10 Syllabus (2019), NESA. Current; its Engineering courses are not available after December 2028. Code read from the official syllabus document (DOCX) on 2026-09-22.IND5-7
- Engineering Technology 7–10 Syllabus (2024), NESA. Implementation from 2027, so this code describes the future syllabus. Code read from the outcomes page on 2026-09-22.EGT5-MEA-01
- Computing Technology 7–10 Syllabus (2022), NESA. Current elective syllabus. Code read from the outcomes page on 2026-09-22.CT5-OPL-01
- Australian Curriculum v9AC9TDE10K03AC9TDI10P09AC9TDE10P01AC9TDE10P04
Sources
The pages the author read to write this activity.
- curriculum.nsw.edu.au/learning-areas/tas/computing-technology-7-10-2022/outcomes
- curriculum.nsw.edu.au/learning-areas/tas/engineering-technology-7-10-2024/outcomes
- www.nsw.gov.au/education-and-training/nesa/curriculum/tas/industrial-technology-7-10-2019
- www.vishay.com/docs/29049/ntcle100.pdf
- docs.arduino.cc/language-reference/en/functions/analog-io/analogRead
- www.digitaltechnologieshub.edu.au/plan-and-prepare/scope-and-sequence-f-10/years-9-10