Part 6 of the Arduino Mastery Series: why a mechanical button chatters, how pull-up and pull-down resistors work, and a tunable two-button counter project that debounces both the hard way and the easy way, for real this time.
Part 5 of the Arduino Mastery Series: how arrays store more than one value under a single name, how a C-string differs from Arduino's String class, and a serial-controlled LED chase project that puts real data types to work.
Part 4 of the Arduino Mastery Series: why delay() freezes your whole sketch, how millis() and micros() track time without blocking, and a non-blocking control panel project that blinks, dims, and times a button press all at once.