FW3A, a TLF/BLF EDC flashlight - SST-20 available, coupon codes public

Several things to explore (perhaps they already have been):

  • Improve the thermal path as best as possible (thermal glue or what not)
  • When it is turned onto turbo, increase the scan rate and/or turn up the derivative (D) of the thermal regulation PID to help with lag and make futurecasting more aggressive.
    -Switch modes/tuning when the button is pushed.
  • Have a straight-up timed step down, but do it in small increments to appear as a ramp down to a certain level where the PID loop would take over.
  • Add a true sensor (are there open pins/space for that?)
  • Others I haven’t thought of.

I have no idea how much coding space there is/isn’t.

I’m in for one thanks

Yes, that is a significant portion of the difficulty here. The 7135 chips eat the extra voltage and produce heat at the driver, which allows the MCU to sense the heat much more quickly… while the FET burns it all off at the emitter, where the MCU can’t feel it as much.

However, the 7135 chips are still active at 100% in all FET modes except for level 150/150, full turbo. This hybrid method helps spread the tint shift over a wider span of levels, and reduces visibility of PWM.

What I have now already uses two slightly different algorithms depending on whether the FET is active. When the FET is engaged, the algorithm does thermal adjustments 4X faster. And the adjustments run at 8 different speeds depending on how far above or below the target temperature it is, which also increases the drop-down speed. So it changes at anywhere from 31 steps per second to 1 step every 8 seconds, depending. There are 512 total steps in the adjustment range.

Instead of simply adjusting 4X faster, but still doing it proportional to the measured amount of excess, I’m wondering if I should just make it drop directly to the highest non-FET level as soon as it detects any overheating at all. This could still be smooth, executed over a period of 4 or 8 seconds, but it would not even try to regulate between ~1100lm and full power, because 1100lm isn’t sustainable unless the light is in a very cold environment.

Yeah, it says a lot that people who have a D4 have been suggesting option B.

Physical lockout isn’t as feasible on the FW3A, but soft lockout is a lot easier to access. Using 4 clicks instead of 6 may not sound like much, but it helps. And the lock/unlock blinks are like 50X faster. So, locking or unlocking takes about 1 second instead of 3+.

Plus, it works as a momentary mode at the current ramp floor. So, it doesn’t even need to be unlocked for quick tasks.

Yes, it already tracks rate of change and calculates predictions of what the temperature should be in the near future. It then adds together several predictions over time so the response will also be proportional to how long it has been too hot or too cold. And the response is proportional to the sum of the predictions. If I understand correctly, this makes it a PID algorithm. Response is [p]roportional to an [i]ntegration of [d]erivatives.

Problem is, as far as I can tell… the MCU doesn’t feel the heat fast enough to correctly steer into the turn, so it slams against the wall before sufficiently correcting. So I might make it steer as hard as possible as soon as it senses a turn coming, so it won’t hit the wall on the first turn. After that though, it seems fine.

That’s fixed already. The D4’s thermal floor was too low. This is adjustable at compile-time, but the current thermal floor for FW3A is the 1x7135 level, or about 160 lm. I find that, while hand-held, it can sustain about 700 or 800 lm, or while tail-standing in a room at 70 F / 21 C it can sustain maybe 300. This 160 lm floor gives it a bit of extra adjustment room, but is still quite a bit brighter than the D4’s floor.

Additionally, the updated algorithm is less prone to overshooting and oscillating, so it’s less likely to hit the floor. And if a more direct turbo step-down is implemented, that makes it even less likely to hit the floor since it won’t have as much heat to shed while regulating.

Things are a bit different in muggle mode. In that case, it drops to about 10 lm when hot. No regulation is attempted. The goal there isn’t to maintain the highest possible output level, but to make sure a 3-year-old won’t start a fire.

Already implemented. It’s just intentionally difficult to do. The user would either have to hold the button in momentary mode at turbo (ouch), or configure the thermal parameters to have the highest possible ceiling and lowest possible sensor calibration (stick the light in a freezer and tell it it’s like 50 C).

But … don’t.

Exactly. The user can have full power in one ramp and a lower ceiling in the other.

By default, both ramps only go up to ~1100 lm. And one starts at moon, while the other starts at ~10 lm. But those are easy to change.

