What's actually happening when the controller won't program
Your controller lights up, the buttons respond, but the schedule won't save or the zones won't fire on time. That's the classic 'won't program' symptom, and it's usually a power or memory problem, not a broken button.
Here's the key idea: a sprinkler controller has to write your schedule into memory and hold it there. If it can't keep power steady or the memory is fried, everything you type evaporates.
The good news is this is one of the more DIY-friendly irrigation faults. A lot of these get fixed with a 60-second power cycle and a $4 battery.
The bad news is that when it's surge damage to the logic board, there's no repair. You're buying a new controller, and there's no way around that.
The usual suspects, ranked
In the field, the causes stack up in a pretty predictable order. Start at the top and work down; you'll solve most of these before you get halfway.
First is the backup battery. Controllers 5 years and older often have a coin cell that's dried out, so any power blip wipes the schedule. It's cheap and it's the highest-odds fix.
Second is a power surge, usually from a summer storm. A spike corrupts memory or kills the board, and the tell is a display that shows garbage characters or won't reset cleanly.
Third is the transformer. A weak 24VAC supply gives just enough juice to light the screen but not enough to write memory, which looks exactly like a programming fault.
After that you're into firmware hangs on smart units, worn membrane buttons, and moisture damage. Those are real but less common.
- Dead backup battery: most common, cheapest fix
- Surge or lightning damage: common after storms, often fatal to the board
- Weak transformer: sneaky, mimics a memory fault
- Frozen firmware: smart controllers only, fixed by reset
- Failed buttons or display: age-related, replace the unit
- Moisture and corrosion: outdoor units with bad gaskets