Tom E, good to know that. Thanks.
Ya voltage sag is annoying. I think MT03 TA really needs better cells like 4*21700 for its Turbo mode.

TA, it is probably my addiction for Turbo mode and I notice I recharge my battery quite soon at about 3.7 to 3.8v for MT03 with TA driver. It could be contact issue too because I use magnets as button top, I should measure the resistance of the magnets. To squeeze more juice from the batteries so I kind of ignore LVP and put the light back to Turbo.

MT03 TA is such a fun light with so much output with such a small size. So I use it for fun only. :sunglasses:

Is the voltage measurement on the battery or on the LED forward voltage?
Since LVP kicks in, doesn’t it mean it see about 6V? And at 6V, XHP70.2 consumes about 4A current, total 12A current for 3 LED, so it should be about 6A per 18650 cell.
I looked at Sony VTC6 discharge graph by HKJ, it is almost empty when it reach 3V with let’s say 5A discharge current. But I found that my VTC6 are all about 3.7-3.8V and it only takes about 1400mAh to fully charge them. It has still 50% of charge in them.

I wonder what will be the voltage if the the driver is measuring with two wires directly connected to batteries, I mean not sharing any path with the LEDs.
My VTC6 all measure about 15-20 m ohm by charger. They are much lower than my other Samsung 30q which is about 50m ohm.

Again, measuring 6V could be the batteries are discharging let’s say 10A and voltage sag due to that. But LED is seeing more than 6V else it won’t draw 10A from battery.


Neither. It’s measured at the MCU. So it goes from the battery, through the led and into the driver. wrong driver, I corrected in next post.

I think you’ve got this all mixed up. I’m not really following your logic here. Maybe someone else can understand.

I’ve found that there is a big difference between 3.7v and 3.8v. The batteries can run a long time a 3.8, but once it gets down to about 3.70 I think you’re well below the 50% mark. I would strongly suggest recharging at this point. Of course you can still run at low brightness levels for a lot longer, but you’re not going to be capable of using Turbo.

Ok, this is an MT03 using TA's MT03 driver. The MCU should be measuring voltage from the batteries thru the voltage divider resistors - the LED's are out of this loop. If the cells do sag under load, then yes - the MCU will see the sag. The MCU itself can't run on 2S batteries so there's an LDO on the driver to drop the voltage - it comes in regulated thru the LDO and therefore it's unreliable to measure that voltage source and that's why the voltage dividers must be used -- this is unlike our typcal 1S drivers like in a Q8 or Astrolux S43 or Emisar or Fireflies lights. So for example, with the cells at 3.5V, 7.0V comes into the voltage dividers and should be properly scaled to 3.5V for the MCU to do it's LVP thing...

Now TA's MT03 driver is kind of/sort of proprietary, at least as I understand it right now, and haven't traced it out but it should still be using a voltage divider circuit consisting of 2 resistors wired into an I/O pin of the MCU. This is how we always did our custom BLF 2S drivers like for the Convoy L6. 2S setups requires an extra I/O pin for battery voltage monitoring.

The MT03 driver is basically the same as the rest of the 2s+ TA series when it comes to pinout. It is mostly layout changes to handle the 40a+ currents I was seeing, the old designs had big issues with voltage ringing/spikes but the new one fixed those.

Also the change from using 7135’s which are very unreliable at 2S voltage to an FET + resistor bank.

It does indeed use a voltage divider, the same setup as the GT buck driver actually since it has lower parasitic drain.

Okay, I had to take a look at the driver layout. (I hope this is the correct driver DENGOH is refering to) Yep, the MCU is getting voltage from the battery before the led through R5. I was thinking of the other style of TA driver where the positive wire goes from the battery spring straight to the led.

So it looks like R5 (4.7 ohms) sends battery power to the LDO which sends regulated power to the mcu, not good for measuring voltage.

I assume R1 or R2 has to be part of the voltage divider network (Correct). I don’t know where that via is going. (Pin 7)

Question, once the led is turned on, don’t you get the voltage sag throughout the circuit? Does it matter if the voltage is sampled before or after the led?

It would really help me understand better if someone could label the mcu pins on this particular driver.

I see:
Power is top right
Ground is bottom left
Switch signal is labeled

4 other pins use vias so I have no clue.

Is the top left even connected? Doesn’t look like it.

Even when the spring is bypassed directly to the LED’s the voltage reading for the MCU is unchanged. The high current travles through the wire and not the spring which is what feeds the MCU. Technically bypassing the spring could see a bit lower voltage sag.

