Sorry for the potato-quality animation. GIF isnāt good at subtle color gradients.
It still needs some adjustments, and Iāve got a lot of catching up to do here in the thread, but I wanted to give people a preview of how the first manufactured prototype looks:
The charge port uses USB-C, with status indicators right next to the port:
About things for me to do to the firmware, this is what I have in mind:
Adjust candle mode to look better. It seems a bit flat on the lantern, and probably needs the amplitude turned up.
Unify the ramping code so all ramping functions are reversible with a hold-release-hold. Currently, everything except the main output modes requires a āclick-release-holdā to ramp down, so a āhold-release-holdā would go up twice instead of reversing.
Make the tint ramping also reversible in the same manner, if I can find a good way to do it. I keep wanting to release-and-hold to reverse it, but it currently requires āclick, click, holdā instead.
Adjust the tint-mixing code to bump up output a bit in the middle tints. At the moment, the output dips a little, and I can probably fix it to make it more flat with a little bit of math. Itās not really noticeable by eye, but itās noticeable with a multimeter.
Add an auto-tint mode if I can find a good way to do it. This would be warm at low levels and cold at high levels. The implementation is easy, but making the UI intuitive could be a little tricky.
Add a blink at the ends of the tint ramp, because itās not always obvious when it stopped.
Decide if tint ramping is fast enough or not, and maybe speed it up.
So there are at least a few things to do. But the lantern is looking good so far. The only āissuesā Iāve found so far are just little things which arenāt really broken but could still be improved.
Form following function -
This thing looks like business! No fake marketing, chrome, bottle openers, compasses or cup holders to add more useless āfeaturesā to cover for inadequacy.
Love the tint ramping -
I will almost always use this on the warmest setting, but the fact that this will ramp is SO impressive.
I just got up and walked a circle around my chair for no reason at all!
The faint glow of the switch is a perfect touch.
I am in for the whole shebang, accessory kit and all.
I hope the optional accessory kit includes:
EVA molded protective soft case (very inexpensive from China)
āā
2. 4 18650 cells
3. MOST importantly a mountable shield/reflector to allow light management for something less than a full 360 field. Our usual crew doesnāt normally want 360 illumination. On most trips, we block 90 - 180 degrees of the output glare so our night vision is not impaired by the direct light while we sit by the fire. The ambient light from fire and lantern is more than enough to see by and walk around in indirectly lighted areas. With a white reflective surface on the non blocked (inward reflective) side of the shield the efficiency in the lighted areas would actually be higher allowing the user to select a lower output setting enabling longer run times and higher output to the lighted areas.
I am eyeballing the amount of frosting on that diffusor while confident this will be thoroughly checked.
Iām thinking auto-tint would probably be enabled if you ramp to the end and keep pushing after it stops. Then to turn it off, ramp back into the regular CCT zone to go back to a steady tint.
Sunset mode isnāt configurable yet, but Iām hoping to fix that at some point. It really should be sharing timer code with candle mode.
Sunset mode and all other special modes use the configured color temperature automatically. As far as the UI code is concerned, the output is controlled in two dimensions ā perceptually-linear brightness, and tint. Most modes only set brightness, so the tint stays the same in all modes.
Tint is adjustable in every mode except momentary and āoffā. But I noticed just now that itās super weird how it adjusts in muggle mode, so I should fix that. Adjusting it in lockout mode is a bit weird too.
The tint ramping thing works totally independent of the rest of the UI code, so itās kind of a global mapping which applies everywhere. If a button event isnāt handled by the active mode, itāll āfall throughā to a lower layerā¦ which in this case is the tint-ramping handler. And since the āclick, click, holdā event isnāt mapped in most modes, it falls through and does tint ramping instead of a mode-specific action. This works because FSM is a stack-based state machine ā multiple states can be stacked, and the event handler goes through them in top-first order until something returns an āevent handledā response. In this case, I simply put the tint handler on the stack first at boot time, below everything elseā¦ and it stays there permanently. This lets it work in all modes without the need to modify any of those modes.
What about a charging cable? Personally I think a cable is more important than the batteries. I donāt want to settle for low tier Sofirn batteries. I donāt really need the cable, but I think most people might need one, especially if buying the case.
If this lantern is offered with an adjustable/removable deflector I would be in for several lantern/kit packages. The common discussion within our group for many years worth of outings has been the lantern/light level and whether or not it is shining in anyoneās eyes or not. It would be a shame to have to rig a deflector as an afterthought for such a refined piece of kit.
Iām so glad you got a pre production copy you can play with and fine tune your firmware. This tint ramping sounds very exiting, but Iām sure will take some polishing to work well. I canāt think of anyone better to pull it off.
I really like the auto tint idea.
I like to have a flashlight on low moonlight as a nightlight and quickly locateable in the event of an emergency. Any idea how efficient this light will be when left on in lowest mode? With 4 x 18650 and low current, Iām guessing it should last 3+ months.
Having been using the tint ramping firmware for a few months now I do like the idea of the auto tint however I am not sure I like the idea of āpushingā past to edge to set auto tint. Often Iāll find myself in a lower mode that doesnāt use a particular channel in low but it turns on later as I increase brightness. So Iāll often ramp for a while to one side to know I hit the edge.
So given this Iāll offer an idea. How about setting auto tint the same way we set step ramp? A predefined number of clicks or hold combo would set us in auto tint and disable with the same combo.