What is a UI

A user interface is the way that someone interacts with a device. In the case of flashlights, it’s normally by 1 or more switches that are pressed. Historically flashlights only had 2 modes: on and off.

With more complex electronics allowing for different modes, different user interfaces are required. Flashlight UIs allow you to turn the light on, off and switch to different modes all with 1 switch.

A UI can be the different between a flashlight staying on a shelf or being used regularly.

Different switches (e-switch, physical, both)

Lights can have 2 types of switches: physical switches and e-switches. A few lights include both.

Physical switches

Physical switches are the most basic and work like a conventional switch. All the current flows through the switch when it’s closed (the light is on) and the light is off when the switch is open. Physical switches remember how long they’ve been on or off for (usually with a capacitor) and change modes if they detect multiple presses in quick succession. For example, a light might be in the low mode but change to the medium mode if you turn it off and on again quickly. Physical switches are usually on the end of a flashlight and break the circuit between the cell’s negative end and the flashlight tube.

Physical switches come in 2 variants: forward clicky and reverse clicky. This is purely a mechanical difference to do with whether the switches latches while the light is on or while it’s off.

Forward clicky switches turn the light on before the switch latches. This means you can half-press the switch to get a “tactical” momentary mode. This is useful when the light is off for turning the light on for just half a second, so you can then press the button again to change modes.

Reverse clicky switches turn the light off before the switch latches. This means they have to be fully pressed to turn on, so there’s no tactical momentary mode. Once they’re on though, reverse clicky switches can turn a light off momentarily without fully depressing the switch. This is useful for changing modes once the light is on.

Generally forward clicky switches are found in more tactical lights and reverse clicky lights are found in everything else.


E-switches are on a separate part of the circuit to the LEDs. This means they don’t need to handle high currents. They can be placed anywhere on a flashlight, though usually they’re near the head as it’s difficult to get additional 2 wires to the tail of the flashlight. E-switches can work without interrupting the light being on, so allow for fancier UIs than physical switches.

Mode memory

When you turn a flashlight on it could be in 1 of a few different modes (eg high, medium or low). A flashlight with mode memory means it will turn back on in the same mode that was last used. If you remember what mode you left it in then mode memory is a great way to have a light that’s customisable to your needs.

If you normally forget what mode you left it in (like me) then mode memory is just as good as random mode. If the light has a few modes then you may try to switch to the brightest mode and overshoot it. I’ve done this a few times and had to cycle all the way through the modes again to get to max brightness.

Personally I like to be able to turn a light on and know exactly what mode it will be in without requiring to remember how the light was last used. This requires a light without mode memory, or one with mode memory disabled.

The worst kinds of lights have “next mode memory”. The always turn on in the next mode, even if it’s been days since you last used the light.


Lots of lights come with strobe modes. These are useful 1% of the time, so a good UI should not force you to cycle through the strobe mode if you just want to change brightness.

The worst case is when a light has next mode memory and a strobe mode. That means that if the light was last used in high mode then the next time it’s used it’ll be in strobe mode.

Here’s an example light that you should avoid:

Don’t buy a light like this


As well as wanting flashlights to be as bright as possible, having a low mode of 1 lumen or less is useful. This can be used for finding your way around in the house at night without spoiling night vision or waking others up. These low modes are often called moonlight, sublumen or firefly mode. If a flashlight doesn’t have a moonlight mode then it isn’t so useful as an every day carry (EDC) light. 1 lumen is about the highest acceptable brightness for a moonlight mode, though many are 0.5lm or less and some have multiple sublumen modes going as low as 0.01lm.

Good e-switch UIs

If you’re looking for a light, then I’d recommend one that has a UI like this. If you’re designing a flashlight (and can’t just use Anduril) then this is a good place to start.

Click on, click off

A good UI is easy to use. You want to be able to hand your light to someone and for them to be able to turn it on and off without having to explain any combinations of clicks or for the light to do weird things.

Lots of lights follow this, though a few force you to hold down the switch to turn it off. Hold for off is frustrating and can even be dangerous if the light gets hot.

If the light doesn’t have mode memory then the default mode should be somewhere in the middle (as long as there’s a shortcut to low).

Changing modes

Once a light is on, changing modes is usually done by holding the switch. Modes normally cycle from lowest to highest, then back round again to low.

Different modes should be spaced out evenly. Light is perceived roughly exponentially, so 1-10-100lm is better than 33-66-100lm. Lots of modes means you can get just the brightness you want and don’t need to waste the cell. Too many modes and a UI can be awkward to use. Between 5 and 7 is common.

Shortcut to turbo

Double click for turbo. Getting a light to its maximum brightness should be quick and predictable, whether the light is on or off.

On some lights turbo overheats quickly, so it’s sensible to keep it out of the main mode cycle.

Once a light is on turbo, ideally it should be possible to either double click or hold to get it to change modes. Some flashlights require turning off to get out of turbo, which isn’t helpful.

Shortcut to low

Often you want to access the moonlight mode without being blinded by thousands of lumens. A shortcut to the lowest mode is the answer here.

With click and double click taken up by other functions, holding the switch from off is the standard action for low. This can either be momentary (turning off when you release the button) or can start to cycle modes after it’s been held down for a couple of seconds.


Lights in pockets can turn on when you don’t want them to. This can either be avoided physically (twisting the flashight end a bit to disconnect the cell) or electronically. Electronic lockout is usually enabled and disabled by 3 or 4 clicks.

Great UIs (Anduril)

Flashlight UIs have been refined over the years. Many manufacturers are now using the open source Anduril firmware and UI from ToyKeeper. Anduril is highly customisable and provides all the features above and also:

  • Optional smooth ramping of modes, instead of fixed steps
  • Ramping up and down modes
  • Momentary mode
  • Battery check (blinking out different numbers for cell voltages)
  • Temperature check
  • Sunset mode (fades out after a time)
  • Adjustable beacon
  • Candle mode and lighting mode (flickering effects)
  • Bike flasher (on all the time but does a couple of extra bright flashes every second)
  • Adjustable strobes

Despite being so powerful, Anduril is easy to use: the basics is click on/off and hold to change brightness. Here’s the official UI diagram explaining Anduril:

Anduril user manual

Join the Conversation


Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: