Anduril ... 2?

Please Toykeeper make Anduril easy to use and hide the configuration modes

less than 7 clicks shouldn’t change anything

changing aux mode from lockout should need 7 clicks like when unlocked (no more accidental aux mode change when you miss a click trying to exit unlock mode)

no more 3 clicks from on to change between stepped /smooth ramping

I like the idea turning on the flashlight after exiting lockout mode (4 clicks) without having to single click again

I love vast interface, but have been hesitant to suggest a light because it may be overwhelming to non-enthusiasts or those that just want to KISS. I’d love to gift to family and friends some of the high output lights if they were able to be factory full power but still maintain a level of safety.

How about an app - PC or phone - where you choose your UI preferences (ramp ceiling, mode memory etc) via toggles and sliders.

Then when you are ready to program the light, the app generates a morse-code style sequence of long and short presses; the preferences are encoded in this sequence.

You simply put your flashlight into programming mode (via a long press), then enter the sequence to program the light. The app can “play” the sequence visually (scrolling left-to-right) to help you with the timing. Like Guitar Hero!

Is this practical?

There have been concepts of using screen flashes to program a flashlight. Due to an interesting property of LEDs, they can act like tiny little (inefficient) solar panels. Placing an LED flashlight bezel down on a phone screen that flashes out a sequence at max brightness should in theory be able to program the flashlight. I’d love to see this executed successfully, but I think there are limitations that have prevented it being successful so far.

Maybe have an option for those flashlights with USB charging to be able to program from the USB port? I guess this is hardware dependent but would be so much easier than using pins etc…

Anduril has been an eye opener for me, makes a flashlight a bit more than a simple flashlight.

To me however like my cameras, I’d like to see custom memory modes. f1,f2,f3 f(function) for example. (preferably on a second dedicated function button)

I can customize for the purpose/role of the light

examples of possible custom memory modes,

f1 tactical - instant on/off at programmable brightness - on/off only (for a lot of muggles this is all they want. on/off)
f2 muggle2 - ramp/step with moon to x level brightness
f3 bicycle mode - instant on/off
fx instant sunset mode - programmable duration on/off
fy demo - rotate between ramp/flash, stepped on/off
fz star gazing mode - moonlight/warm on/off
f? aux only mode - on/off, rotate between color, or ramp rgb?

non - function mode = everything like today. Lets not lose any functionality.

Maybe have some preset modes for muggle like after a battery swap (for muggle). So if for whatever reason someone gets into a weird mode, they can always reset easily. I know my kids have clicked more than 7 times continuously, or put the light in momentary mode, and had to reset. They may not even remember to press the button for flash sequence to complete.

Then for pro mode - reset with button pressed through sequence like today - opens all settings/configurations

for the current Anduril, maybe make momentary mode, more than 5 clicks? Often times on a light I put in my pocket I tend to turn on lock mode (4-clicks), but accidentally put it in momentary mode and have to reset. :frowning: putting it next to each other in click sequence is easy to make mistake.

I propose naming the new version Anduril Pro

Possible Anduril Pro Configurations:

Anduril Pro Safe LITE
stepped, emulation of the Olight S Mini UI
ramped, emulation of the Nitecore D10 UI

Anduril Pro Safe BRITE
stepped: emulation of Novatac UI programmable modes
ramped: Nitecore D10 Ramping UI, plus blinkies

Anduril Pro Full BRITE
ramped: a trained operator can raise the temperature ceiling to 65C

Safe config has 35C temperature limit

Anduril Pro Full BRITE “Scholar” Mode config allows operator to raise the temperature limit to 65C.

Just wanted to make sure you’re aware that if you set the ramp ceiling to turbo to can then get to it directly from off. But yeah, it you want to also have a lower ceiling then that would require a change.

Curious how you utilize this in real-world use. If you ramp until the blink and then stop are you good, or do you have to ramp back down a bit? Is there any way to take advantage of this feature in stepped mode?

Could we get some programing options for power on state? It’d be nice to add a clicky tail switch or make something like a D4V2 into a twisty. Similar to having Biscotti or Guppydvr combined with Anduril and some added functionality of still having an e-side switch. Would love a tactical turbo start with the rear clicky and moonlight start with side + clicky.

I recall TK looked into this for Anduril and even put in some of the preliminary code needed to implement it.

The problem was that it was far too slow for firmware updates. It would have taken hours to download.

However, I could see an app being useful for changing custom settings since presumably much less data would need to be transmitted. But on the other hand, if you can change your custom settings just with a series of button presses on the light, why go through the effort to create a phone app to do the same thing?

