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)

Practical, model not builtLow risk

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

Low riskAn adult supervises

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

  1. Build the divider: thermistor from 5 V to the analogue pin, 10 kΩ resistor from the pin to GND.
  2. Print the analogRead value (0 to 1023) and convert it to voltage and thermistor resistance.
  3. Convert resistance to temperature with the B equation and compare with the reference thermometer at room temperature and in warm water.
  4. Program the fan: on when the reading reaches the 27 °C value, off when it falls to the 25 °C value.
  5. Warm the sealed thermistor and log readings every second; count fan switchings with and without hysteresis.
  6. 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.

  1. curriculum.nsw.edu.au/learning-areas/tas/computing-technology-7-10-2022/outcomes
  2. curriculum.nsw.edu.au/learning-areas/tas/engineering-technology-7-10-2024/outcomes
  3. www.nsw.gov.au/education-and-training/nesa/curriculum/tas/industrial-technology-7-10-2019
  4. www.vishay.com/docs/29049/ntcle100.pdf
  5. docs.arduino.cc/language-reference/en/functions/analog-io/analogRead
  6. www.digitaltechnologieshub.edu.au/plan-and-prepare/scope-and-sequence-f-10/years-9-10

All Concept Studio activities