TheStar - BLF driver firmware for a GB light - What options do you want to be selectable by stars?

Wow! That is great. The strobe rates are supported by data from Grizzlyb out of Amsterdam and 7 or 8 years of research and field use of strobe lights to subdue individuals without escalating violence. The point light source does not induce seizures, but is disorienting to light source. So person trying to hit you can’t tell if you are 6 inches away or 3 feet away and when they put their hand up to shield their eyes they provide a wrist to grasp and place in a submission hold. Very nice in my line of work as most hospitals frown on the staff striking patients and we staff don’t like being struck.

Well. I'm well aware of Grizzlyb's research, but actually both of the alternating frequencies (especially the lower) are below Grizzlyb's recommendation (18-20Hz). I tried multiple different 18-20Hz strobes, but found them be significantly less disorienting. Maybe my eyes are damaged by too many bad budget lights, but 18-20Hz looks more like a bad PWM than a real strobe.. ;)

Grizzlyb's main finding is that 18-20Hz strobes are "still extremely disorienting", but have "less unwanted side effects" (for LEO: meaning that the opponent can't move his hand without LEO noticing it, unlike with 10Hz strobes).

As the frequencies are alternating (pseudo) randomly, the unwanted side effects are less than with normal constant 10Hz strobe.

So, the frequencies in TheStar driver are chosen based on lots of research and my own opinions. I may want to come back to this and continue tests with higher frequencies.. Maybe with lower duty cycles.. Let's see.

Can I assume that this is for use with a clickie switch? If so how can I get some of these or can we download the firmware?

Yes, for standard clickie switch.

The firmware is still on development. v0.7 is being tested by couple of volunteers (Thank you for helping me with this! You know who you are.. ;))

I can send the .hex file to you by email if you happen to be interested in helping in the testing. :)

Writing you a PM now.

With regard to the strobe that most don’t use, for those that use it to grapple with violent people, Grizzlyb wrote in their research and findings that strobe rates of 8-12 Hz were effective, the assailant was also able to move without giving the officers enough time to react so they chose a higher rate of about 18-20 Hz if memory serves me correctly. Strobe use by Grizzlyb

You remember right. I have been reading and re-reading that thread during the last two weeks. Very informative stuff, and totally worth reading, but not the whole truth.. They didn't test different duty cycles at all, and at least in my opinion that affects the characteristics of the strobe a lot.

Thanks. That wasn't easy, at all.. I spent days and nights basically thinking where to squeeze away 2 or 4 bytes, trying that in practice, noticing that the compiler had already optimized that part for me, moving to next spot, etc. Usually after adding a new feature or enhancing something I was left at 1028 or 1040 bytes (limit is 1024 bytes) and spent literally hours refactoring the code to fit in to the memory limits. (Luckily I know something about C.. ;))

Oh, yes, I know what you are talking about…

My firmware-flashing hardware finally showed up yesterday (package had been lost), so I can actually try modding the bits on an attiny now. I still have to figure out how to get it all working in Linux (seems most of the info online is for Windows), and I’m still short on time due to other projects, but I expect I’ll be very interested in trying the new firmware soon.

Any hints for a good setup for testing firmware? I should have an empty Convoy S2 host showing up today and was planning to use the tail end as an 18650 tube for my RRT01, which leaves the head available… could probably just assemble the head normally except for having long wires to an exposed driver, then simply hold a couple extra wires up to a battery to simulate clicky button presses.

That's exactly how i have been doing it. Or actually I have been using S2+. :)

I have thought of building a better driver test station, but not yet, as the S2+ with longer leads works well enough..

I have been flashing the driver so many times that my Pomona SOIC clip starts to wear out. Have to fiddle it and hold it tight to get a working connection.

Any hints for a better SOIC 8 clip / pointers to where to buy?

Maybe this helps? http://www.ladyada.net/learn/avr/setup-unix.html

By duty cycles you mean time on and time off? If so then you are a genius… ’cus I wondered the same thing. If 10 or 12 Hz is great but the off time allows for the officer to be surprised then why not increase the on time and find the sweet spot.

Yes. As explained by this pic (borrowed from Wikipedia article):

The duty cycle is defined as the ratio between the pulse duration () and the period () of a rectangular waveform.


[quote=scottyhazzard] If so then you are a genius... 'cus I wondered the same thing. If 10 or 12 Hz is great but the off time allows for the officer to be surprised then why not increase the on time and find the sweet spot. [/quote]

That's what I thought, adjusting the duty cycle up during lower frequencies of altering strobe would further reduce the unwanted effects.

But so far I haven't been able to find the sweet spot.. More experimenting is definitely needed.

I’m pleased to hear you are working on this, this is great.

Thanks, I got everything set up and working. It gives me a warning about setting the sck period and then can’t verify the firmware after flashing, but it otherwise seems to work.

If you have a hex file and/or source code file to try, I’d be happy to test it out. Additionally, I’d like to add it to my firmware repository if possible.

Er, I’m not 100% sure that my build toolchain is creating the same hex files as other people, so I’d prefer to get a hex file in addition to the source code, instead of just the source. I think my gcc might be creating files slightly larger than what other people are getting.

Good to hear you got it working! Please PM me your email address and I'll send you the .hex file of the latest test version (v08).

Regarding to the size, please check that you have the -Os flag set (Optimize for size).

