Wait, you think hardware is a distraction... that's wild to me. Fiddling with a real light and timer forced me to learn error handling and logic way faster than any textbook example. The distraction of it not working is exactly where the real learning happens.
But where's the line for you between a useful hardware problem and just fighting bad tools? If a sensor is poorly made and gives junk data, is debugging that still teaching real stuff or just wasting time on a broken part?