Welcome back! (for a little bit)
The stock D4 has a standby drain of about 0.02 mA. If I recall correctly, it goes into standby about 6 seconds after turning “off”.
When the light is awake but has the main emitters off, like between blinks in beacon mode, it uses about 4.5 mA.
The stock light’s moon mode is higher than that, like maybe 7 mA or so. I forget the exact value, but the moon level is higher than I wanted.
In newer firmware, I reduced the power used while awake. To do this, I made it under-clock the MCU at low levels, and also made it go into an idle state between interrupt events. So by reflashing a stock D4 to the latest Anduril, moon mode drops to about 1.7 mA and the between-beacon-flashes power use drops to like 1.1 mA. Also, it goes into standby a lot sooner after going to “off” mode. In most cases, standby is immediate.
To reduce standby power, you can change the fuses a bit while flashing. Basically, turn off BOD and it’ll drop standby from ~0.024 mA to ~0.002 mA. This change doesn’t really affect battery life much though, and mostly just determines whether the light will reboot after changing the batteries, or if it can go without power for long enough to swap the cells.

I’m also interested in what’s needed (from a hardware standpoint) for a good implementation of something like Anduril, Narsil, or RampingIOS on an FET+1 driver. After reading about it I really want to order an Emisar D4 right away… but I’ve got a small handful of good momentary switch lights which need drivers and I want to rehab at least a couple of those before buying even MORE flashlights. I have an embarrassing number of non-working flashlights.
As many of you are probably aware I am VERY out of the loop.
- I’ve read that a low-value resistor has been added to FET drivers in order to reduce ringing and keep the MCUs from rebooting at high currents.
- I’ve read that resistor dividers for momentary button flashlights should use high value resistors to minimize drain.
- What do I need in order to get started with thermal regulation?
- … what else did I miss?
I’m not sure what exactly was done to eliminate ringing, but if I understand correctly, it’s a resistor on the FET control pin to soften the edge of the curve a bit. It may be possible to determine how this works by looking at a recent driver from MtnElectronics or Emisar or Texas_Ace, but I don’t really know enough about circuit design to explain it.
The voltage divider can be eliminated entirely on most 4V linear-driven e-switch lights. There is no need to use pin 7 for that any more. Eliminating this reduces standby drain quite a bit compared to older designs, makes PCB layout easier, and frees up a pin for other purposes. The MCU uses VCC on pin 8 to measure voltage.
To use thermal regulation, at the moment, it needs a tiny25/45/85 MCU with a sensor built in. For running Anduril (or other FSM-based interfaces), I’d suggest tiny85. I plan to add support for tiny84/841/1634 sometime too, but I’m not sure when.
One other thing to note is, for e-switch lights, the UI development is now a lot easier than it was in the past. Take a look at the FSM UI toolkit if you have any interest in making or modifying interfaces. This allows people to define interfaces in a much more intuitive way than before, and makes it fairly easy to support a variety of different hardware.
Also, aux LEDs are a popular thing now. They’re blingy like tritium vials, except they don’t wear out and they can be turned off or turned down.
You’ve probably missed other things while you were gone too, but I’m not sure what.