Flashlight Firmware Repository

I have a fork of Anduril 2 with a simple bash script i wrote to make it easy to flash emisar/noctigon lights.

I tried to do feature changes in Pull Requests, so if you only want specific changes, you can look through those to find what to change.

I also have the open source anduril 2 hex files for easy flashing.

Hello,

can someone help me?
I have an older (2 years) anduril hex file from Lexel for his Skilhunt H03 or Utorch C8F driver. I wanted to flash it to a Nangj 105c with Attiny 85 and tripple Channel Setup.
Can someone say me the pinout of this Anduril from Lexel? Is it dual channel or trippel channel? On which pin can I connect which output.
For test I have already disconnected the AMCs of the 105c on pin 6.
I have made several test but the flashlight works very unnormal, sometimes dark, sometimes with wrong order of channels.

Second Question:
Whats an easy driver mod? Using a A17DD (Astrolux S41) Driver, flashing Narsil and put the switch on the place of the OTC?

Here you can the the Corui D01 with SBT90.2, I am working on: Courui D01 Big Head Thrower | Taschenlampen Forum

A Nangj 105c w/85 and triple channels? Really? A 105c is a ATTiny13a single channel, so how was this accomplished?

You have to go apples-apples: the .HEX file must match the exact pinout configuration of the driver, for one thing. There are a few possible I/O pin assignments for triples - I've probably configured them all, even modded Anduril and Anduril2 to support them. So we need far more details.

You got 5 I/O pins available:

  • pin #2 - usually switch
  • pin #3 - usually the aux/switch LED but also can be a FET channel
  • pin #5 - can be the single 7135 or bank
  • pin #6 - can be the single 7135 or bank
  • pin #7 - can be the voltage divider, or aux/switch LED, or a channel

What I/O pin config was the .HEX file built for, and what is the I/O pin config of the modded Nangj?

The A17DD with the ATtiny25 cannot run Narsil - you need a 85, plus another mod of adding the 4.7 ohm resistor on V+ input, least that's the mod I would do.

Thank you for answering.

I used a 3535 MCPCB for the FET and the single 7135.

I dont Know. I am not able to build Anduril Hex files. For easy drivers I did it with STAR_momentary.
Lexel is cast away and does not answer. He built the Hex-File for his drivers (C8F or Skilhunt H03).
Thats the Problem.

For the 105c, I probably have to change some resistors too. But Pin #7 is the voltage divider on the 105c. But Lexels driver has 4 Outputs, the 3 channels and the switch-LED. I know this, because my C8F blinks out the channel with one, two or three blinks, after setting a brightness.
The 105c is not modded yet, I only connected the stars to the switch and new channels (FET and 7135). And I disconnedted the 7135 bank on pin #6 to test this pin with the FET.

Ok, think I mis-understood. I'm not familiar with his C8F and H03 drivers. I would convert to a simple FET+1 and use a D4 .hex file. I think the std FET+1 is the 7135 on Pin #5 and FET on pin #6. Don't need the voltage dividers because Anduril uses the internal method, usually that is.

I have a FWAA and have a couple of changes I would like to make to the default UI configurations.

for example

  1. Turn OFF the double blink in the ramp

2. make 1H ramp up, AND down consistently (it already does that, but only for 2 seconds, after that 1H goes UP again).

3. I do not want to use 2H to ramp down, as that is the command for Turbo from Off… I want consistency so 2H also gives Turbo from On

where do I find the FWAA file, so I can learn where to make those changes?

I’m not really well-versed in the Anduril programming files, but based on the version check for the FWAA (I got the Nichia 219C and SST20 versions only; I’m unable to chance upon the always-out-of-stock XP-G3 version of FWAA) — the Anduril 2 version check will blink out firmware version 2020-09-27 model code ‘312’, which when cross-referencing to the “MODELS” file in Toykeeper’s Anduril 2 repository, this is the “FW3A-219” variant of Anduril 2.

I suppose that means going to the Anduril program code repository, and find the configuration file for “FW3A-219” and maybe tweak that? (sorry, I’m also unfamiliar with these code, I’ve not tried to compile .hex files yet…)

very helpful, thanks!

so I find the file here

None of the features I want to change are on that page, so, now what? :student:

I could probably do all this, but not enough spare time unfortunately, and to do it right, it should all be at least configurable at compile time, UI config settings preferred. Then it should be updated in a master repository which I'm still not familiar enough with the rep tools TK uses, but other BLF members are.

