These are programs that I have developed in my spare time to get my flashlights working the way I want them to, and to provide an easy way for other flashlight enthusiasts to customize their UI's. While a lot of it is original, 99% of the credit for the code goes to Tido and DrJones, and a ton of credit goes out to many great members of BLF for implementation ideas (especially off-time memory). Feel free to use the programs however you wish.
Here's a link to the discussion about the firmware, with more detail about what it does provided by RMM - http://budgetlightforum.com/node/29150
If you're new to flashing your own drivers, check out this amazing page http://flashlightwiki.com/AVR_Drivers
How to download
To download the latest versions ("master") of all of the different firmware programs, just click the "tar.gz" or ".zip" images above. If you wish to download just one program, click "View on GitHub", select the folder you want, and download the appropriate file(s).
As for downloading previous versions, if for some reason you don't want the latest, well, that's a little more difficult as I didn't do any "releases" or tagging. You can click on the "Browse commits for this branch" and see what changes were made, and select a commit to view the source at that point in time.
What do these programs do?
STAR
Used for: NANJG driver in forward or reverse clicky lights without a secondary momentary switch
Features:
Ability to solder stars to change modes:
1. DUMMY STAR
2. Enable moonlight mode if connected and alternate PWM output not used
3. Specify mode order - H to L if connected, L to H if not
4. Disable mode memory if connected
- 18 kHz PWM ("fast") or 9.4 kHz PWM ("phase-correct", usually used for custom FET driver versions)
- Ability to enable phase-correct PWM up to a defined output level, then switch to fast PWM (allows for more consistent lower lows, but prevents the "whine" that 9.4 kHz can cause)
- Ability to utilize a second PWM output that is the only output used under a defined output level (allows for an individual 7135 to be powered up for a very low moonlight, without appropriate circuit layout)
- Option to have a turbo mode with the ability to step down to a lower output at a specified timeout, or gradually ramp down to a lower output.
- Mode lock time (the time the light needs to be on in order for the current mode to be saved)
- Battery voltage detection with indicating flashes and output step down by half when battery is getting low
STAR_off_time
Used for: NANJG driver in forward or reverse clicky lights without a secondary momentary switch. REQUIRES additional capacitor.
Features:
Ability to solder stars to change modes:
1. DUMMY STAR
2. Enable moonlight mode if connected and alternate PWM output not used
3. Specify mode order - H to L if connected, L to H if not
4. Capacitor for off-time determination (I use Digikey.com part number 1276-1029-1-ND, which is a ceramic 1uF 0805 X7R)
- This program has the same features as STAR, but with the next mode determination done by calculating how long the light has been off instead of how long it has been on. IMO, this makes for a much more intuitive UI, as a single "blip" of a reverse clicky while the light is on will move you to the next mode, and a very short "blip" of turning the light on with a forward clicky will not cause the light to start up in the next mode a few seconds later.
STAR_momentary
Used for: NANJG driver in always-on lights with a single momentary switch, like the SRK
Features:
Ability to solder stars to change modes:
1. DUMMY STAR
2. Not used
3. Specify mode order - H to L if connected, L to H if not
4. Switch input
- Short presses will move up through the modes, cycling to "off" and then around again
- Long presses will move backwards through the modes
- Define any number of modes you wish (within program space limitation)
- Ability to define mode order using Star 3
- 18 kHz PWM ("fast") or 9.4 kHz PWM ("phase-correct", usually used for custom FET driver versions) definable per output mode
- Ability to utilize a second PWM output definable per output mode (allows for an individual 7135 to be powered up for a very low moonlight, without appropriate circuit layout)
- Option to have a turbo mode with the ability to step down to a lower output at a specified timeout
- Battery voltage detection with indicating flashes and output step down to previous mode when battery is getting low
STAR_dual_switch
Used for: NANJG driver in lights with a power switch (usually a rear clicky) and secondary momentary switch
Features:
Ability to solder stars to change modes:
1. DUMMY STAR
2. Specify mode order - H to L if connected, L to H if not
3. Disable mode memory if connected
4. Switch input
- Master power switch (usually a rear clicky) will simply turn the light on and off - it won't change modes
- Short presses will move up through the modes, cycling around again
- Long presses will move backwards through the modes
- Define any number of modes you wish (within program space limitation)
- Ability to define mode order using Star 2
- 18 kHz PWM ("fast")
- Option to have a turbo mode that will step down to a lower output at a specified timeout
- Battery voltage detection with indicating flashes and output step down to previous mode when battery is getting low
This program has not been updated with the latest features (PWM mode selection, dual-PWM outputs, turbo ramp down) of the other programs, as I haven't even used this program in any of my lights yet. If you want these features added and I can try and get it done.
Questions?
Visit this BudgetLightForum thread and post them up, or message me (JonnyC)! http://budgetlightforum.com/node/29150