FW3A Troubleshooting / FAQ

He’s been responding to me in a timely manner.

/\ … +1 … :+1:

Neal responded to my PM, but not an email. I’d guess he’s got a TON of correspondence lately with the new emitters, copper model, add-ons and the optic switcheroo. I don’t envy him.

Yes, I should be more precise, that is what TK said for general Andúril firmware.

The FW3A is special with the rear switch and it won’t work.
As far I remember the reset function is in her light saber firmware.

The factory reset function is already included on one of my other FSM-based interfaces. The way it works is:

  1. Disconnect power.
  2. Press and hold the button.
  3. Connect power (like, by screwing on the tailcap).
  4. The light flashes a warning for 3 seconds, with increasing intensity.
  5. If the user lets go of the button, the reset gets cancelled. It just gently fades away. Otherwise, if they hold it for the full time period, it flashes really bright then fades out. The config has been reset to factory defaults.

In terms of how it’s actually implemented… the boot-up code checks to see if the button is being held. If it is, it displays a warning pattern and waits. Then after 3 seconds, it saves settings to eeprom and displays a fade-out pattern. And then at the very end, after the user releases the button, it finally loads the eeprom data. So this all happens before anything is loaded, meaning all the values are automatically at their default values.

Of course, if they’re not holding the button, it just loads the data normally and does its regular “battery is connected” blink.

So it’s definitely possible. And in Anduril, it should have an extra step where it auto-calibrates the thermal sensor. But on the FW3A there’s a bit of a problem… power gets connected before the button. So the user can’t hold the button while connecting power. Or if they do, the driver won’t be able to sense it.

Because of the FW3A’s switch design, it would need a different solution. Probably a button sequence which would force the MCU to reboot, so it could do its usual boot-time stuff again, but with the button held down this time. It’s just a little tricky to force an AVR chip to reboot… there’s no reset command.

Okay, okay already. As long as we’re all thinking about it, I took a stab at implementing factory reset.

It’s now uploaded to the fsm branch in the code repository.

For most lights, this means “hold button then connect power”, but for the FW3A I gave it a special button press sequence instead: Click 13 times, and hold the final click for about 5 seconds until the reset is complete. (thirteen seemed like an appropriate number for this)

To make the chip reboot, I configured the watchdog timer to hard-reset everything if it doesn’t get a response, and then put the chip into an infinite null loop to make sure it won’t respond to anything. Then when the timer activates, it detects an error and it forces a reboot.

So, it’ll do its self-destruct sequence thing, ending either in a whimper or a bang, depending on whether the user cancelled the reset early or kept holding until ignition.

Oh, and it also auto-calibrates the temperature during reset. It pretends the user configured the current temperature for 21 C (70 F). And the bit where it displays a warning of increasing severity for a few seconds before the reset? That’s actually required to give the sensor enough time for a useful temperature reading.

Very nice! Thanks.

Now I wonder how many months it will be before Lumintop orders another batch of drivers and tells them to load the “reset” version of Anduril on it. Then they will recieve the drivers and start using them. 2 months? 6 months?

Maybe Lumintop can reflash their existing drivers (before assembly)? I know they did it on the GT.

Are these numbers approx correct? It is for FW3A XP-L HI 3D, unmodded with a 35E battery at 4.1V,

Stepped Ramping.

Step Level Lm Amp

T 150 2800 12A

7 130 760 3A (Nx7135)

6 108 400 2A

5 87 240 1A

4 65 120 400mA (1x7135)

3 50 70 260mA

2 35 25 120mA

1 20 3,6 30mA

(M 1 0.3 1.5mA)

Edit: I put in some approx theoretical Amp draws. They are probably pretty inaccurate. Feel free to correct the values.

Looks pretty good. I got about 1000 and 132 lumen at Nx7135 and 1x7135, but that was using a 30Q. So seems about right. I did not measure the 7 steps, though.

