Programming Instructions

A CWF Dragon Driver or a Dr. Jones H17Fx Driver is used in the 18350 cell based designs (Malihini, Todai, Wayfinder, Starfall, Ion), an H17Fx Driver or Dual Voltage driver in the Slim designs, and a FET driver with Guppydrv Rev 1 firmware in the Hoku design.

Below you will find programming instructions for all of the aforementioned drivers. 

CWF Dragon Driver:

This is a FET driver with a secondary channel. This driver is rated from 3.0 to 4.5 volts, so only power with a single 3.7 volt battery.


3.7 volt driver
fet primary output
linear secondary output
single li-ion input only
17mm board diameter
1.6mm board thickness

Mode Groups:
1- low secondary,high secondary,ml,5,15,35,50,100
2- low secondary,high secondary,5,15,35,100
3- low secondary,ml,5,15,35,50,100
4- low secondary,5,15,35,100
5- low secondary,high secondary,15,100
6- low secondary,15,100
7- ML,5 ,15,35,50,100
8- 5,15,35,100

Reversing options(1/2second press) as follows:
Turbo--->Strobe--->Batt Check (1-8 with 8 being full) ---> Bike Indicator Strobe

Configuration Options:

To enter configuration mode, quickly turn off the light 15+ times until it starts to flash. Once it starts to flash, you are in configuration mode.

Once in configuration mode, the light will give a solid flash between 1 and 5 times. The number of solid flashes indicates the option number to be changed.

To select/change the option turn the light off and back on during the strobing flashes that immediately follow the solid flashes. When you choose option 1 it will start to flash 1-8 times, turn off and back on after the number of the group you want comes up. When setting the temperature control the light will go from programming to turbo, turn the light off when it reaches the temperature you desire.

1. Mode Group Select.
2. Memory Toggle.
3. Mode Order Toggle.
4. Temperature Calibration Mode.
5. Reversing Toggle.

Dr. Jones H17Fx Driver:

This is a custom driver board (H17F) with an enhanced version of lucidrv with some additional features. It has a diameter of 17mm with components on both sides, and provides a current of 3.0A (8*AMC7125) plus a direct drive FET for turbo modes.