Extended:

  • offer overheating and undervoltage protection
  • include cell to make sure it’s a good one
  • include charging so there’s little incentive to remove the cell
  • lock the cell inside so it can’t be removed without a special tool (but make the tool available to tinkerers)
  • (ADDED LATER) make physical design that makes accidental activation unlikely
  • add features like the already mentioned output reduction when the light is close to some object. I know it’s hard to do perfectly but even if you can stop half of damage induced this way - it’s better to have it than not.

one thing that annoys me about stepped mode is, if you get more than about 8 levels, it takes longer to go through them than in ramped mode.

maybe make it go from floor to ceiling in less than X seconds no matter how many steps there are

all i would really want is a muggle mode that works, even if it is less simple
( i have the muggle mode that randomly decides the temp is too high and reduces to lowest level after random seconds)

So, my personal setup for the D4V2 is as follows:
Smooth ramp: Full range from level 1 to 150
Stepped ramp: 3 levels. Low is level 25 (~20Lm), high is level 105 (~1000Lm). This puts the middle level squarely on the max regulated level of 65 (~150Lm).

In addition, I set mode memory to always switch the light on at level 65. The fully regulated 150Lm is useful in a wide range of scenarios where I just need an arbitrary amount of light. It’s also convenient to get as much light as possible from the most efficient output range with a single click. The blink is useful if I’m ramping up and down and I want to know where the threshold is without turning the light off and on again. Before TK implemented the mode memory customization, I relied on the blink as the only way to get back to just under the FET threshold in normal ramping operation. I still do on my FW3As, which aren’t so easy to re-flash.

I usually have my D4V2 in the smooth ramp mode for general EDC tasks, but often switch into the stepped mode if I want a better idea of how much power I’m consuming when using the flashlight for longer periods of time. The low step is good for close up stuff at night, medium is efficient for walking, and high will slowly heat up and step down to a sustainable level, but it lasts a while unlike turbo (which is still accessible with a double click if needed). I seem to be fully utilizing both ramp modes and I really like my current setup now. The customization options of Andúril are fantastic.

I will give you my ideas tomorrow, but what about naming it Anduril Next?
This way it doesn’t insult our old Anduril version and its users, like in the Anduril Pro case

Was going to reply to everything at once, but it would make a very long post… so I’ll split it into a few and try to keep similar topics somewhat grouped together.

First, the name:

I’ve been thinking the same. Different name means different UI, not just an iteration of the existing UI. So I think it should probably be “Anduril 2” to make it clear that it’s still mostly the same, but different enough to give it a version number bump.

These things are generally already done or at least in the plan:

That’s in the plan. :+1:

Yes, smooth/stepped is sticking around. It’s not yet decided whether it’ll be possible to have steps in the simple UI though. It could potentially use the current ramp style and number of steps, but change the floor and ceiling to a narrower range… maybe.

This is already implemented, and will be improved by replacing muggle mode with an overlay-style simple UI.

This is already possible and has been done, but it happens at compile time.

The factory reset function does this. The user would still need to exit the simple UI after a reset though, to get access to the full feature set again.

It already supports two e-switches, as long as they do the same thing.

It also supports an e-switch plus a clicky switch, where the clicky gives it momentary mode all the time. Side + clicky goes to moon. Enable START_AT_MEMORIZED_LEVEL to use it.

Beyond that, redesigning the UI to take advantage of multiple e-switches would basically make it a different UI… so it would be a different project. Not saying it can’t be done, but it’s out of scope for Anduril.

That’s definitely one of the options I’m considering. It would then be possible to configure the simple UI, but only while the advanced UI is active. For example, it could keep the aux LED settings and maybe the ramp type and manual memory setting, but set a different floor and ceiling in simple mode. It could potentially also allow setting the simple-mode floor and ceiling, though I’m not sure how the UI for that would work.



That’s an interesting idea which hasn’t come up before.

It could perhaps do “low-floor high-floor” when manual memory is off, or “low-floor manual-mem” when manual memory is on?

It may end up with gaps between some of the functions which require more than a couple button presses. However, most of the parts which people get mixed up won’t be enabled in the simple UI so I suspect this type of issue may become less common.

It’s something which has come up a few times. Normally I’d suggest setting the ceiling to turbo, since that’s kind of the point of having an adjustable ceiling. But perhaps there needs to be more discussion about the various tradeoffs here, whether it’s worth having a separate ceiling and a shortcut from off to turbo, and what would have to be sacrificed to make that happen.

Like, there’s the question of what 3C should be. It could be a turbo shortcut. Or it could still be battcheck. Or I’ve been thinking about whether 3C should go to lockout, to make lockout more convenient to access.

There’s also a question of what 2H should be. It’s currently “go to ceiling and ramp down”, but maybe it doesn’t have to be. It’s nice for symmetry and consistency, but I never really use it and I’m not sure if anyone else does either. Perhaps it could be mapped to something else instead. There’s no shortage of other functions which could benefit from a shorter button mapping.



