2 · Inputs & sensors
Filter noise (moving average)
Advanced20 min
Goal
Smooth a noisy reading by averaging the last 10 samples.
Why it matters
Every real sensor is noisy; filtering is the first step of signal processing.
What you need
- Arduino UNO board
Nothing to buy: every component below is simulated in the browser.
Steps
- 01Create an array of 10 values and a circular index.
- 02Each pass, replace the oldest value and recompute the sum.
- 03Print the raw AND the filtered value to compare.
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. They are already available in the simulator library.
- How long does it take?
- About 20 minutes, advanced level, in 3 guided steps.
- What should I know before starting?
- The previous tutorial in the series, “Threshold with hysteresis”, 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
- Read a push button
Light the LED only while the button is pressed.
- Toggle button (debounced)
One press turns on, the next turns off — with no contact bounce.
- Read a potentiometer
Print the analog value of A0 on the serial monitor.
- Convert to volts (map & float)
Turn the ADC's 0–1023 into a 0.00–5.00 V reading.