Not sure if thermal glue is going to be feasible or not, or how helpful it would be. I tried a sheet of thermal transfer material at one point, but it didn’t seem to help a lot. I think the attiny gets most of its heat through the legs, not through the surface of the chip. And I’m very reluctant to slather glue all over it.

When the FET is active, it already increases adjustment speed by 4X or more.

The step-down, if implemented, isn’t timed. It’s still temperature-based, but would have a big response and would be easy to activate. A hair trigger, so to speak. Step-down would probably go smoothly over a period of 4 or 8 seconds. Afterward, the regular PID method would take over.

A true MCPCB-mounted sensor would be nice, but is probably not feasible on this light.

I don’t think TK is using anything like PID, that would be just stupid in a dynamic thing like this that doesn’t work like classroom theory.

It’s not an easy thing to control, and the hardware is fixed, this has to be delivered sooner rather than later, otherwise why even bother ?

Pragmatic solutions are required, whilst we know-it-alls chatter amongst ourselves.

contactcr was nice enough to test the most recent build, the faster-but-still-regulated-during-FET “option A” on an Emisar D4. This was the result:

The level it regulated to may be a bit low, looks like about 300 lm or so, but it was also told to use a pretty low thermal ceiling. And it was probably not being held in a hand, so it wouldn’t have had as much heat sinking as it would during normal use.

Other than that though, I think this result looks pretty good. It adjusted fairly quickly to a stable level, didn’t overshoot, and didn’t bounce around.

Is building a light always like this? Will it ever be built? I had such high hopes too.

People often keep the development process behind closed doors, so it looks like things just pop out of Zeus’s forehead fully formed.

But yeah, development is usually somewhat messy. The difference here is that the process is more transparent. And this project has been particularly slow due to a variety of setbacks.

Ah, if people only knew what it takes to bring a product to market, or to a specific customer. Had to smile of a light popping out of Zeus’s forehead. I can hardly wait to read the discussion about what battery should have been used. . . .

Sorry, didn’t mean to show my age. Old habits die hard.




In for 2

Thanks!

I did some testing on FW3A proto2 running at full power with a fresh 30Q cell, with the thermal ceiling set to 45 C. It was laying sideways on a table with a fan pointed at it. Here was its regulation pattern:

The main difference between options is whether that initial plateau exists. The light gets a bit hot to hold during that.

Although not shown here, beyond the right edge of this graph I put a few drops of water on the light, and it started getting brighter. Then I touched it with ice and it got brighter faster. So… it does step back up when the temperature drops; it’s just not shown on the graph.

The Musical Diversity of Pop Songs
Are Pop Lyrics Getting More Repetitive

Vickers, E., (2010)
The Loudness War: Background, Speculation and Recommendations
AES 129th Convention, San Francisco, CA, USA 2010 Nov 4-7 (Conference Proceedings - non periodical)

Serrà, J., Corral, Á., Boguñá, M., Haro, M., & Arcos, J.L. (2012).
Measuring the Evolution of Contemporary Western Popular Music.
Scientfic Reports, 2, Article 521.
https://www.nature.com/articles/srep00521

Percino, G., Klimek, P., Thurner, S., (2014)
Instrumental Complexity of Music Genres and Why Simplicity Sells
PLoS ONE 9(12): e115255

Mauch, M., MacCallum R.M., Levy, M., Leroi, A.M. (2015).
The evolution of popular music: USA 1960-2010
Royal Society Open Science, DOI: 10.1098/rsos.150081.
http://rsos.royalsocietypublishing.org/content/2/5/150081

Askin, N., Mauskapf, M. (2017)
What Makes Popular Culture Popular? Product Features and Optimal Differentiation in Music.
American Sociological Review, Vol: 82 issue: 5, page(s): 910-944.
http://journals.sagepub.com/doi/abs/10.1177/0003122417728662

I think the important thing is to remember these studies focus on ‘popular’ music ie what is marketable to the lowest common denominator in order to maximize sales.

I would always squeal with glee whenever another engineer would demolish the cherished subjective world view of the audiophile cognoscenti. Bob Carver remains a hero of mine.

That seems roughly equivalent to what Okcupid found when looking at people who try to make their profile appeal to a general audience instead of showing the things which make them unique. They end up with a lot of 3-star and 4-star ratings but virtually no 5-star ratings.

