[[ GXB20 Driver – Homemade Constant Current Programmable XHP50 Single-Cell Boost Driver! ]]

Loneoceans, there is a similar project in Russian forum , but with low current button.
http://forum.fonarevka.ru/showthread.php?t=31892

http://forum.fonarevka.ru/showthread.php?t=31484&page=3

Low current button has several advantages for example the function of beacon ,gradual increase /decrease of brightness and so on can be realised

As I know there is no such drivers on BLF.

Ramping is something i absolutly like in a flashlight Firmware. Like the Narsil FW (Q8, PMS SEND TO THOSE WITH ISSUES BLF soda can light - #2 by The_Miller).

Hi Loneoceans,

This is indeed a very impressive first thread! It addresses exactly what I am currently looking for.

I want to put a Nichia 144AM from the BLF group buy in a single cell light. The only driver I have found so far that is at least capable to deliver 2.5 A is the FX35 from Kaidomain.

However, I absolutely do not like the 5 modes with strobe and so on. Short question here: Is it possible to change the firmware on that one?

I am really looking forward to seeing the GBX20 or GBX17 become a series product! I’d be in for a couple of these!

Welcome Loneoceans you’ve sure have made a great first impressions, absolutely amazing, a weekend project?
Wow, wondering what your capable of in a week?

I would definitely be interested in a few. Just getting into modding flashlights and love it! :smiley: Just bought a SMD 862D+ rework soldering station today.

My Atten 858D+ is on the way, too :slight_smile:

Sweet! I love new toys that make fabricating easier :smiley:

Hello all,

Again many thanks for all the kind words! I've been pretty busy lately but I managed to do some comprehensive testing across 20 power level settings which folks might be interested.

Before that, I want to say that I really appreciate all the comments and feedback I've received. But I'd like to reiterate that I never designed this project with an intention to sell them and make a profit, nor to produce a 'commercial' product - this was just a project I did just for fun and I did not plan to develop this extremely comprehensively and be fully featured, as I would have if I had designed this as such. As a result, I understand this driver has many flaws and 'lack of features', but I hope you can understand the motivations of the project! :) Some of you have pointed out some of the nice Russian drivers - they look great and a lot of respect to the folks who have made it as well! I'm not making this as a competitor, just making this driver as a fun project. And if people like it and would like to use the driver (with its particularities and feature (or lack of) set), or to continue to develop it, I'm more than happy to help!

That said, given the big interest, I'll try to work a bit more on this driver and see if I can create a nice 17mm version when time allows. The use of a fairly powerful MCU also opens a lot of possibilities like soft-buttons and other features. I also made a whole bunch of PCBs (since making a batch is the same cost as making 1!), I'd be offering some for sale soon once I make sure the driver is actually worth putting into a flashlight , so do let me know if you're interested. As a side note - what's the typical implementation of a soft button on flashlights and what should I design it for? E.g. are there any popular hosts I can take a look at that you can recommend?

Ok so back to the test!

The test was conducted as follows. The driver was hooked up to a constant voltage programmable Agilent power supply. In this case I conducted the test at 3.7V in across the range (driver was also tested at a variety of input voltage from 4.5V to <3V but less comprehensively). Input current and voltage was measured via Kelvin terminals to avoid errors due to lead resistances. Output current was measured across the load resistor as well as the output to find total driver efficiency.


A total of 20 constant current levels were tested and measurements taken.

Above shows a photo of the test in action. The XHP50 LED was mounted on a 20mm star heatsink, which was in turn mounted on a big heatsink to keep it cool during tests. As a side result, the data will likely be inaccurate as the LED die temp rises, but I really don't have so much time to do a full datasheet-style test

Here's an example scope shot showing the driver output at 5 different power levels. This was achieved by configuring the on-board MCU to run a 'test program' during startup at different power levels for 1 second each. Cyan shows output voltage and yellow shows voltage across the current sense resistor. Regulation is fairly clean, as expected with the very high switching frequency.

