Imagine how long it would take you to drink 1 liter of soda if you could only sip 1 milliliter at a time. Forever! So instead of counting in big chunky ‘seconds’ (which would be too slow for precise blinking LEDs or quick reactions), the Arduino splits every second into 1000 tiny pieces called milliseconds — just like 1 liter = 1000 milliliters (ml).
- 1000 ms = 1 second
- So when you write delay(1000); → the Arduino waits exactly 1 second (1000 little ms ticks)
- delay(500); → waits half a second (500 ml out of a liter)
- delay(10); → waits only 1/100th of a second — super quick blink!
That’s why we almost always use milliseconds in code — it lets you control timing way more precisely, like choosing exactly how fast your LED flashes or how long a buzzer beeps.