Low modes (up to 13%) are driven by a single AMC7135 IC (380mA), which allows very low moonlight/firefly modes and makes those modes also quite efficient (the LED is more efficient at lower currents). Medium and high modes up to 3.0A are driven by additional 7*AMC7135. The direct drive FET allows for turbo modes of 5A and more - but that depends on the battery (use a high drain cell with low internal resistance) and on internal resistaces of the flashlight (contacts, wires, springs, switch, and the forward voltage of the LED).

  • Off-Time memory: The driver distinguishes between being off for a short tap (half-press) on the clicky to change to the next mode and being switched off for a longer time (~0.5s) so that memory kicks in (or no-memory if configured that way).
  • Two mode groups: There are two easily switchable mode groups for different situations (e.g. one for indoors with moon and low modes, and one for outdoors with high/med). Each group is fully configurable with up to 7 modes and it's own memory type (see below).
  • Programming: Each mode can be configured to a one of the 24 available (visually linear) levels of brightness. There are also some special functions which can be configured to any brightnes level, too: strobe, beacon or double-pulse blink. The number of modes (1-7) and the memory type can be configured for each group.
  • Memory:No-memory, classic memory or short-cycle memory configurable for each mode group.
  • Double-Tap mode: A quick double-tap leads to an additional (programmable) mode (e.g. high or strobe) for each group. It can also be activated fromm off by a tap immediately after clicking on (click-tap; for reverse clickies), or by a tap immediately before clicking the light on (tap-click; for forward clickies)
  • Mode locking: Select any mode and use it for a second, then activate mode lock (see below). Then that mode is locked, it won't change to next mode any more (unless you unlock it again). Good for tactical or signaling purpose.
  • Full thermal control: The driver monitors the temperature and reduces power to avoid overheating. The power is constantly adjusted to keep the set temperature constant (PID control): If the light gets hot, the power is reuced, but if for example a better airflow enhances cooling, the power increases again. The driver constantly adapts to the cooling conditions; the better the cooling is, the brighter it will be. The target temperature can be configured in steps of 5°C, and thermal control can also be deactivated. 
    Note that the temperature is measured at the driver and will be somewhere between the LED's and the body's temperature. It will reach the set temperature and start regulating down the power before the body reaches it's equilibrium temperature, which will also be lower than the (driver's) set temperature. Note also that the absolute accuracy of the temperature sensor is about +- 5°C 
    The set temperature may be exceeded for a short time after changing to a high power mode when the light is already near it's set temperature, since activating a high power mode is supposed to give high power at least for a short time. The driver will soon start regulating down to reach the set temperature again.
  • Bump proof: If mounted on a bike, bumps may cause the battery to loose contact to the driver for a very short moment, which many drivers interpret as a button tap and change modes. This driver however ignores those bumps and keeps it's mode.
  • Battery monitoring: Whenever the battery falls below 3V under load, brightness is reduced (about half). The reduced load usually brings up the voltage a bit. When it drops below 3V again, brightness is halved again - and so on, down to a very low level. It will not switch off and leave you in complete darkness though.
  • Voltage indicator: The driver can show the battery status via some blinks; see below.
  • Efficiency: The luminous efficacy of the all modes except the highest 6 brightness levels is increased by using a truly lower current (triple channel design with a low current and two high current channels).
  • Lower levels: The triple channel design also allows for a higher dynamic range of brightness levels (12 bit), i.e. more lower levels.
  • Turbo levels: The additional direct drive FET channel allows for quite high currents for the two turbo modes: full turbo and an intermediate half-turbo. Actual currents depend on the battery and the flashlight hardware.
  • 16 kHz PWM frequency: Invisible and inaudible.

