Flashlight Firmware Repository

I Just tried running it straight from a battery and it works perfectly. I’m still a little confused, as my measurements show the power supply holding steady. Either way, the flashlight is working and I’m happy to finally say this project is “done.”

Thanks for the help.

I’ve also run into issues sometimes when testing things on a bench PSU instead of using a battery. It’s not usually so bad with lights, but some other hardware can behave pretty strangely with a dedicated power supply.

The PSU I’m using is limited to 5 amps, so high-powered lights hit a hard wall when they try to pull more than that. It’s fine at lower levels though. The really weird stuff only happens when I plug in devices with built-in chargers and other more complex circuits.

This is my Convoy/XinTD X3 firmware. It’s nothing that special or difficult, but since TK helped me with it I figured I’d share it here.

blf-A6 was the starting point, but as it sits all the hidden modes and mode reversing are commented out.

It still has the two mode groups.

The first group is for li-on use:

  • 4 modes, moon on the 2nd channel, then L>M>H on the main channel
  • LVP turned on

The second group is for use with the 3*AA carrier:

  • 3 modes, L>M>H all on the 2nd channel (to avoid over-drawing alkalines, ~760ma in my X3)
  • LVP turned off

Thanks! The no-LVP-on-AA trick is a good idea. I added it to the collection. :slight_smile:

Thank you ToyKeeper for hosting these shared FW's.

I haven't been keeping up with this area. Is there a place that has the UI's and operating perimeters of the various FW's and variations?

The closest thing is the repository index file, which is mostly intended for searching, not so much for reading. Beyond that, once you’ve found something compatible with your switch type and driver type, it’s mostly a matter of reading the text files included with the matching projects to figure out which ones sound best.

+1 ToyKeeper. Thank you for setting up the repository, and for the assistance you have provide in this thread.

+1!!

ugh, I’m so lost with this. I have everything (i think) that I need to flash, but I am lost. I’ve read this thread and the Star Firmware thread and it is info overload!!! can somebody point me in the right direction to a firmware that is a single mode 100% with LVP step-down. I saw one at the repository by toykeeper, but i’m not sure of the specifics as to what it does for LVP and at war voltage.

The only one I’m aware of is STAR_1mode.

From what I recall, it starts at max output, steps down gradually to a bit over half when it hits the turbo timeout, then stays at that level until voltage gets low. It then drops output by half each time the voltage gets too low, until it’s barely on, and then it finally shuts off.

The code is a little weird since it’s based on STAR and I changed as little as I could, so a lot of the code is unnecessary for only one mode. I should probably trim out the extra parts some time…

Question! Does the BLF-A6 firmware have mode memory? Mine all seem to default to the first mode.

Would it be easy to take out the excess and leave it at 100% until the LVP?

Yes, very easy. Just uncomment the definition of MODE_HIGH and comment out the definition of MODE_TURBO, like this:

//#define MODE_HIGH 255 // Can comment out to remove mode
#define MODE_TURBO 255 // Can comment out to remove mode

=>

#define MODE_HIGH 255 // Can comment out to remove mode
//#define MODE_TURBO 255 // Can comment out to remove mode

it is user-configurable. It can be set to be toggled by soldering a star, or by a soft-toggle (the same way you change mode groups). By default, it starts out no-memory.

I’m in need of help for a new-ish UI (unless somebody already has one that would work.) It is for an LEO, he wants a dual-switch light (traditional click-switch + e-switch). I just don’t know where to start. Is STAR dual-switch the best jumping point?

  • Main power button is only on/off
  • e-switch changes modes
  • single click to cycle L>M>H
  • 0.75sec hold to access fast strobe
  • single click from strobe to access slow beacon
  • 0.75sec hold to return to main loop
  • Mode memory for all modes
  • LVP protection

If you’re only using single pwm output you can use a firmware I wrote a while back. It’s very easy to use and only got pre set values.

If you don’t touch anything outside of Start/End user tweaking I don’t think you can mess up this one.

Ahhhh I’m also not using the latest version. I’ll update my firmware.

Yes, and by default you can toggle mode memory by entering config mode then turning it off between the second two blinks. Here’s a visual summary of the default interface:

STAR dual-switch is probably the best starting point. I haven’t attempted to make a dual-switch firmware, and I’m not aware of many which already exist. However, you’ll probably need to change a fair amount of the code to get the features you described.

If you don’t mind it resetting to the first mode each time, any e-switch firmware can be used on a dual-switch light. However, I doubt that’s desirable for what you described.

At first, I thought LEO meant “low earth orbit”. :slight_smile:

It shouldn’t be too difficult to add “memory” to an e-switch firmware, should it?