Hey folks i want to drag flash lights into 2026!

I’m a programmer, windows using Delphi. Assembly here and there but always had a love for flashlights, from the moment i bought a fenix years and years ago, but throughout the years i migrated from software to hardware via arduino and firmware so i figured time to combine my two passions and create something new and refreshing

But before i embark on that journey, i thought i’d explain, discuss it and if nobody cares, shelve it lol

I’ll keep it as simple as possible, I’m going to create open source firmware that reads short very simple script like commands and will have to be sent via the uart pins, or a bluetooth module to remotely control it, send it new scripts via an app, there’s a lot to do

So, let’s say you buy your new flashlight, but oh no. New stupid interface to learn. All i want is low, off turbo, high or simply ramp up and ramp down, no flicker, candle light, bat signaler…

But you’re out of luck..

With bluetooth or access to the data pins, you could copy and paste your script

SC,low,off,turbo, high

So single click would give low, single click again would give off and so on

Awful… but if that’s what the client wishes his flashlight to do, you send it done, you could do indoor script/outdoor script as you leave and adjust the max brightness down by 60%

Check the time, is it dark, switch to night mode, with BT, remote control it

LC = long click
SC = single click
DC = double click
2DC = 2 double clicks
Menus

3DC, lightning,1DC, maxBrightness, 2DC, Max, LC, ramp up, ramp down, 2DC outdoor,indoor

Etc etc

Because it could get ridiculously large for an attiny85 in the future esp32, wifi, bt could be used, but for now, the “best” can all be thrown together as a script

But any problem you ever had from any manufacturer because the ui is never perfect, well i want to solve that, maybe this has already been done

I don’t know, but who’s got any um, no thanks and who’s bring it on? If it’s not already been done

Thank you for your time!

3 Thanks

It’s a pleasure to know you, cjdelphi!

1 Thank

Sounds pretty similar to the FastTech FLEX Asgard from 2013:

The Lux-RC flashlights also support programming modes and configuration from a phone (or any other screen), without wires:

4 Thanks

Ah yes. I see the overlap

The difference being you talk to the firmware directly if you could save all those commands you configured as script and then you could just copy and paste it. Really easy to do via bluetooth

What I’m suggesting is very much shell, command line, scripting but it could get pretty powerful

For example

9dc: min brightness, ramp min to high, steps 255, delay 50, ramp high to low, steps 10 delay 50

So 9double clicks it will ramp from min to high with a delay of 50ms off 255 different brightness levels then it will do the reverse but from high to low in 10 steps being much quicker and a harsher gradient

This is python for your flashlight vs an app with bluetooth. Cheers for the info i shall check them out!

1 Thank

Cool idea. I’d be interested in something like that. Depends on the price of the hardware.

I’d suggest not the going the CLI route. I can program and I manage a few linux servers. I don’t want to remember CLI commands for my flashlights. Just additional friction on top of doing a driver swap and busting out a laptop to program it.

There are flashlight drivers with an interactive shell via UART. :blush:

1 Thank

You really need something of a state machine, because commands easily overlap.

Eg, doubleclick from on, from off, within blinkies, when in turbo, etc.

Also memories. Do you want blinkies to be sticky (memorise strobe/sos/beacon) or always start from X?

Making it retard-proof. Press’n’hold from strobe. Go into ramping up/down?? Other undefined sequences?

Redefining the same sequence in different places. Detected? Prevented?

Scripts are usually flat. Context usually requires something like a state machine. And usually something graphical, like the “bubble diagrams” you often see.

1 Thank

Such as? No point reinventing the wheel!

The script once made can be uploaded to any flashlight with this firmware, as far as the user is concerned, they don’t even need to script, they can copy someone elses or get an app to spit out somsle code they can copy and paste

What it can do vs what the end user knows and can do doesn’t matter as long as someone can

As i said. If you want a flashlight that has 2 states, on/off you could have

SC:on,off

A single click brings it to max brightness (which ramps down if it overheat and a single click turns it off

If you wanted a blinky as as well

SC:on, off
2DC, blinky light functions

There are no blinky lights, nothing complicated unless that’s the script you want to upload, this is not firmware, it’s a script, you could literally copy your friends script and copy to yours, just as long as both flashlights run the same firmware

I would love to see flashlight drivers incorporate BTLE so that we could more easily update firmware. I would probably try writing my own firmware to program exactly the interface I want (I would likely start with a local fork of Anduril).

The biggest thing stopping me right now is that it’s just too annoying to deal with flashing pads lol.

I’m not sure how compelling the scripting interface would be for me but I would probably want to develop a small app that let me customize each of the modes.

One example, my current understanding of Anduril is that you can specify the floor and ceiling and how many brightness modes you want, but you can’t specify the exact levels on a 1-150 scale. So I might be able to specify that I want 5 levels total, with moonlight at 5 and the highest level at 130, but I couldn’t specify the middle 3 levels to be 20, 40, 80.

In that one specific way. Zebralight UIs are pretty cool but they are also pretty darn cumbersome to program so it’s not like something I want to regularly fiddle with. I basically set it and forget it.

There are a number of other benefits of a bluetooth interface that go beyond programming. It would be great to have an app which can obtain the current status of a driver. Anduril is great for changing settings but you are more or less on your own in knowing which setting each light has. You can read out the battery voltage, which is great, but wouldn’t it be cool if you could open an app and see exactly what settings you currently have, what your battery level is, etc.?

1 Thank

I want to drag flashlights into 2026.

Oh, with a subscription service! You get one month of Turbo for free, but after that you have to pay €3/month to unlock the full Turbo performance.

There’s also a €6/month “Turbo Plus” plan with up to 30 seconds of Turbo mode, and the new “AI Turbo 4K,” which automatically detects when Turbo is needed and activates it for you.

Of course, all of this requires a proprietary app and an account so they can spy on you and send you unnecessary notifications.

And don’t forget to gamify it:

“You used your flashlight for 3 days in a row for over 1 hour per day. You’re in the top 98% of users!”

“Recharge before 12 AM to continue your streak.”

“Achievement unlocked: Regular Charger.”

Of course, this is all a joke, but it’s honestly how I feel about so many 2026 products that come with too much “smart,” “AI,” or “app” functionality for things that never needed it in the first place.

That said, I have a Miniware soldering iron that’s powered over USB-C PD, and I actually think it gets this right.

When you plug it into a PC, it shows up as a USB flash drive. There’s a simple .txt configuration file that you can edit with any text editor. From memory, it’s something like:

DefaultTemp=330C
PreheatTemp=150C
StandbyTime=30s
AutoPowerOn=Y
AutoPowerOff=Y
TemperatureUnit=C
MaxPower=65W

No app. No Wi-Fi. No Bluetooth. No account.

It just uses the USB-C port that’s already there and works on basically every computer.

I wish more devices—including flashlights—worked like this. If I want to customize the UI, thermal limits, or default brightness, let me plug it into my PC, edit a text file, eject it, and be done. It’s simple, future-proof, and doesn’t depend on some app that will inevitably stop being supported in five years.

6 Thanks

Ha! Don’t give [insert your most hated light company here] ideas on light enshitification!

2 Thanks

Please shine your light against s white wall and watch 3 minutes of Geico ads to use this app for another 40 minutes.

3 Thanks

That would actually be pretty sweet, depending on how feature rich you could make it.

2 Thanks