Configuration menu (programming mode): Select a mode and use it for at least a second. That mode is then the selected mode for some of the actions below. Then enter programming mode by 8 rapid taps (half-presses; the light must be <0.2s on each time). You have to be quite fast, however it's no problem if you tap a few times more. 
Shortly after those rapid taps a blinking signal will be shown. This serves two purposes: It indicates that the light is now in its configuration menu (programming mode) and awaits further input, and it also serves as battery level indicator: The number of blinks indicates battery voltage, about one blink for every 0.12V above 3.0V without load (~10 is full (4.2V), ~4 is pretty empty). If you let them pass without tapping the button again, the config menu is exited without any change. 
If you want to change the configuration, you need to 'input' more taps while the blinking signal is active, the number of taps specifies the action. Note that the timing is more relaxed in the config menu; you have to be swift and uninterrupted, but by far not as rapid as the 8 taps above. However you must hit the exact number of taps. 
Some items in the programming menu have a submnu, indicated by a different blinking signal. You need to enter a nother sequence of taps then. 
Once you entered the config menu (by 8 rapid taps) and see it's signal, tap the button a number of times to do the following:

  • 1 tap: Mode lock; lock the selected mode (see above). If locked, unlock.
  • 2 taps: Switch between the two groups (also lifts a mode lock).
  • 3 taps: Set brightness. The light will ramp the brightness up and down twice in 24 visually linear steps: From #2 (moonlight) to #22 (100%) the output doubles every 2 steps, #1 (firefly) is even lower, #23 if half-turbo and #24 is full tubo. Tap once when the desired brightness is reached to change the selected mode to this brightness.
  • 4 taps: Enter the strobe/blink submenu, another sequence of 1-4 taps selects the special lighing function:
    • 1 tap: constant brightness (normal mode).
    • 2 taps: strobe (fast and disorienting).
    • 3 taps: beacon (a short blink every 4s).
    • 4 taps: double-pulse blink with oscillating brightness, i.e. does not blink on and off, but instead oscillates between high and low brightness (so the light is never off then). Not going off allows better estimation of your position/distance, while the blinking catches attention. This function is intended for cycling purposes (being seen).
    All those functions can be combined with any brightness, and changing the funcion will not change the brightness.
  • 5 taps: Add/Delete submenu, another sequence of 1 or 2 taps chooses between add or delete a mode t/from the active mode group:
    • 1 tap: add a mode. The new mode is inserted at the position of the selected mode. Example: If you have 3 modes, L/M/H (with M selected), then add a mode, the result is L/M/M/H, i.e. the selected mode is doubled, and the first of them is selected. It can then be changed by entering the config menu again.
    • 2 taps: delete the current mode from the group.
  • 6 taps: memory subenu, another sequence of 1-3 taps selects the memory type for the active group:
    • 1 tap: Set the memory type to no-memory.
    • 2 taps: Set the memory type to classic memory (cycle through all modes).
    • 3 taps: Set the memory type to short-cycle memory (after memory kicked in.
  • 7 taps: Temperature submenu, another sequence of 1-12 taps selects the set temperature (default is 60°C): 
    1:off   2:40°C   3:45°C   4:50°C   5:55°C   6:60°C   7:65°C   8:70°C   9:75°C   10:80°C   11:85°C   12:90°C
  • 10 taps: Reset all configuration options to their factory defauls.
  • 12 taps: Toggle prog-lock, disables programming the light. Mode lock and switching between mode groups (1 or 2 taps in the config menu) will still work, also 12 taps again to unlock, but all other config options won't.

Table of ramp steps:

The steps 1 to 16 strongly profit form the higher efficiency at true lower currents, the luminous flux is thus a bit higher than the percentage values indicate. 
The lowest values depend on hardware manufacturing variations and thus vary.

Hoku FET Driver:

FET driver with guppydrv Rev.1, default programming 1% - 25% - 100% w/ memory 

This firmware allows the ultimate in user customizability, with 24 built-in mode groups, that the user can select via a series of twists or bezel presses and a userprogrammable turbo timer that will automatically step the power down to 50%after the set time is hit.

Low voltage protection: With 1S cells (non-zener mod) the light will begin to step down output at around 2.8v under load. The light will not shut completely off, but will continue to run at a moonlight level.

Zener mod drivers will have no low voltage protection with guppydrv. If you want low voltage rampdown, please choose one of the standard or custom firmware options.

User Selectable Groups:

1 - 1% - 25% - 100% | Memory

2 - 1% - 25% - 100% | No Memory

3 - 100% - 25% - 1% | No Memory

4 - 1% - 25% - 100% - Strobe | No Memory

5 - 1% - 25% - 100% - Strobe | Memory

6 - 10% - 100% | Memory

7 - 10% - 100% | No Memory

8 - 100% - 10% | No Memory

9 - 100%

10 - 100% - Strobe | No Memory

11 - Strobe - 100% | No Memory

12 - ML - 2% - 25% - 100% | Memory

13 - ML - 2% - 25% - 100% - Strobe - Beacon | No Memory

14 - ML - 100% | No Memory

15 - 100% - ML | No Memory

16 - ML - 100% | Memory

17 - ML - 1% - 5% - 15% - 40% - 100% | Memory

18 - ML - 1% - 5% - 15% - 40% - 100% | No Memory

19 - 100% - 40% - 15% - 5% - 1% - ML | No Memory

20 - 100% - 40% - 15% - 5% - 1% - ML | Memory

21 - 1% - 5% - 15% - 40% - 100% | Memory

22 - 1% - 5% - 15% - 40% - 100% | No Memory

23 - 100% - 40% - 15% - 5% - 1% | No Memory

24 - 100% - 40% - 15% - 5% - 1% | Memory

Programming Instructions:

An easy way to program the Hoku Twisty is to slowly twist the head until it just turns off. You should then be able to press on the side of the head and it will act as a “button” turning the light on andoff, making it easy to program.

To enter programming mode on the Hoku Clicky, the light must be switched on to start. Once on, proceed with the folowing instructions.

To switch mode groups: rapidly tap the switch 8 times, the light will then enter the programming mode and begin to flash. With the light in programming mode, tap the switch the same number of times as your desired mode group. The light will blink and your mode group will be memorized.

Example: To select mode group 3, tap the switch 8 times quickly to enter programming mode. As soon as the light enters programming mode and begins flashing, tap the switch three times. The light will blink to recognize the mode group change.

To set the turbo timer: rapidly tap the switch 8 times, the light will then enter the programming mode and begin to flash. With the light in programming mode, tap the switch 30 times to enter the turbo timer set mode. The light will then switch to 100% power. When the light is at the desired temperature for the turbo step down, turn the light off. The turbo timer will then be set. The turbo timer steps the light down to 50% regardless of the mode group set.

Convoy Dual Voltage Driver

1. The flashlight is powered by a 1.5V battery or a 4.2V lithium battery. Switch the flashlight on or off by the tail switch (full click) or switch mode (Half-press).

The maximum output current is 0.5A when using a 1.5V battery, and the maximum output current is 1.5A when using a 4.2V lithium battery.

2. Battery judgment function: When the voltage is above 2V, it is judged as a 4.2V battery, and when the voltage is below 2V, it is a 1.5V battery. It does not turn on when powered on by 2-2.8V.

3. Low voltage protection. When using a 4.2V battery, the voltage will flash 3 times slowly when the voltage is lower than 3V and it will automatically shut down when the voltage is lower than 2.8V. When using a 1.5V battery, there is no low voltage protection.

4. At 4.2V, strobe (100%), slow flashing (30%), beacon (30%), battery detection (1%) SOS (20%), the above is the maximum brightness ratio.


If flashlight is turned off, tap the switch 20 times quickly to enter into programming mode. The flashlight has no visual interface. It flashes to represent an option, and "tap the switch in the flashing process" means to select the option.

Option 1 (normal-flash 1 time + buzz-flash):tap the switch to enter into sub-option to select the mode group, If the user provides no input, the programming mode will enter option 2.

Sub-option 1.1 (normal-flash 1 time) : tap the switch to select mode group 1 (1%, 10%, 30%, 100%)

Sub-option 1.2 (normal-flash 2 times) : tap the switch to select mode group 2 (1%, 10%, 35%, 100%, strobe,biking, battery check)

Sub-option 1.3 (normal-flash 4 times) : tap the switch to select mode group 4 (100%, 35%, 10%, 1%)

Sub-option 1.4 (normal-flash 5 times) : tap the switch to select mode group 5 (1%, 20%, 100%, strobe, biking, battery check, sos)

Sub-option 1.5 (normal-flash 6 times) : tap the switch to select mode group 6 (1%, 20%, 100%)

Sub-option 1.6 (normal-flash 7 times) : tap the switch to select mode group 7 (100%, 20%, 1%)

Sub-option 1.7 (normal-flash 8 times) : tap the switch to select mode group 8(1%, 10%, 50%, strobe, biking, battery check, sos)

Sub-option 1.8 (normal-flash 9 times) : tap the switch to select mode group 9 (1%, 10%, 50%)

Sub-option 1.9 (normal-flash 10 times) : tap the switch to select mode group 10 (50%, 10%, 1%)

Sub-option 1.10 (normal-flash 11 times) : tap the switch to select mode group 11 (20%, 100%)

Sub-option 1.11 (normal-flash 12 times) : tap the switch to select mode group 12 (100%, 20%)

Option 2 (normal-flash 2 times + buzz-flash): tap the switch to activate the mode memory or inactivate. If the user provides no input, the flashlight will enter into the last mode.

Battery-check instructions:

<2.95V 1 flash,
2.95-3.25V 2 flashes
3.25-3.55V 3 flashes
3.55-3.85V 4 flashes
>3.85V 5 flashes

Notice that there is no battery-check function if flashlight is powered by the 1.5V battery.

Lumen output is estimated at 500 lumens when using a 14500 3.7v cell and 200 lumens when using a standard AA cell.