5 · Communication & data
Detect a freeze (watchdog)
Expert22 min
Goal
Report when a reading has not been refreshed for 3 seconds.
Why it matters
A reliable system detects its own failures instead of showing stale data.
What you need
- Arduino UNO board
- 5 mm LED
- 220 Ω resistor
Nothing to buy: every component below is simulated in the browser.
Steps
- 01Store the timestamp of the last valid reading.
- 02In loop(), compare millis() to that timestamp.
- 03Past 3000 ms, light the alert LED and report on the serial port.
This tutorial runs inside the Circuitly simulator: your wiring and your code are checked automatically at every step.
Frequently asked questions
- Do I need to buy hardware for this tutorial?
- No. Everything runs in the browser: Circuitly simulates the board, the components and the code. Real hardware is optional if you want to rebuild the circuit afterwards.
- Which components are used?
- Arduino UNO board, 5 mm LED, 220 Ω resistor. They are already available in the simulator library.
- How long does it take?
- About 22 minutes, expert level, in 3 guided steps.
- What should I know before starting?
- The previous tutorial in the series, “Three tasks in parallel”, is enough preparation. No software install is required.
- Is the code provided and checked?
- The simulator checks your wiring and your code automatically at every step, and shows the commented solution if you get stuck.
For teachers
Get the teaching pack: 6 ready-to-run sessions
Full progression, objectives, student steps and an assessment grid — printable, free.
One address, no spam: just the pack and classroom updates.
In the same series
- Control the board from the keyboard
Switch the LED on/off with the “on” and “off” commands.
- Log data as CSV
Produce “time;value” lines usable in a spreadsheet.
- Remember after power-off (EEPROM)
Keep a setting even after a restart.
- State machine
Structure a traffic light into explicit states (GREEN, AMBER, RED).