Sofirn SP10 Pro (AA/14500/Andúril 2) - now available!

P50-B1 (~0.68 diameter)

PS - the page on Oshpark has the BOM

Big thank you! It’s useful to see your photo and know the actual type. Puts it better into perspective.

Just wanted to let people know that Sofirn and Barry have replied to me meanwhile, concerning my order. :+1:
They are expecting drivers and updating firmware, so that is what caused delay.
Sofirn mentioned the end of the month to eventually have them.

I will wait for them to become available, as will not cancel my order. I just wanted to know what would be the reason, and now I know :+1:

Gchart you mentioned that shipping to Europe is expensive, should I make some programing adapters for Europeans ? (or others actually, an international 20g enveloppe is 1.65€)

That’d be great, I’d buy one.

It’s relatively easy to hack something like this together (e.g. hot gluing pogo and modding a FTDI board), but it’s an entire different thing if it’s properly done and nice and tidy like gchart’s adapter. Certainly more durable. For small things like this, shipping costs (+ customs!!!) are often a showstopper.

Even if I don’t know how to programme, I could learn and a cable would be handy in that case !
I’d buy one from you if you decide to make them. And thanks in advance for the proposal! :+1:

Yes, please.

Ok, I already ordered 15 boards and I’ll order some other necessary parts, I already have a few micro USB to TTL boards, maybe I should get some USB-C ones next.

You mentioned that heartshrink is optional, but in any case some insulation isn’t since touching the RX connection can make the programming fail in my experience.

GCHart, are there any POGO Pin adapters left for flashing this driver?

Thank you!

5C from on. I accidentally entered momentary mode and had to google to get rid of it.

I would also like to delete 5c from off since I don’t want to accidentally enter momentary mode ever again. I have no use for it.

Got your adapter today gchart. Thanks for the quick work. Now to learn the intricacies of Buried somewhere within this thread is the necessary software and some instructions on how to use it. Would you mind linking to that post in the OP to help us all out? Thanks.

I guess I need to publish a straight-forward set of instructions. I haven’t done exactly that yet, but I do have a ton of info here: Adventures in TinyAVR 1-Series

Basically, you need to…

  1. Make sure you have python3 installed on your computer
  2. Install “pip” for python3 (it may already be installed if you have python3)
  3. Use pip to install the “pymcuprog” package
  4. Download (or compile) the hex file
  5. Use pymcuprog on the command line to flash the hex file. I recommend doing an erase before writing the new hex file. I have sample commands in the post I linked above.
  6. As an alternative to #5, instead of trying to find your serial port and typing out your own commands, I have a python script here that you can use to issue a simple command like “flash-1616.py anduril.hex” to help do the dirty work.

I recently updated the firmware on mine and I posted a tutorial on reddit

The instructions are for Windows only though.

How can I add a line for 5C to activate strobe? I believe 5C while on currently doesn’t have a function

How can I remove the mode for momentary on while off?

Much thanks to gchart and zumlin! Once I got windows to install python properly, it all just worked! gchart, the little python script works very well also.

Also, just get gchart’s pogo adapter with the resistor and diode on board, it is a bargain!

What other lights flash this way, is this the first?

:+1: This is the first light with this programming format. Sofirn (and maybe Wurkkos?) seem interest on using it on more lights, so I think we’ll probably be seeing more of it soon-ish.

I haven’t tested it but I believe you can do it as follows:

Take lines 254 to 265 from off-mode.c:

// click, click, long-click: strobe mode
#ifdef USE_STROBE_STATE
else if (event EV_click3_hold) {
set_state(strobe_state, 0);
return MISCHIEF_MANAGED;
}
#elif defined(USE_BORING_STROBE_STATE)
else if (event EV_click3_hold) {
set_state(boring_strobe_state, 0);
return MISCHIEF_MANAGED;
}
#endif

Replace EV_click3_hold with EV_5clicks

Then stick those lines of code into ramp-mode.c (line 160 might be a good place to put it)

Remove lines 266-273 from off-mode.c

#ifdef USE_MOMENTARY_MODE
// 5 clicks: momentary mode
else if (event == EV_5clicks) {
blink_once();
set_state(momentary_state, 0);
return MISCHIEF_MANAGED;
}
#endif

Thanks for the clear instructions. That should get me going.

I Hope we can use the programmer in the future. Of course that will depend on the drivers having programming pads.

Wurkkos doesn’t dilly dally. They get new concept lights produced!

So is the flash-to-off quirk a widespread issue or not? I have yet to see it on mine and I’ve been using it nearly every evening since I got it.

I have another niggle….this light is a PITA for tail standing. I was commenting in someone else’s thread (tactical grizzly maybe) where they said it tail stands well. I find that the surface needs to be flat-flat and pretty sturdy or else this light is liable to topple over. I sat it on an old pc box and it kept falling over….got out an angle gauge and it was about 4.5°. lol. There’s only something like 30% of the circumference that is a footprint for contact - they took way too much material away. If they come out with a green magnetic cap I’ll pick that up. For now, I put the Convoy T2 16mm ring magnet back in it…sticks up a little above the ears so it’s at risk for fracture but it helps the light tail stand properly.

Other than that I like this light a lot. Picked up some brass tubing 9.5mm x 1mm and will slice off some button washers soon.