[Review] 77 Outdoors D25 Headlamp (18650)

Thanks Chris…I was thinking that too but I have the trusty Boruit RJ02 which came with the middle strap so I could swap headbands I guess

The single head band works really good on non heavy lights (I wanted to avoid saying light lights)

Well, with the dual I got, I swapped the LED's to T6 4C's that I had laying around, and I wired in a ATTiny85 to the stock driver, using NarsilM in 1 channel output mode. It worked pretty well. On a 35E cell, got 3.26A and about 970-930 lumens, not much drop in 30 secs, got barely warm, maybe, so handled the heat pretty well. All worked great til it stopped working...

Seems like after it heated up, something shorted out. If I loosen up the driver, it goes back to working, but as soon as I tighten it up, it shorts out again (i.e. light comes on max).

So my theory was correct about it being a simple FET channel, and wiring up the 85 with grnd, Vcc, switch and FET is all that was needed. Also I replaced the D1 diode with a 4.7 ohm resistor, and that worked well. Got frustrated with it for now - will trouble shoot it later. Need to de-solder the LED wires which are kind of a pain to thread thru the tube to the MCPCB. The wiring and positioing the 85 are all tight, so something there probably is making contact where it shouldn't.

^ talk about a brain transplant!

Wondering whether it would be possible to make a PCB for conversion from ATtiny to PIC, particularly since it would only require three (or four) traces?

Do-able but no room for it in this light. It would be better to design a driver that's a dead-on fit to the stock one, but even then, parts placement is critical because you have to have clearance for the plastic piece - there's just no wiggle room. Not many options with this light. The plastic piece is the important thing here. Probably a way to trim it to accommodate a stock size OSHPark driver, but didn't look at that.

So far what I've seen with this NarsilM on a wired in chip can work well with this light - it doesn't get a lo-lo, ramping at the low end is a little flickering - expected from low output levels to a FET though - seem the same thing with our normal FET's. I'd probably have to lower the PWM rate for these low levels - we've (maybe just TK) have done this before.

You are really limited in full modding this thing - the LED wires go thru tiny channels inside the battery tube so you can't go to heavier gauge, for the dual, not so easy to replace the MCPCB. Maybe using 2 small ones, but has to be thin as well. I want to keep the amps low, better efficiency then on just a single FET channel. I might actually remove a current limiting resistor or 2.

I haven’t noticed any flickering at the low end on mine, and I have the PWM compare at the low end set all the way down to 1. It’s running with clock at 3.33MHz, no divider on the timer, 8-bit mode (period=255), and using Phase Correct. So… I think PWM freq should be around 6.5kHz.

I had considered that as well. With as cheaply made as this thing seems, I don’t really feel motivated to create a driver for it from scratch. If I open it up again, I’ll probably just remove a current limiting resistor and call it a day.

You know, I've been re-reading your post #2 describing what you did -- this is dang impressive!

Yes, your PWM's and clock are way lower, so that could be the difference. I forget, but mine are probably 15-18kHz.

Your solution is wayyy better than mine for sure. Like your porting of the RampingIOS, and got it in 4 KB. Don't recall how big it was for our use, but thought it was over 4 KB.

Thanks, Tom! Having the same pin mapping as the original MCU made things easier (physically). And I think it was close to 4KB when I compiled it for the 85, I didn’t really do much trimming. Next step is to try and get NarsilM and Anduril ported. But I’m sure I’ll need to switch to the x16 chips since those are available in 8KB and 16KB versions. It certainly won’t be for this headlamp though - the x16 chips are QFN.

I thought TK was working on the port to a 16 KB part, not sure if it was this same family -- think there are 2 16 KB tiny's? Not sure if she is aware of what you did here, though I'm not keeping up on all the threads.

For this 412 part, it sure is huge to have the same pin config as a PIC - all these Chinese flashlights seem to use a PIC. Sounds like you know a lot more than I about these micros - I really haven't done any more than these flashlights with the classic 13A/25/45/85 family. Most of my micro experience was wayyy back, and when I have more recently worked on them, the groundwork was setup for me regarding the dev tools, programming, etc.

