GXB17 Driver – 17mm 6V 3A / 12V 1.5A Constant Current Programmable Single-Cell Boost Driver

TPS61088? The official datasheet lists 12.6V as maximum output voltage, with 13.2V output overvoltage protection. That is pretty limited for XHP35 handling, though it may suffice for just 1.5A of output.

I could be wrong about the IC, but the pictures of the assembled GXB20 look to have a similar footprint. I skimmed through the GXB20 thread and didn’t see the IC model mentioned, maybe I missed it. Will wait for loneoceans to chime in. Either way this is a very exciting driver.

Yes the GXB20 and GXB17 both use the TPS61088 boost converter. Barkuti is correct with the maximum output voltage possible is not much higher than just over 12V, which does limit output of the XHP35 to just about 1.5A in most applications. However keep in mind that the (1) I designed the GXB20 specifically for 6V 3A operation and (2) driving the XHP35 to ~1.2A will already produce 300% rated luminant flux (though with proper heatsinking etc more is just fine) and (3) the GXB17 was done over a weekend just to port the GXB20 to a smaller package!

So yes it's definitely not a 'ultimate' driver right now, but hopefully with a bit more time, I can get closer to it. :)


As for 9V output on one cell, sure it's not a problem. Just need to look into refining the component choice (if at all) and it should work just fine and at full 18W+ power output.

Finally, I note that TI just very recently released the TPS61178x which was only available for purchase just after I had designed the GXB20. This is an even more attractive IC with essentially the same power handling capability and with 20V output max in a slightly smaller package, but compromises with higher resistance internal FETs, is difficult to hand-solder, and... is $5 instead of $3 which is a significant BOM increase. I will be tracking PMICs closely and see if the future mk ii versions of the GXB20 and 17 can benefit from them.

Once I get the GXB17 up and running I hope to get some feedback from members here and see how I can make better :D

The TPS61088 is not so bad, yes not the ideal XHP35 IC, but for 6V or 9V setups it is perfectly adequate. I have been playing around with the H1-A alot recently and really like it. It is also based on the TPS61088. Taking that driver, adding a customizable UI, and shrinking it to 17mm is a big win in my book.

I also suspect you will be able to push closer to 24W output without much issue, the driver will get hot though, so probably best to have a timer on that mode.

If you have LVP on the microcontroller I would suggest going all the way down to the 2.7V allowed by the boost IC, the 3.0V cutoff on the H1-A is one of my complaints.

Would be happy to test the driver out on the bench and give some feedback once it is up and running, feel free to PM me if you’d be interested in that. Im impressed with what you have so far!


BTW, just made some calculations…
Aspire 18350 discharged to 2.8V, 3*XP-L2 W2, 80% efficient optic. Target OTF lm: 100. Ambient temp: 25 C.
Linear driver with 350 mA PWMed to 201 will run for 347 minutes.
GXB20 v1 9V 66 mA using your efficiency numbers over a smaller voltage range (98% efficient): 474 minutes
GXB20 v1 9V 66 mA assuming that it’s much worse at lower voltage (overall 90% efficient): 436 minutes

That’s a major difference….

Correction GXB20 is 93% efficient at this level. Also, I miscalculated temperature.

Linear driver with 350 mA PWMed to 203 will run for 345 minutes.
GXB20 v1 9V 67 mA using your efficiency numbers over a smaller voltage range (93% efficient): 448 minutes
GXB20 v1 9V 67 mA using your efficiency numbers over a smaller voltage range (85% efficient): 410 minutes

Still hopefully conservative 20% runtime increase.

nice numbers!

thanks :beer:


I’d like to buy several fully assembled myself!

One thing which just a while ago came to my mind with this ∅17mm and ∅20mm dual design is that, in flashlights with generous 20mm driver shelf height, it should be possible to install (at least) an additional ∅17mm driver board above the ∅20mm base one, running both in parallel. I do not really know how much would be the total driver team height, yet I suspect that even if power handling would need to be restricted for the floating board(s), this could be rather interesting for XHP70s and/or power freaks.