In this test, the maximum power tested was a massive 22.4W into the driver, driving the XHP50 LED at a measured 3053mA. At this power level, just putting my finger near the LED light feels very hot! Based on the specific bin of XHP50 I had on hand, this translates to a datasheet lumen output of around ~1700 lumens. Lower CRI bins less than this 90+CRI one used should yield close to 2000 lumens. As mentioned, heatsinking becomes very critical at these levels.

Maximum efficiency was measured at around 98+% efficiency at lowers loads of around 750mA out.This drops gradually to 87% or so at 3A output, meaning about 2W dissipated in the driver itself! Most of the heatsinking of the driver occurs through the ground ring around the driver so mounting it in a host properly is also critical. Increased temperature after longer runs will certainly affect the efficiency though. In all the driver seemed to regulate current just fine all the way up to the maximum 3A load. Finally, keep in mind that this efficiency number should probably be treated more as a guideline. I expect the efficiency to actually be better since there probably is non-trivial ohmic losses in connection points / spring, and a properly seated driver in a good host with a good switch should do a little better. So this efficiency is the measured system efficiency, driver efficiency should be a little higher (esp on the high currents). Finally the shape looks roughly in-line with my simulations should it at least gives me a good confidence in my measurements. Overall approaching 90% system efficiency is still pretty good for me!

In reality, I will likely turn operating current down to closer to 1.8A for a total lumen output of just around 1000 lumens of 90CRI light! This is due to the relatively poor heatsinking design of the host. Perhaps one day I'll mod this into a 'real' flashlight!

Overall I'm quite happy with the results as they are around the ballpark of what I expected, and most of all, I'm very glad that I didn't mess up the PCB (which is pretty rare given that this is my first run!). The next step is to work on the firmware for modes, and finish a more detailed write-up on the driver. I'll also be finally putting this LED driver into a host and do some beam comparison shots with the stock 'LatticeBright' LED and its driver, with this new driver!

More to come soon and thanks for reading.

Amazing work loneoceans and love the testing. :+1:

:beer: Wow, you’ve really hit a home run here. I’m pretty sure you can find a company to further the developement and bring it to market. You might hook up with a local member or three for testing and feedback but it would be worth your while to connect with some of the more avid and skilled driver gurus to gain insight into the pulse here. Aside from the dimple in the bottom the main difference between sinkpad and Noctogon is trace width(Noctogon having much wider traces) and hex vs round. There are some lights that take 20 mm drivers but more common is the 17mm size which is a big hit in acreage. Until recently almost all the DIY programming was done with the Attiny 13A but in the last year or so the trend has been towards the 25/45/85 or the much smaller mmu mcu’s where space is at a premium(10-15 mm drivers). Rich(RMM) at Mtnelectronics or Illumn might be a good sales partner in the US or 3tronics in the UK and cutter electronics in Australia. Simon at Convoy might be interested as well. Most of us struggle to understand any more than the basics regarding boost and buck drivers so your enthusiastic reception is no surprise. Fair warning: there will be questions headed your way. :wink:

Thank you for the tests!

There are many flashlights with soft button.Typical size of driver is from 18.5mm to 21mm.One of popular hosts is skilhunt H03
Its a bit hard to disassemble because it is sealed with thread. Or H02 it have very convenient construction for modification.

Those efficiency number is impressive
Thank you for your test and a great tools you have there :slight_smile:

Some updates for the week!

To summarize, I finally finished a 'beta' version of the firmware, put it inside the host, and now have a single 18650 XHP50 flashlight producing 1700+ lumens of 4000K CRI90 light!

Firmware Work

I spent about an hour or so yesterday and tidied up the basic functionality of the firmware (currently v0.6). It has all the basic functionality - 4 modes at 60mA, 540mA, 1800mA and 3000mA. Using the G2-bin LED I'm using, this corresponds to around 35 lumens, 310 lumens, 1000 lumens and 1750 lumens from the emitter. Keep in mind that if the most efficient bin was used (J4), a whopping 2500 lumens is possible!