These changes though all sound good to me. 1. is already configurable, and 2./3. are actually the same software change.

Not sure how familiar you are with re-building Anduril but all the latest source can be found publicly posted. I've been using Gabe's (gchart) latest as the master. Links for TK's latest is in the OP in TK's sig.

If it did blink the FW3A-219 model number it’s because they put its model number by mistake in their cfg-fwaa.h, as mentioned in pm the FWAA IFAIK has only 2 PWM channels (FET+1) instead of 3 for the FW3A, and the former doesn’t have the 66% FET limit of the FW3A-219.
so you would use a FET+1 cfg as model, like the D4 one for example.

Aside from that, I believe point 2. and 3. would require changes in Anduril code, not just cfg.

configurable, as in, I have a menu option in my FWAA that I can change?

or as in, something needs to be edited and reflashed?

thanks… I honestly do not know what hardware the FWAA uses, nor how many 7135…

where do I see Anduril code?

I have no experience, and most of what you say is outside my comprehension… I can follow directions, but have none of the hardwared needed to connect to a FWAA for reflash…

so forgive if Im not qualified to have an intelligent conversation. I feel like I just walked into a University level Class, and have not met the prerequisites. So if you decide its all too complicated to explain, I will not be offended that you dont have time to hold my hand and walk me through the entire process.

I can live with my FWAA the way it is… not perfect, but parts of it are excellent :wink:

You would put that in your cfg to disable the blink :

#ifdef BLINK_AT_RAMP_MIDDLE
#undef BLINK_AT_RAMP_MIDDLE
#endif

The default settings are in config-default.h so if you want to disable something in there you can do this for any of those.

Ahh, ok. Yes - agree, probably best someone else do this for you. Sounds like a very steep learning curve.

For issue 1., it's configurable by editing and flashing.

thanks for the education :+1:

.

thanks for the reality check
meanwhile, I just use stepped mode, it has no double blink :wink:

OK, I will try.
D4 has Pin #2 for Switch. And the old D4v1 has no Aux/Switch-LED, I think.
And it works with the A17DD Driver with the changes you wrote?

Is the Layout of the BLF Q8 the same as the D4 with aditional Aux-LED on Pin #3?

Where do I find the latest Hex-Files with Anduril or Anduril2? I found the following.

On the older Donwload-Place I found no Anduril-Hex-files:
https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/trunk/files/head:/

You can find the standard/stock basic FET+1 schematic here in DEL's driver thread: https://budgetlightforum.com/t/-/44006/3

It shows the 7135 on pin #5, FET on pin#6. Pin #2 is the switch, pin #3 is the switch/AUX LED, and pin #7 is the voltage divider (not really needed w/Anduril).

Yes - Q8 is same as D4 but with the add switch LED on pin #3.

Not sure about the latest .HEX files.

DEL has the parts list (BOM) in his OSHPark listings, like here: https://oshpark.com/shared_projects/qsbLVgh0 or here: https://oshpark.com/shared_projects/pYGsJoAx

DEL developed the first stable, proper designed driver for the ATTiny85. He designed the Q8 driver. Everyone thereafter copied his design, or I passed along the info to them.

Thanks for the clarification…

Is it possible that Lumintop flashed the wrong firmware (FW3A-219 instead of FWAA) on their FWAA, or just that the model code has a mistake in the cfg-fwaa.h, as you mentioned?

How to check if that is indeed the case? (3-channel program code on a 2-channel physical driver = what kind of issues will happen?)

Does it ramp up and down normally on all 150 levels? Then everything is alright. Wrong channel configuration would result in nonlinear ramp, no turbo, no moon or whatever.

I hope this is an OK place to ask for help. I just updated my KR4 and D4V2 lights to the latest Anduril. However I had the following issue on my K9.3, and after I have not been able to reflash (Or use).

Failed attempt:

Every try since:

I should add that I have tried -F as well

Usually this means it is not physically connected… like the connector slipped during a reflash. Keep trying, and it should work eventually.

It can help to use good lighting and a magnifier or reading glasses to see better, to make sure the pins are making contact. It can also sometimes help to unplug and replug the USB adapter, because some USB adapters are unreliable after one use of avrdude. Also, sometimes it helps to change the angle of the pogo pins against the pads.