Thanks. I’ve been using -Os to optimize for size, but when I tried building STAR with on-time memory, it still came out about 30 bytes too big. Looks like I might have an old version though, since my avr-gcc is 4.7.2. I can try to get something newer and re-check the size, but so far I just grabbed whatever was in my distro (and I need to upgrade that sometime too).

So… interesting. My initial observations:

  • The fast PWM is nice. I can barely see it in my PWM test, and don’t notice it at all during regular use.
  • The way the mode memory works is interesting, and may not be obvious at first. It can take almost three cycles through the main modes before the “hidden” ones are accessible, and the counter resets each time the light is left on more than a second or two. So, it acts like it has just the normal modes unless you cycle quickly through them two (or three) times to reach a hidden mode. After being on for a couple seconds it’s possible to advance directly to the next mode during the regular modes, but not in the hidden modes. (so, medium mode, wait, tap-tap the button, and it’ll go to high mode… but first beacon, wait, tap-tap, and it goes to low or low-low instead of the second beacon) This lets one skip the other hidden modes, but getting back down to a lower regular mode requires cycling through the rest of the regular modes.
  • The lowlow mode doesn’t actually light up my emitter at all. I’m using a XM-L T6 0A or similar emitter (from some cheap old light) on a 8x7135 3.04A qlite driver. Whatever setting it’s at is apparently too low for this hardware.
  • The strobe is quite obnoxious. I think that’s kind of the point though. It seems to heat up the head of the light too, but that’s expected since it’s a 50% duty cycle with 3A, and 1.5A is plenty to warm up a small host. I’m not really into tactical strobes though, so it’s hard for me to say whether this is good overall. I prefer low-duty-cycle motion-freezing strobes.
  • The two beacon modes with a background light level are nice. I might prefer something less bright though, for both the background and the flash.
  • The no-background beacon could probably use a much, much shorter duty cycle. Like 1ms or so. Depends on if it’s designed for locating the light in the dark (very very short pulse) or signalling to people far away (current duty cycle seems appropriate).
  • Not sure why there is both a SOS and an alpine distress beacon. In general though, I’d go for a faster SOS.

I haven’t tried the stars. I don’t really want to solder the stars on my test driver, and pencil hasn’t worked.

Thanks for these! Good input for further development. :)


[quote=ToyKeeper] * The way the mode memory works is interesting, and may not be obvious at first. It can take almost three cycles through the main modes before the "hidden" ones are accessible, and the counter resets each time the light is left on more than a second or two. So, it acts like it has just the normal modes unless you cycle quickly through them two (or three) times to reach a hidden mode. After being on for a couple seconds it's possible to advance directly to the next mode during the regular modes, but not in the hidden modes. (so, medium mode, wait, tap-tap the button, and it'll go to high mode... but first beacon, wait, tap-tap, and it goes to low or low-low instead of the second beacon) This lets one skip the other hidden modes, but getting back down to a lower regular mode requires cycling through the rest of the regular modes. [/quote]

Yes. That's the original idea of this FW: Combination of normal memory (normal modes) and short cycle memory (hidden modes).

To avoid accessing hidden modes accidentally, you need to have six continuous clicks and go over the last normal mode (= turbo or low, based on stars).

[quote=ToyKeeper] * The lowlow mode doesn't actually light up my emitter at all. I'm using a XM-L T6 0A or similar emitter (from some cheap old light) on a 8x7135 3.04A qlite driver. Whatever setting it's at is apparently too low for this hardware. [/quote]

Hmm.. Weird. The lowlow is PWM 7 in v08. 7 has been reliable in my tests, but I have tested only with XM-L2s.. 5 didn't light up most of them, 6 did light most but not all -> 7 has lighted all emitters I have tested (and it's already quite high for lowlow, I would like to use 6 if that would be reliable..)

[quote=ToyKeeper] * The strobe is quite obnoxious. I think that's kind of the point though. It seems to heat up the head of the light too, but that's expected since it's a 50% duty cycle with 3A, and 1.5A is plenty to warm up a small host. I'm not really into tactical strobes though, so it's hard for me to say whether this is good overall. I prefer low-duty-cycle motion-freezing strobes. [/quote]

The strobe in v08 is (pseudo) randomly alternating between 13 and 19.5Hz, with 40-60% duty cycle. Those values seem to work quite well: very disorienting, still enabling to notice opponent's movements. Having another low duty cycle, lower frequency motion freezing strobe is still an option.. Let's see.

[quote=ToyKeeper] * The two beacon modes with a background light level are nice. I might prefer something less bright though, for both the background and the flash. [/quote]

I have been thinking of having another of those with lower level, and the other with higher. Further experimenting is definitely needed.


[quote=ToyKeeper] * The no-background beacon could probably use a much, much shorter duty cycle. Like 1ms or so. Depends on if it's designed for locating the light in the dark (very very short pulse) or signalling to people far away (current duty cycle seems appropriate). [/quote]

Good idea, but not down to 1ms. Maybe 10-20ms instead of the current 50ms.


[quote=ToyKeeper] * Not sure why there is both a SOS and an alpine distress beacon. In general though, I'd go for a faster SOS. [/quote]

Both have their uses, and as they are at the end of hidden modes, they won't harm anyone.

Faster SOS? The strobe timing is still a bit off in v08, but I was thinking of fixing the timing and also making it a bit slower.


[quote=ToyKeeper] I haven't tried the stars. I don't really want to solder the stars on my test driver, and pencil hasn't worked. [/quote]

You may want to try softer pencil and more strokes. It works well in my tests.