You are correct, it does not matter where the voltage is sampled in the big picture, the change is so small it really will not effect anything.

R1 is after the 4.7 ohm resistor - not sure if that makes much difference but might be a factor, but someone could do the math, but either way, it could be accounted for with the resistor values or by the firmware. The via off of R1 should go to pin #7 of the MCU. Usually we use pin #7 for the voltage divider.

Ohh - the top left pin is pin #1, counts up around CCW from there. In our designs pin #1 is left unconnected. If we used it as an I/O pin, our normal USB programmer dongle could not be used - we would need the better, more $$$, dev kit.

The 4.7ohm resistor has virtually no effect since the resistance of the divider is so very high.

Pin 1 is unconnected, you just can’t see it due to the silk screen.

I think this is correct so far.

You just have to watch out for the dot on the MCU because it does get rotated between different Driver Designs.

Pins 3, 5 and 6 have to control channels 1, 2 and the switch led. I bet 3 does the switch led.

From discharge graph by HKJ, it shows battery still have more than 50% of capacity at 3.7v. Let’s say at current 5A, it takes 35 minutes to fully discharge a 3000mAh. it reach 3.7v after about 12 minutes. It still can discharge at 5A for another 23 minutes. You can check the link below:


For my case, I still can use turbo mode, just that every 5 seconds or so it will step down due to LVP. So I keep putting it back to turbo mode when it step down. It is strong and bright turbo, not those weak turbo when batteries are flat.

You could just disable LVP by drastically changing the voltage divider to never enter LVP. Or in the firmware I think there is an option to disable it actually.

The voltage sag could easily be 0.2-0.4V after the resistive losses are taken into account on turbo (aka, the voltage lost in the springs ect).

For this MT03 TA driver, it is R5 which has 4.7ohm.
I have replaced the R1 and R2 with 1% resistors. I use 357k ohm for R1 and 46.4k ohm for R2. Voltage measurement of this hot MT03 is much better now. LVP still alerts earlier than the other MT03 though, but I think that is due to higher current draw causing voltage sag.

I was hoping to disable the LVP via UI, but could not find any info on it. When you say firmware, you mean modify the source code and recompile it right?
Ya, I was thinking if there is another path reaching the batteries for voltage measurement, could it be better for LVP feature. It will measure without resistive loss.

Last night I make a swap on battery tubes between my two MT03. The one with higher brightness is still about 10-15% brighter as shown in lux meter. Visually it is obvious too when shoot on wall side by side. I think it is due to two things below:
1.It has 6 wires into MCPCB while the other has 2 wires into MCPCB
2.It uses Infineon BSC009NE2LS5ATMA1 while the other uses Vishay SIRA60DP

Yes, those 2 things would cause a difference in output for sure. I would not worry about it too much or you can upgrade the dimmer one with thicker wire and the better FET.

Also, the XHP70.2 tends to loose some lumens over time, so the more used light will generally be a little lower lumens.

That is the dilemma I am having.
I like the brightness but it really heat up very fast. Play time is really short. Also it has this earlier LVP alert thing.

May I know what is the value of R1 or R2 that I can change to make it offset like say 0.3V? Just to compensate the resistive loss during turbo mode.

But one thing is that the voltage of HKJ graph is voltage under load. Of course it shows it still have way more juice left since it can still discharge for another 23 minutes. If the test stop at 3.7v, its resting voltage will be much higher than 3.7v for sure.
Mine is resting voltage that I measure with multimeter. But my charger indicates it charges them to full with about 1400mAh of charge.

I was actually mistaken, the XHP70.2 MT09R uses the 360k/47k voltage divider, it is the XHP35 that uses the GT buck config.

In this case you could increase the 47k to around 51k and that should reduce the LVP around 10% I think although I have not done the calculations.

Thanks. I made some calculation below, I will try 50k ohm first.
Basically i try to make mcu seeing 0.693v that FW will take it as 6v, hence 3v LVP alert and step down.
With R2 as 50k, 5.7v will make the resistor divider having 0.695v, MCU will think it is 6v although it is already 5.7v, that is 0.3v below 6v.
Hope this theory works. I think best way is to have different LVP limit or offset level for turbo mode especially for flashlight having 10+A current draw.

Now it blinks 4 for 3.8v batteries and blink 4.4 for 4.14v batteries. R2 50k ohm makes it having 0.2-0.3 offset.

Update:LVP kicked in, blink and step down from turbo, take out batteries and measured 3.22v. Last few minutes of turbo were not crazily bright like fresh batteries though.