Of course, with this massive power handling from a 1S source a good low RDS(ON) MOSFET tail switch would be advisable/required.

Oh! Another related thing. I must admit I find a smidge bit irking the usual practice of specifying a “nominal” single output voltage for constant current drivers. In my honest opinion, I'd specify the effective output voltage range. For example: GXB17 3A 4.8-7.4V.

Now, for the folks who may complain, it is best for it to be this way so we can educate the philistines.

P.S.: wanting to check out what happens to products with poor labeling? Take a peek at those 3×3 10W “12V” led arrays at Banggood, plenty of customer reviews with fried leds after hooking them to random 12V constant voltage supplies. Just remembered this (LoL!).

Pretty phenomenal work loneoceans. Driver development has been a strong suit here in recent years thanks to members giving their time and skills to the process. It wouldn’t happen otherwise. Thank you for these

Another calculation, linear driver’s favourite 350 mA. 170 OTF lm. If I’m doing 18350 calculations, the body is small and I should increase host’s thermal resistance, so this time I’m using 15 C/W. It was 10 before.

linear driver: 200 minutes
GXB20 v1 with the measured 98% efficiency: 272 minutes
GXB20 v1 with 90% efficiency: 250 minutes

Anyone willing to order some parts and make a few drivers for sale?:slight_smile:

If you are going to do ATtiny841 firmware to share, my I suggest you use Atmel Studio and share that code instead? I know you did the 84 firmware for Arduino as you wanted to make it more accessible, but the majority of people here, myself included, learned how to flash drivers by following the many excellent tutorials here using Atmel Studio and AVRDUDE. To my knowledge, no one else here has released flashlight firmware for Arduino before. And you did say you preferred Atmel Studio, so releasing in Arduino is actually making it more inaccessible, at least for most of us here.

I have an Arduino myself, I used it to make a high voltage serial programmer, but being used to Atmel Studio I refuse to use it for flashlight firmware. I haven’t built drivers from the GBX20 boards I got from you yet. I was going to “port” your Arduino firmware to Atmel Studio for Attiny841, but haven’t gotten around to it yet. I haven’t dug into the details yet, but if I understood correctly, the GBX20 is a momentary switch driver only? Or does it have support for clicky switch only lights? I’m interested in making a clicky switch (and dual switch) compatible version of the GBX17 with Attiny841 firmware, but if you already support this I’ll just wait for yours to become available.

The problem with Atmel Studio is that it’s windows-only. If my memory serves me right, I’ve seen some Linux-specific makefiles, so I suppose not everything is going to be happy with Atmel Studio.
Porting for AS XML to Makefiles is possible; if you know what to do, it’s not very hard really. But with Arduino, you install the IDE and at least you can compile the code right away.
Personally, I did use Atmel Studio. I never used Arduino. Still, I fully support loneoceans’ choice. I’d rather learn Arduino than have to fork to use Makefiles on my OS.

All of TK’s stuff is already linux based so it should not be hard to make it work that way.

I was under the impression that the .c file from Atmel Studio could be used on a Linux environment without modifications at all. You just have to have the Atmel toolchain for Linux.

C file - yes it just works normally (if they use ASF there’s extra work, but I haven’t seen ASF use in flashlight). But you need to extract the compilation / linkage flags from the atmel studio project file and put them in makefile.

I see. Anyhow, there are a few folks here using Linux and the regular flashlight firmware that others use in Atmel so I can’t imagine it being that difficult, but ultimately I can’t say as I don’t use Linux.

What I can say is that besides the GBX20 firmware I haven’t seen a single flashlight firmware written in Arduino. In terms of being accessible to BLF members, Arduino is hardly used here. But yes, there is a world outside of BLF (so I’ve heard) so I guess Arduino is the better choice for the masses. I’ll just make my own 841 firmware once I get around to building my GBX20 boards or get some GBX17s, my Arduino is collecting dust and I aim to keep it that way :slight_smile:

Since this is open source I wonder if RMM could pick this up and be willing to sell built drivers like he does. He would be the one that could order a couple hundred boards at a time. And he uses a reflow oven he could produce a good bit at a time