This is very do-able, with only small changes to the current firmware. You’d still have to select everything at compile time though.
This gives me another idea too. It could potentially spend the first few seconds acting as an OTC approximator. By that, I mean it could stay off for 0.5s, then turn one color until 1.5s, then start its normal standby routine. This might help people understand the short-medium-long button press timing better. That is, assuming the button timings are properly calibrated.
Also very do-able. It doesn’t currently shut off the LEDs below a minimum voltage, since it’ll still have the MCU’s sleep / standby current being drained and it might lead the user to think it’s actually “off”, but it could be done anyway.
Otherwise, this is trivial to do. It uses 5 colors instead of 3 right now, but that’s an easy change.
Runtime config options are probably not feasible. It could do like the main driver and change behavior based on timing of button taps, but that would kind of interfere with the main driver. A solderable star (or switch) somewhere could be used, but it needs a PCB change and would be limited to only one toggle option since there is only one pin left. So, it’ll mostly have to be configured at compile time.
Ramping or “breathing” beacon might be possible but it’s not exactly easy. The LEDs are on pins which only have “on” and “off” states, so ramping would mean manually trying to do PWM on pins not intended for it.
The three-bar indicator is very do-able too. It might draw more power with more LEDs on, but this remains to be seen. It also would be limited to only three levels unless the board were modified to use 4 LEDs instead of 6.
Brightness can only be meaningfully adjusted in hardware. The attiny can’t do PWM while it’s asleep, and it should probably spend as much time as possible asleep to avoid draining the cell too fast.
On my Ferrero Rocher driver, I measured about 1.23mA with one LED on and the attiny awake. I measured about 0.36mA with one LED on and the attiny asleep. And 0.33mA with one LED in a kludged “low” mode with the attiny asleep. (mis-used hardware features to get a 100% “high” mode and a ~2% “low” mode, but this isn’t supposed to be possible) So, there’s a big difference between being awake or asleep.