I’ve got an NCM109 ATmega328P based clock, and as I’m trying to understand the code I’m seeing a lot of things whose purpose I don’t understand, and one big item is calling doIndication() over and over again during times when the display isn’t changing… The code seems to adopt the model that loop() will just update and do things and when other code wants something done it’ll just change a variable and then loop will cause it to be acted on. So have doIndication() run on every loop, and whatever is in the global stringToDisplay is what gets shown. And I can’t help but wonder why you wouldn’t adopt the model of call doIndication() only when we know there is a change to what is being displayed? Or even a condition in doIndication() that says, am I about to try and display what I am already displaying, if so, just return? Maybe it doesn’t matter, but that’s sort of my underlying question, is there any reason to or not to continually re-set what the tubes are showing? I don’t know if maybe re-setting it continually is good for the tubes, or is bad for the tubes, or does nothing. I was thinking about re-writing some of this code but I don’t want to create problems for myself (these tubes are too expensive to make a mistake!). Thanks.