I’ve been thinking the battcheck function should exit after it finishes one readout, when the user is in simple mode, like the version check does. This may help people avoid getting stuck. Can’t do that with lockout mode though.

It depends on the light and the brightness level being used. The formula isn’t great at adjusting to the full variety of configurations where it runs. It could also really benefit from higher resolution in terms of time and brightness, to allow for smaller / smoother changes. If I figure out a good way to do it though, I’ll probably do it.

This has come up a few times, and I think it’d be a good idea to add it. There might not be room on tiny85-based lights though, so it could potentially be tiny1634 only or otherwise be enabled on a per-device basis.

The blink is only there on some lights, where it’s relevant. Mostly just on FET+1 designs. It’s not there on some other lights, and I’ve been wanting to remove it on more. However, it’ll still blink at the ceiling.

One thing worth mentioning though… With the blink gone, it’s much harder to hide imperfections in the joints between different ramp segments. If the slope changes, it’s much more noticeable. So it’s often not difficult to tell where the segments join, even without the blip… which is both a good and bad thing.

I’m hoping that every feature it currently has will also work on tiny85 in Anduril2… but depending on how it works out, new features might require a bigger MCU.

Yes, the simple/advanced default value will be configurable at compile time. And the current/other or low/high momentary lockout order should be a compile-time option too.

At some point, probably yes. But not as part of this revision. That migration is a separate project.

Git is really not designed for the way I work, and the features tacked on later to address this are fairly shallow, so it’s going to be a very frustrating process. But Git won the DVCS wars, so it should happen anyway.

Would be nice if I could go back and have a long talk with Linus Torvalds back in 2004 or early 2005 before he made Git, to prevent him from making some of the mistakes he made. At this point though, it’s probably too late to fix those things because they’re too deeply ingrained into the Git ecosystem.

Since the sensor is a hardware trait, I can’t change it in firmware. The most I can do is change the thermal regulation algorithm…

… which is very tricky to do well.

It was recently rewritten, again, with the help of pakutrai (08-15 User). The test results are posted here. It’s still not perfect, but hopefully over time it can keep improving.

In any case, the thermal code isn’t really part of the UI, so it’ll likely be unaffected by the UI changes.

Given that the D4 can start fires in like 3 seconds, this is a question of full power or safety. On some lights, it can’t really be both at the same time. However, on other lights like the LT1, full power is pretty safe. So it has different settings on different lights. When it can be safe at full power, it allows full power by default in the simple UI… but when full power is definitely not going to be safe, it doesn’t.

It’s an interesting idea, but depending on the details it may be getting into the territory of becoming a different UI. Like, it could let the user customize every button sequence, similar to the YLP Unicorn, but then it wouldn’t be Anduril… it would be something else. So it might be better as a separate project.

Perhaps there could be one blinky in simple mode, but I’m not sure if people would like that or hate it.

It sounds like you should design a new interface which has these things. I’d suggest using a new name for it though, instead of Anduril.

Yeah, I don’t know of a way to make it easier to access without sacrificing something more important.

I don’t think a separate UI for biking is likely in Anduril, but a bike-specific UI could be created. For now, the closest it has is the strobe mode memory which can go directly to the bike flasher with a click-click-hold.

There are already two shortcuts to strobe from off:

  • Navigate to the strobe you want, in the strobe mode group. Then turn the light off. Afterward, a 3H action goes directly to that strobe, using the same settings you left it in.
  • For even faster access, after you turn the light off from strobe mode, click 5 times for momentary. Then simply holding the button activates strobe.

… and in the update, I’m also adding a thing to make that second option easier. Go to the strobe you want, then click 5 times to go directly to momentary. No need to turn the light off first.

Not sure about having two temperature limits in regular modes, but perhaps it could do something like set the Simple UI temperature limit 5C or 10C lower than the Advanced UI limit?

However, given the issues with factory calibration (or lack thereof), that means a much higher chance that the Simple UI would think it was always overheating. So it could be a significant usability issue for the people the update is intended to help the most.

It’s something to at least keep in mind though, since a lower limit in simple mode would help with the goal of safety.

I’d like to keep that one easily accessible, in part because I use it a lot. It’s supposed to be quick and easy to switch between ramp styles. Have heard from a few other people who switch back and forth a lot too, like what Klayking mentioned earlier.

This is much more tricky.

Probably won’t happen in Anduril, because the UI for it would be a huge pain to use. A big part of why it works the way it does now (floor, ceiling, number of steps) is to avoid setting the levels explicitly. I’ve never seen a UI implement that well without requiring a separate configurator app, and a configurator isn’t feasible on most of the lights Anduril supports.

If you can think of a really slick way to configure the levels though, perhaps it would be feasible.

I can’t add these with a firmware update. They require hardware features which don’t exist on most (or all) of the lights Anduril supports.