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

Update (August 15, 2021):

  • OP is cleaned up and updated with latest news.
  • Final custom SP10 Pro Andúril 2 UI diagram posted on the OP.
  • Sofirn has finished creating a prototype driver. The final driver will offer flashing pads to have direct access for a pogo pin adapter to flash new/alternative firmware to the MCU.
  • Next step is to release two prototype flashlight samples to gchart and Tom E for full examination and testing, followed by a trial phase before ramping up mass production.
  • gchart created a custom Andúril 2 hex-file to be used for SP10 Pro:
    • Default mode is stepped ramp with 5 brightness levels
    • Simple UI has full power (ceiling 150/150)
    • Advanced UI ceiling per standard 120/150
    • USE_2C_MAX_TURBO command implemented, i.e. Turbo in the Advanced UI works like in Andúril 1 via 2C
    • toggle stepped/smooth ramp via 3C from ON in Simple UI
    • all latest code updates until August 12, 2021 are taken into account, i.e. firmware revision 2021-08-12

Lumen output as per gchart's prototype testing sample:

(actual numbers may vary in the final product and depend on the used battery and the emitter type/tint)

Mode NiMH Li-Ion
Eco 0.2 0.5
Low 6 16
Med 32 75
High 133 270
Turbo 308 729

Next steps:

  • Lux-Perpetua: create manual for SP10 Pro incl. separation and simplification of the the UI diagrams for Simple UI and Advanced UI
  • Sofirn: check possibilities for alternative (deep carry/captive ring) clips
  • Sofirn: check possibilities for alternative anodizing colors or bare aluminum design (clear coated / sandblasted)
  • Sofirn: build prototype samples
  • BLF community: check for hardware requirements to realize a cheap and reliable pogo pin adapter to be used with future drivers with AVR-1 MCUs.

Obrigado pelas tuas sugestões. :-) :THUMBS-UP:

I talked about this with Sofirn but they have already committed to this design and they are eager to finally bring this model to life. If they had to redesign the entire head it would cause more delays, e.g. testing a new reflector geometry, beam shapes etc.. I assume the SP10S head design was successful/popular enough to keep it this way. However, I do agree with you that a shorter length would be nice with regard to EDC aspirations. A shorter, lighter TIR lens version could certainly be considered in a future upgrade of SP10 Pro.

Agree with your points. A TIR would be a space saver. Not sure if this is a standard size, but if it is, people could even choose their beam characteristics.

Point c is also important: This light needs to be de-uglyfied.

Maybe in another version.

Great updates, Lux-Perpetua!

Regarding the flashing adapter, historically I’ve used a Xnano-416 dev board or a AVR JTAG ICE programmer. But they aren’t super cheap and they do bring some complications (Windows vs Linux, custom avrdude stuff, etc).

So I decided to checkout the pymcuprog project and a super simple and cheap adapter. I think this should be a good universal solution for programming these AVR 1- Series chips. I’ve got the parts ordered. I’ll update when I have more info.

Fantastic!

Ok, next project...get Sofirn to create a high quality rotating angle head light like the Nicron N7/Rofis R2 with dual battery support, good emitters, quality driver, etc. Both of those lights are ok and super handy to own, but the quality is not there on the Nicron and the Rofis (other than having disappeared now...) was rather expensive and a little overdone while not giving great firmware options.

Please add me to the list…INTERESTED!

one more deep carry, captive ring, concept image:

Good to see that this supports NiMH. You might need to slow down the party strobe’s on time - 4 to 5ms should be OK.

Any info on price yet?

Woah, good catch! I don’t spend too much time in strobe modes. I just tried party strobe with NiMH and sure enough, it didn’t light up on NiMH (but is fine on Li-Ion). I tried setting it to 4ms, no dice. So I went ahead and skipped to 6ms and that seemed to work. Thanks for the tip!

Update (August 17, 2021):

  • Updated hex-file (correcting the NiMH glitch in Party Strobe) as been sent to Sofirn.
  • New UI diagram draft to be used in the upcoming SP10 Pro manual

Just to be sure, this is (almost?) exactly the same as the diagram with all the fancy icons, but without those right? Looks way cleaner for sure! I like it! Also good to see the factory defaults, although I still miss the default temperature value :wink: If I may also add another thing, maybe add asterixes (*1) to the “set …” bubbles and explain them on the side? That way all of the information you need to use the light is available in one compact picture without having to read the whole manual :slight_smile:

The button brightness settings are the same for both UI’s right? Although the SP10 Pro won’t have a button-LED I assume? And auto-lock is not available in simple UI? Overall I’m excited to use Anduril 2, I only use the battery check most of the time so Simple UI will be perfect for me :smiley:

Ah yes just another thing, I suppose voltage calibration will need to be tested rigorously on both NiMh and Li-Ion voltages so it behaves exactly as expected? Or are there two different internal calibration values depending on the source voltage so this won’t pose any problems?

I need to double check, but I think you can set up auto-lock in Advanced UI and then put the light back into Simple UI.

Correct, no button LED.

There is only one voltage calibration value. In my sample size of 1 flashlight, the voltage reading was very accurate on both NiMH and lithium ion without any calibration. Of course some of that will depend on the accuracy of the voltage divider resistors themselves.

Oh, and one more great thing about the use of the AVR 1 Series: the thermal sensor is factory calibrated with both offset and slope values! In all of the 1 Series-based drivers I’ve put together, they seem to be spot on!

Yes, I wanted to sweep any unnecessary stuff and give it a cleaner look. :)

Factory default temperature is always 45°C if I am not mistaken. gchart probably knows way better than me. ;) I like a safe level for default since those people who ask for higher temperature limits are often those who can handle a complex UI quite well.

Agreed, but I am afraid it could turn the cleaner look into something more confusing. Instead, my intention is to offer detailed (yet essential) explanations for each function in the text manual of SP10 Pro. This manual needs to be kept short for Sofirn will offer it in not less than eight different languages.

OMG, how did I miss the fact that there was no switch button LED?

I will ask Barry if they plan to use the SP35 / IF22(A) switch which has an LED in the button. If I recall correctly, the original switch in SP10S was often reported to be mediocre. So, let‘s wait and see what they are going to use here. In the worst case, I will remove that part from the UI diagram and manual.

About auto-lock…

Good question, never checked before. According to ToyKeeper‘s text manual, auto-lock is a part of the Advanced UI only but maybe timer-settings are also being propagated to Simple UI as well?

Can confirm, auto lock settings do not carry over to simple UI.

Yup, I just confirmed the same using my customized SP10S with the proposed firmware.

I’m not sure how many people would want to use Simple UI with auto lock, but I don’t think it would be too hard to implement.

Yup, it looks like it would be a simple add. The question though is: should it’s inclusion be made it universal? or should it be a compile-time config option? TK clearly designed it to not autolock in Simple UI. So I would think if it’s going to be added in, it should be a compile flag. The setup of autolock would definitely still happen in Advanced UI, but I could see it’s config carrying over to Simple UI. (sorry, kinda thinking out loud there)

ToyKeeper/spaghetti-monster/anduril/off-mode.c

#ifdef USE_AUTOLOCK
// lock the light after being off for N minutes
#ifdef USE_SIMPLE_UI
if (! simple_ui_active) {  // no auto-lock in Simple UI
#endif
    uint16_t ticks = autolock_time * SLEEP_TICKS_PER_MINUTE;
    if ((autolock_time > 0)  && (arg > ticks)) {
        set_state(lockout_state, 0);
    }
#ifdef USE_SIMPLE_UI
}
#endif
#endif  // ifdef USE_AUTOLOCK

Thank you gchart for this great idea. :THUMBS-UP:

I like this option, but…

to be honest, I fear that both Sofirn and some (many?) BLF members / customers would rather like Simple UI to be really „K.I.S.S.“ (keep it simple, stupid). Some “muggle“ users could get confused if their light locks out automatically. On the other hand, if auto-lock is not active in the factory defaults of the Advanced UI, it should not be of any concern.

How about a quick poll (1 week runtime) to see what people want most? I can ask Barry to hold on using the current firmware for there might be another one coming with auto-lock working in Simple UI, too.

Auto lock probably won’t be a good idea. Hand a light to grandparents and they’d just think it were broken. Anyone given a light in simple UI should be able to figure out how to use it immediately.

Even as an enthusiast and huge fan of Anduril - I agree, I think auto-lock should be kept out of the simple mode. But I also agree with the suggestion to put it to a poll.