Whatever the 10% is which counts as “not crud”, I think at least most people can agree that pop music isn’t it. Being too generic makes it bland and mediocre.

As someone who grew up in the singer-songwriter era, it is especially shocking to me that the majority of popular songs over the past decade + have essentially come from two writers; Max Martin & Lukasz Gottwald (Dr Luke). There have always been prolific writers who sold songs to other artists, but I don’t think there has ever been an era when virtually all the top acts are little more than pretty facades.

Sigh…I’m going to go listen to some Alabama Shakes now to remind myself there are still amazing & unique talents out there.

Wow, I’m late on this one. I guess I have a lot of reading to do to catch up, but in the meantime, I’m in for one! This project sounds pretty hot, lol. :person_facepalming: :heart_eyes:

I sometimes put a light in a cool glass of water, where the cooling is usually sufficient to enable quite a lot higher output. I want the 1100>turbo range to have some sort of regulation in it, so that I can place the light in the water when it’s been running at the thermal limit and have it step up to the new equilibrium.

I’ll throw my voice in as someone who has a D4 and wants option A. I think the times I would use FET instead of the 7135 mode would be A) When I only want to use turbo for as long as possible before regulating down to whatever I can get and B) When I have enough cooling whether because it’s cold or wet enough to sustain more heat than the 7135 mode produces. Or if for whatever other reason it had more cooling than otherwise, or if I was less bothered by the heat or something.

This is the conundrum, fitting 3/4 of a Q8 into an S2 sized package.

“Ye cannae change the laws of physics”.

“I’ve got to have 30 minutes” …

Perhaps filling the head with a phase change material could keep it going on turbo for more than a minute before step down. Much much better than simply relying on thermal mass.

Quick estimate: Paraffin wax, heat of fusion 250 kJ/kg.

Find a way to fit say 25g, that could soak up 6.25 kJ, lets say on turbo its pulling 4A from 3.7V = 14.8 W ignoring the light coming out of the front.

So the wax could maintain the head at a safe level for 422 seconds = 7 minutes of full turbo before step down became necessary. Of course there would then have to be a lengthy cooling off period before giving it another full blast. Meanwhile it would make a nice handwarmer on cold days.

Another wacky idea: monitor the LED forward voltage shift with temperature to get a precise reading of the LED junction temperature rise. Saves the need for an MCPCB sensor and measures it where it really matters. Use high melting point solder too, in case of accidents.

PS: if there are going to be FW3Ti and FW3Cu in future, the thermal control may need some re-tuning to cope with the very different thermal properties in case A (particularly for Ti), hopefully the “universal” system will adapt when in 7135 mode.

PPS: I think there is still a place for “hotwires” in bright torches, at least the incandescent bulb chucks it’s waste heat out of the front instead of into an MCPCB, and of course the CRI is perfect :wink: Make a handy fire-starter in emergencies too.

Another vote for option B - safest option!

TK

First off - thank you!

I’ll say I haven’t followed every minute of this behemoth thread, so pardon if this has already been discussed extensively…

My first thought is if we want the PID to function perfectly and be the sole method (over months and years of operation and thousands of samples!) keeping this thing from going to skin blistering temperatures is to have a dedicated thermal sensor as close to the (primary) heat source as possible. It’s very common practice now for bigger name manufacturers to have an NTC thermistor on the MCPCB. Measuring this far upstream will make it possible to get AHEAD of the temp control, and not require so much host calibration or predictive/preemptive throttling. One major concern I have with using the current temp sensor location, besides the obvious and previously stated shortcomings, is the driver retaining ring possibly coming loose on the F3WA. Most of you with a convoy tube light with right-hand-threaded tailswitch retaining rings has come across it loose over repeated use and battery changes. This could cause a serious change in thermal resistance in the sense circuit and potentially lead to extreme over temperature conditions. Small chance maybe, but one that’s avoidable IMO.

That said, if this can’t be done at this point in the project, then I really hope the safest and most reliable options are employed to limit the >1000 lumen modes. If timed step-down from turbo to high is necessary, that’s fine! Everyday carry is exactly what a light like this exists for, and no reasonable person would prefer burnt clothing and/or skin over an extra click to keep it in turbo if necessary.

Just for perspective, I remember the Eagle Eye X6 group buy, when we were hoping the light would be able to ACHIEVE 1000 lumens.