Are you trying to fill in the question marks or verify the step spacing?

… ish? But also kinda not ish?

FWIW, the default stepped ramp values are:

  1. 20 / 150
  2. 38 / 150
  3. 56 / 150
  4. 75 / 150
  5. 93 / 150
  6. 111 / 150
  7. 130 / 150

… and the no-PWM levels are 65, 130, and 150. (1x7135, 8x7135, FET)

At a guess, with some napkin math, the approximate power draw and runtimes with a 3500 mAh cell should be (approximately):

  1. 20: 11 lm / 26 mA / 5.7 days
  2. 38: 42 lm / 97 mA / 36 hours
  3. 56: 103 lm / 242 mA / 14.5 hours
  4. 75: 196 lm / 561 mA / 6.2 hours
  5. 93: 349 lm / 1.06 A / 3.3 hours
  6. 111: 574 lm / 1.76 A / 2.0 hours
  7. 130: 900 lm / 2.80 A / 1.25 hours

But I haven’t measured with a light box or power meter to check these. It’s just an estimate based on 130 lm for the 1x7135 level and 900 lm for the 8x7135 level, with 350 mA per chip. It used the actual PWM levels from the source code, multiplied by the power for each chip involved. So it assumes a linear response curve from the hardware, which isn’t quite true, but it should at least be reasonably close.

Edit: Measuring an actual XP-L HI 3D FW3A, what I got was:

  1. 6 lm
  2. 33 lm
  3. 88 lm
  4. 177 lm
  5. 351 lm
  6. 598 lm
  7. 927 lm

So… reasonably close to what the calculator guessed. Just a bit lower on the low end and higher on the high end.

I tried looking but didn’t find what I was looking for.
Is there a How To guide to show you how to install the glow gasket?

i. Unscrew the bezel
2. Remove it & lens
3. Remove Carclo optic being careful not to break the leg(s) if it is stuck
4. Put Glow Gasket on underside of optic, around legs
5. Re-install optic
6. Re-install bezel and lens
7. Tighten, make sure MCPCB does not twist as you tighten

That’s about it.

Ah, thank you! I didn’t realize the bezel unscrewed.

First post here. Received my fw3a today and I’m having problems already. Everything worked great at first. Unscrewed the head, popped in a freshly charged Sanyo GA cell and starting trying out the ramping up and down. Double clicked to Turbo, nice. Cut light off, put on table bezel down. Was away from the light for around 20 minutes, walked by the table and noticed the light was on. Tried to cut it off with a click and no dice. The switch wouldn’t do anything. Had to unscrew the head almost all the way to get it to cut off. So I pulled the cell out and left it for a couple of minutes, then put the cell back in and screwed the head back on. Light comes on as soon as the spring makes contact with cell. With the head tightened all the way down very firmly it will step ramp up and down through the highest 4 or 5 levels. I can also double click to turbo and out of turbo. That’s it. Tried all of the stuff mentioned in the FAQ with no improvement. Ring is tightened down very tightly to driver, head is tight, tail is tight, threads cleaned, switch pulled out and inspected. Everything seems in order. Suggestions?

It seems there’s a problem with the switch, maybe it’s shorted. Disassemble carefully and be careful not to loose the nubbin.

I’ve disassembled it already. Wiped everything off and reassembled it. Looked ok to me. Anything specific I should look for?

The driver might be off center causing an intermittent short. Remove the head and loosen the driver retaining ring. Wiggle the driver around if possible and make sure the flat notches are lined up. Try to get the driver perfectly centered, then tighten the retaining ring.

The driver does look a hair off center. The retaining ring is super tight though. Already tried to loosen to verify it was tightened down. Used tweezers and thought they were going to cut into my thumbs I was pushing so hard. SMH

Was able to get the retaining ring out and make sure the driver is centered. Still the same symptoms.

Check the metal contact for the switch, remove the yellow tape, remove the metal, clean everything and install it back.