The brightness levels chosen was somewhat arbitrary with no specific reason. Mode change goes from level 1 -> 2 -> 3 -> Brightest, with memory mode tested and working. Low battery cut-off was also tested and working. Thermal cut-off was difficult to test, but I did at least verify that it was reading the right temperatures. Clearly more robust testing is required later, but for my own 'demo' torch, this should do.

Obviously a lot more testing is required before I would consider a firmware stable, hence it's now labeled as v0.6 instead of 1.0

Assembly

With the beta firmware done, I loaded it up to the LED driver, then removed the programming header and prepared it for mounting.

As recommended, I also did a spring bypass with teflon coated stranded wire. Above shows the logic/driver side.

And here's a photo of the 'power' side with all the power electronic components.

As some of you may remember, I was doing testing with a G2-bin XHP50 LED with 90CRI and 5700K temperature. I wanted something a little warmer so I opted for a 90CRI G2-bin 4000K XHP50 instead. This time I had some proper heatsinks (from the recommendation of many members here), so I reflowed the 4000K LED onto it - this will go into my flashlight.

This was then fitted into the housing and thermal paste applied between the LED-sinkpad and the housing.

The wires were trimmed and soldered down.

And finally it was assembled into the host! It looks just like the original... but actually contains a light monster!

Above you can see it sitting beside the older XHP50 (5700k) mounted on heatsink, which I used for testing.

The project is done!

Comparison Shots

So how does it compare? Let's take a look at some beam shots. In order to compare, I set my camera to have a fixed manual exposure of 1/60s, ISO 400, W/B 4500K, f3.2. I compared the new XHP50 flashlight with the following:

1) 3000K 800 lumen Greenlite LED bulb (8.4W measured)
2) 5000K 1700 lumen CREE LED bulb (2016 version) (15W)
3) SK68-3W - cheap AA LED flashlight - 1.28V at 2.00A via Eneloop HR-3UTG (2.56W measured)
4) SK98 stock with LatticeBright 6500k+? (6.74W measured)
5) SK98 replaced with Cree XML2 80CRI 3000K (6.67W measured)
6) SK98 with GXB20 with Cree XHP50 90CRI 4000K (22W measured)

All 18650 batteries used in the SK98 Ultrafire host were the venerable LGDBHE21865 high discharge cells.

The above photo shows the unedited images with (1) on the top left and (6) at the bottom right. The result speaks for itself I think! It's extremely bright! Also, I specifically under-exposed as much as I could to (a) retain luminosity data and not blow highlights and (b) since I expect myself to make more, brighter lights in the future!

And finally, with the lenses zoomed all the way in to give an idea of the 'throw':

From left to right:

  1. LED AA flashlight (no idea what's inside)
  2. Lattice-bright XML-copy LED in SK98
  3. Cree XML2 in SK98
  4. Cree XHP50.1 in SK98

I think it's pretty clear that the Lattice Bright LED does have a smaller die and different phosphor coating than the XML2, and again from the XHP50 which has 4-dies. Hopefully the XHP50.2 will improve the cross pattern. Regardless, I think it's a pretty interesting pattern (which only really becomes annoying at max zoom), so I don't really mind it at all given how much light it provides!

So overall I think this project is a success! Thanks again for reading and following my little project!

Next step is to refine the firmware, do additional testing and see how it does in the real world, and then perhaps start on the GXB17...

[Edit] - Did a little bit of real world testing of the firmware and it appears that thermal management is working as intended :)

I am very impressed and if you should decide to brings these to market I’d certainly be interested in at least 4-5 of these drivers.
Just start a thread or continuance here maybe and post a notice and I’ll be there, thanks for sharing your project it’s fantastic.
Edit: Maybe an interest list would give you an idea of what might be possible and needed for your parts etc.

Wow, very nice!

Very impressive and very well spaced modes. Congratulations!!

I love it when a plan comes together

Well done, loneoceans! It’s great to see some real-world test results. Now only to… (1) find a way to make a 17mm version, and (2) find a manufacturer to produce them on your behalf, to your exact specs :slight_smile:

Why not create an Oshpark project?

:slight_smile: :+1:

Very nice!
How about an additional moonlight mode? How low can this driver go (without flickering)?