Memory gone in Crescendo firmware

I have been using my S2+ with Mtn17DDm driver and 3*SST-20 for quite a while. It has Crescendo firmware and I always keep memory on. The button finally gave up so I replaced it with a new one. But now the firmware is acting weirdly. It no longer memorizes the current level (even after toggling memory on/off). Is it because the memory in the Attiny25 has been worn down? I have a spare MCU lying around, but I doubt that’s the problem.

Soooooo… it works fine, you replace the switch, now it doesn’t work fine?

Certainly seems to me the switch might be the problem.

Maybe it’s “leaky” in some sense, from contamination across the contacts or bridging traces. Same way adding a lighted switch can play Hell with modes/memory/whatever.

Take off the tailcap, bridge the end of the battery to the case. Jiggle it to set different modes. Ie, let it act as if you were working the switch. If the light works as expected, then the switch is to blame.

I just tested it with a piece of wire and your suspicion is spot on. :person_facepalming: I should’ve tried it before lol. However the new switch is not a lighted switch. It’s just an Omten switch soldered onto the original switch’s position. I’ve checked it and I can’t see any debris.

Edit: typo

Could be anything. Solder flux that absorbed crap and is ever-so-slightly conductive, similar with grease, anything.

It definitely sounds like there’s current leaking through somewhere, preventing the driver from ever fully losing power. That’ll break the offtime measurement, so it probably thinks every button press is a short one.

Hi folks,

I just recently built an S2+ with Mountain triple XPL-HI V3 1B on noctigon board, and 17DDM FET_ +7135 driver with Crescendo UI, using Hoops copper spacer. I turned on memory and it works if I try it a few times after I set the memory. However if I leave the flash light alone for a while, then turn it on, it then goes into ramping mode without returning to the last memorized brightness.

Everything else seems fine. I can go back in and turn memory on, and it would work a couple of times, and then stops working all of a sudden again. I’ve verified clean contacts and nothing is shorted. Rear switch bypass done correctly. What I don’t understand is why it works after setting memory and loses the memory afterwards. I’ll probably open it up clean everything up and try again. Any ideas helpful.

Also how does one set the thermal limit? I tried entering config mode and 2 quick taps gets it into special modes. Not sure what the correct behavior should be after 2 quick taps while lights quick flashing.

Any help appreciated.

I’ve seen Crescendo do this too, on a TA board I ported Crescendo to. I figured it was just a bug in my port, but maybe it’s a bug in Crescendo itself.

This chart might be helpful

If you have spare switches or wires laying around, maybe you can try them to see if it’s the switch’s fault. If I remember the cause of my problem was the switch or something.

I’ve had this same issue - Set the memory, memory works fine. Use the flashlight for a while, all is hunky-dory. Leave it it alone turned off for a few days/weeks, pick it up to use it, and the memory is gone. Have to go into config mode to turn it back on again.

It’s not a huge deal, but it is a bit of a hassle when you want light at whatever brightness in a hurry, and the thing decides it wants to ramp instead.

This is in two different minimally-modded S2 lights with an A17DDL - no lighted tailcap, no weird leakage paths.

(This is a bit of a thread-necro, please forgive me)