I would think your port changes could apply easily to NarsilM, maybe easily to Anduril as well. I sure would be interested to get them ported to a 16 KB part, and have an easy dnld setup.

Meanwhile in Russia https://translate.google.lt/translate?sl=ru&tl=en&u=http%3A%2F%2Fforum.fonarevka.ru%2Fshowthread.php%3Ft%3D41243

I think the effort was being done on the 1634, it’s also a 16KB chip, but uses the same architecture as the 85. MikeC has been using the 1634. And I think TK is aware of my efforts. I PM’ed her about my on-going documentary here.

Hmm, so it looks like they replaced the no-name chip with a PIC (as well as some other mods). Outside of tterev3 here, I don’t remember seeing much adoption for PIC on BLF. I’ve never actually looked at any code for them.

Easiest way to mod this driver is to remove 1 resistor, proper way is to build new driver from scratch ;))
Wondering what we get if we replace those little fets to a 7135 and short resistors on output? ;))

Ahh, just posted in your Adventures thread...

Wow, didn't know about the 32 KB versions for 2018... Game Over! Finally got enough code space, no more byte pinching.

It looks like the perfect backup light for caving (just need to replace the driver with one that can control the 2 LEDs independently using 2 different channels ).

Please update about replacing the reflectors with TIRs. I am thinking of combine 10 and 90 degrees TIRs.

I just received some 17mm 60° TIRs I ordered… will try tonight to open it up and see if they fit, and if not, how “off” they might be from a simple drop-in.

I was able to fix up my Attiny85 mod to the dual headlamp. Seems to be stable now. Under pressure, the driver stack (switch/driver/plastic ring/USB charging/spring PCB) was shorting out. I rearranged wires to remove pressure on my jumpers, and threw in a piece of kapton tape separating the 2 boards, suspecting possible contact of components.

Also replaced the stock LED wires with 24 AWG - think the same size as the stock wires. Replaced them ti add a tiny bit of length, and the LED+ wire had tears in the insulation.

Weird thing though is temp readings are pretty high, maybe 20C or so higher. Maybe not being reflowed to pads on the board causes that? Dunno - never did one like this before...

To me, the “settled down” room temperature reading was accurate, but as soon as the light turned in, it quickly started reading higher. For instance, even though I calibrated the ADC temperature calculation, it would go to the preset 60°C limit and the body would measure 43°C. My guess is because the driver is in no way connected to the body of the headlamp. The heat generated by the FETs and current limiting resistors is staying in the driver and not being dissipated very well.

If you have spare ADC pin you can connect external temperature sensor ant attach it to the heat sink

Yea, was wondering bout the temp settling. I probably didn't give it enough time. As I was writing the post above, was think'n should check dead cold. Think it hit in the 90's after a min or so run on max, then it drops quick to 60's.

I took gChart up on his offer and managed to upgrade my D25 from the original basic 5-levels+hidden modes to a stepless ramping UI.

Thanks to the efforts of gChart, who effectively remapped the original (PIC?) MCU to a similar footprint Attiny MCU (Attiny412), and ported/re-flashed the MCU with TomE/ToyKeeper’s excellent (D4?) RampingIOS see here - the D25 has gone from meh to awesome!

Original UI mode level range, 5-levels from 2.38A to 0.08A (draw at tailcap)

Upgraded RampingIOS range, ramping from 2.38A to 0.01A (draw at tailcap)

In addition to ramping and the exanded level range, the headlamp now has -

  • Battery Voltage indicator using blinkies,
  • Thermal Management,
  • Last-mode-Memory, and
  • direct access to both Minimum (long-press from Off) and Maximum (double click) from Off.

This is the upgrade this light really needed. Good work gChart :+1:

Note: For the benefit of anyone attempting this, the switch cover plate is “reverse/left-hand threaded” to open. (Thanks to TomE for the reminder) :wink: