Reverse-engineering progress so far:
- have worked out most of the circuit (will add diagram later)
- design is QX9920-based, but configured in a rather odd way to make it boost rather than buck
- as a result, the switcher only has a duty of about 50% (half the time 'charging' the inductor, the other half of the time 'discharging' it). I don't think I can change this.
- the 'off' time of the QX9920 (LEDs are ON in this cycle) is fixed using a capacitor. The 'on' time (LEDs off, inductor charging) is controlled by low-side current feedback sense.
- currently, the LEDs get pulsed with about 2.3A for 50% of the time, which is not much. XM-Ls are specced up to 3A (assuming they don't melt first).
- the microcontroller runs the QX9920 at about 80% duty making the light even dimmer. I wonder if the designers had trouble keeping the LEDs cool at 100%?
- so 2.3A at 50% x 80% duty puts the light output at about 1000 lumens total (at low-ish temperatures). Certainly not the 2300lm it was advertised with!