Anduril ... 2?

On the KR4/D4v2.5 driver the RC filter values are 3.3K and 1uF, imput that into a calculator (That one for example) with the frequencies given by Gchart to see the ripple.

Edit : you might indeed not visually see it, personally I probably wouldn’t either at that frequency, but I get headaches and visual discomfort, especially on monitors with PWM.

Like Gchart mentionned a way to reduce that ripple is to increase the capacitor value, the downside is that it slows down the response, with 10uF for example for it takes 0.1s to rise to ~95% of the desired output, not really a problem for turn on/off, but for strobes/candle it might be.

That’s all great info thanks! I know nothing about hardware and circuit design but I did try to put the parameter in that calculator and what I got is a big ripple I guess. Anyway it’s still invisible to my eyes so I guess I will keep using the 12bit PWM setting.

[deleted] I realized my questions were about modifications to cfg files for specific devices and it was off-topic. It’s a D4v2 with W1-yellows (KY CSLNM1.FY) and an LED side-switch.

Still: are there any obvious traps for beginners when editing anduril2 device-cfg files?

Not really, just check your syntax before compiling and don’t flash full FET firmware on lights that can’t handle it. On another note, I tried to modify the AUX battery voltage settings, but for some reason the purple level (4.0v+) doesn’t work.

Forgive my text here, I don't know how to keep the spacing correct with code blocks. Upper section is my alteration.

 #if defined(USE_AUX_RGB_LEDS) && defined(TICK_DURING_STANDBY)
uint8_t voltage_to_rgb() {
 static const uint8_t levels[] = {
 // voltage, color
 0, 0, // 0, R
 34, 1, // 1, R+G
 36, 2, // 2, G
// 37, 3, // 3, G+B no Cyan
 38, 4, // 4, B
 40, 5, // 5, R + B
// 44, 6, // 6, R+G+B // skip; looks too similar to G+B
 255, 6, // 7, R+G+B
 };
// static const uint8_t levels[] = { //stock fancy
 // voltage, color
// 0, 0, // 0, R
// 33, 1, // 1, R+G
// 35, 2, // 2, G
// 37, 3, // 3, G+B
// 39, 4, // 4, B
// 41, 5, // 5, R + B
// 44, 6, // 6, R+G+B // skip; looks too similar to G+B
// 255, 6, // 7, R+G+B
 // };
 uint8_t volts = voltage;
 if (volts < 29) return 0;

uint8_t i;
for (i = 0; volts >= levels[i]; i += 2) {}
uint8_t color_num = levels[(i - 2) + 1];
return pgm_read_byte(rgb_led_colors + color_num);
}

I do worry about it even if I cant see it.

some people get “undesireable biological effects” from overexposure to PWM for extended periods of time…

my rule of thumb is to avoid PWM or CC Ripple, below 3.2KHz

Does stock Anduril have invisible PWM or CC Ripple, that causes headaches and visual discomfort?

I do not understand how to use the calculator

could you please post a photo of the results, or tell me the Ripple HZ?

Not sure I understand the question but initially Anduril was made to be used with FETs or 7135s, the MCU outputs a PWM signal to turn them on/off , usually at 16~20kHz, not visible and personally I don’t feel any discomfort either.

The constant current linear driver is different though, it’s basically a voltage to current circuit and in the case of the KR4 5A driver 50mV=5A, but we only have a PWM signal not an analog voltage so it is smoothed into a voltage first by an RC filter, there is always a ripple this way though, and the voltage/current takes some time to reach the desired value, depending on the PWM frequency and the resistor and capacitor values. This is what the calculator shows you.

FPWM is the PWM frequency, 244Hz for an extreme example (frequency at 14bit as gchart mentionned)
Duty step : output in %
VL= 0, VH = 5 (for 5A, or 100 if you want a percentage of max output)

R and C value : 3.3K and 1u

Which gives this at 10% :

The output oscillates between ~0.3 and ~0.8A at 244Hz, personally I had a monitor with 200Hz PWM, it was terrible. Here it’s not a on/off PWM though, just a very large ripple, still I would expect it would not be confortable for me.

With 10uF the ripple would be significantly reduced :

But it takes about 0.2s to reach the desired output.

> Not sure I understand the question

