Sofirn SC21 mini

Thanks for sharing that! Pin 1 says UPDI, so probably the same way of flashing as the SP10 Pro.

Now that’s interesting! I had heard that they were planning on using the attiny1616 for the SC21 Pro, but then Barry seemed to go quiet so I never ended up hearing for sure. Did you / could you grab pics of the driver? I can’t believe they didn’t use the same flashing pad layout that I had provided. At least there are pads, I suppose. I can always rig something up if I need to for flashing.

But which firmware? Some say Anduril 1, some say 2. I doubt that they created their own ATtiny1616 Anduril 1 port. Maybe two different drivers from different batches?

Since the SC21 Pro ship w Anduril 1, it would be great if it could be reflashed to Anduril 2.

This was the best I got at the time, just taken with a phone. The “1616” can be barely made out, it’s a 20pin SOC and looks to be the appropriate size just by eyeballing it.

Also interestingly, the driver was keyed to the head so it wouldn’t rotate if it became loose and muck with the USB port position. Not sure if this is a standard thing with Sofirn on-board rechargeable lights.

I just got my SC21 Pro in today and can confirm that it’s using the attiny1616 since I was able to successfully ping, read, and write with pymcuprog.

Does anyone have any ideas about what firmware might work on it? Maybe the SP36-1616 build?

Yay!

I look forward to your Anduril 2 installation success.

Anduril 1 was never ported to the 1616 officially, so I wonder which firmware they use.

Okay guys, I’ve tried the 1616 builds for the following all without success:

Sp36: light will turn on but ramping is extremely slow

Q8: light will turn on but flashes between turbo and different levels while ramping.

Sp10: light comes on immediately after connecting battery. Button won’t work

Any ideas?

thanks for being the Lead Scout.

does an SP10 Pro driver work in the SC21 Pro? :innocent:

Can you share the original firmware dump that you hopefully made before messing with the driver? We need the build ID to know what was used. Have you checked the version information before updating it?

I thought it should be the SP36 firmware, but I could be wrong.

Here’s the hex file the I dumped. The version readout was 20210113.

It’s possible it’s using the sp36 firmware. Are fuse values still a thing on the attiny1616? Maybe something like CKDIV8 is making the ramp slow. I’ve had that issue with Lume1 drivers in the past. Any tips on changing fuse values using pymcuprog?

Okay, I figured out how to read fuses and this is what’s currently on the light:

Can anyone read the fuses from their sp36-1616 to compare? I only own the t85 version

Thank you. -This is already Anduril 2 as far as I can see from disassembling and analyzing the file. But it’s a very early build. I guess it’s a development build from gchart with a SP36-like configuration as the tinyavr port was merged much later.

Actually I’m mostly sure it is a build based on this revision: https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/anduril2/files/579.1.7/ToyKeeper/spaghetti-monster/anduril-

Maybe not, see below.

Very interesting. It acts so much like Anduril 1. No simple mode and 4C from on goes into ramp config. Is this consistent with early builds of Anduril 2?

No, Anduril 2 had simple UI from the beginning. Very strange.

This entire time I’ve been trying anduril.2021-12-13.sofirn-sp36-t1616.hex and getting the slow ramping, but I just tried anduril.2021-08-31.sofirn-sp36-t1616.hex and it works!!

APPLAUSE)!!

Looking forward to learning how to do that for mine.

question
does that build have the double flash midramp… cause if it does, Im out

Now I’ve checked the complete callgraph and it appears to be Anduril 1, indeed. Weird.