probably because I dont fully understand PWM and Ripple, but I appreciate your answer, and it does help me

I share your concern that slow pulsed lighting, whether pulsed by PWM or by Ripple, can have biological effects.

> FPWM is the PWM frequency, 244Hz for an extreme example

very helpful, and thanks for the charts too

how fast is the Ripple in a stock D4V2?

Which driver? 4-16 kHz PWM in the classic driver, 4 kHz “not sure how much ripple” in the linear driver.

Thank you for trying to help. Im a bit lost.

I’ve made an Anduril2 firmware (for KR4 constant current driver on D4v2) so that in ramp mode we can dynamically adjust PWM frequency, just for this “ripple effect” experiment. See this branch:

This branch is basically for PWM experiment on top of Anduril2. Momentary and Lockout from ramp mode is disabled.

In ramp mode, use:

  • 4C: increase PWM TOP value by 1-bit (half the PWM frequency). Max=16bit PWM which is 61Hz
  • 5C: decrease PWM TOP value by 1-bit (double the PWM frequency). Min=10bit PWM which is ~4kHz (stock value)

Use 1C to turn the light on (will be in Advanced UI by default), then 4C to see what 11bit looks like, again 4C to see 12bit, and so on.
Note that the level value in Anduril2 is of range 1~1023 (for 10bit PWM) so when you do a 4C the brightness will decrease (because the level range is now 1~2047 for 11bit PWM).

With my 38yo eyes I can barely see any ripple effect (I imagine it would look like what a bad PWM flashlight does) up to 14-bit. I have to look very carefully to be able to perceive any slight wobbling or flashing in 14-bit. However with 16-bit PWM it is very obvious and terrible.
On the other hand, with a phone camera in “pro” mode which allows for manual shutter speed, I can easily see PWM effect in anything > 10 bit. For example, with 12-bit PWM and <=1/500s shutter speed I can see the ripple effect on the screen very easily.

My conclusion is, I will keep using my own Anduril2 fork which uses 12-bit PWM in ramp mode, and 14-bit PWM in candle mode. The better lower levels 12-bit PWM brings to me is more important to me. Also in candle mode the light is already wobbling so the ripple effect is negligible.

Very basic question - sorry I haven’t been tracking thread well but I have a FireFlies e12r and was wondering-

With light on - 2c to top of ramp
To get to turbo from here, I currently ramp down sligjtly, then ramp back up to ceiling, then 2c to turbo.

Is there a more straightforward way? After 2c to Max ramp? Because when i 2c for turbo it brings me back to ramp location I came from.

I have been using Lux-Perpetua diagram (Very helpful for me), but I can’t determine if there is a command for turbo from top of ramp, after using 2c to get to top of ramp.

Thanks!

Only momentary turbo via 3H.

I understand. Thank you. And I know the workaround with turbo only after top of ramp. I just didn’t know if there was a way to click to ceiling then click to turbo easily.

On Lux’s diagram for A2, it looks like there is a “2H” involved somewhere for turbo? Is that true?

2H from OFF for momentary turbo. If you want turbo with 2C you have to reflash unfortunately.

Ok cool, thanks thefreeman and Sammy

I don”t know if this was asked before, but…

Is there a way to set the second brightness in lockout to a particular settingwhile the memori is set to moonlight ?
i like keeping memory in moonlight so i dont lose night sicht when i forget to do 4H when unlocking at night.

With Anduril2, your base moonlight is your lowest ramp setting(between smooth and stepped ramp), and click-hold moonlight is the lowest mode of the other ramp. So set your stepped ramp to have a higher moonlight level and you’ll have access to two different brightnesses when locked out. Holding will bring you to the lowest of the bottom of the two ramps, and click hold will bring you to the brighter bottom of the other ramp mode.

yes this i know this from anduril 1, and i do have the bothem of the stepped ramp set to 20 on my anduril 2 FWAA.
but what i noticed in anduril 2, whatever i set fixed memory to, that becomes the second momentary mode in lockout, so sins i like my fixed memory on moonlight, i get 2 moonlight modes on 1H and 2H

Anduril 2 takes the higher moonlight of the two ramps and allocates that for 2H I believe. If you set your smooth ramp’s moonlight higher than that of your stepped ramp’s then 2H would go to your smooth ramp’s moonlight unless I’m wrong.