LightMalls BLF Custom Circuit Board (Project Fails Seeking New Vendor [relic38/FlashPilot Taking Over Idea])

group 1 is still only going to be 4a, not between 5 and 6 amp. which is really where I would like it to be.

ho hum, a flashaholics life is never simple :frowning:

Good point, missed that part. A 6A P60 light, now that’s a hand grenade. :wink:

Ramping UI is nothing new and has already been implemented many times. This one adds 4 discrete modes so that any mode can be easily user programmed to any level. The possibilities would be endless. :bigsmile:

this. this would be awesome. one thing I do like with the ramping drivers I use is at lowest output there is a 3 flash burst, same at medium same at high. so hitting those three points is dead easy as a click any time in those bursts saves it. so group 1 initiate ramping, moonlight group 2, below medium, group 3 above medium, group 4 seared retinas 8)

that would do it. the flash a lowest warns you its going to start. Otherwise it starts before you set it. Unless you enter mode and on off. I do like the 1 2 3 flashes idea.

also you know that annoying mate who always wants to borrow your “brght lights”.

4 modes all set to moonlight would be fun for him lol.

Ah, I missed that in the previous post. Good point on the start ramp indication.

  • Single flash at 0% ramp
  • Double flash at 25% ramp
  • Triple flash at 50% ramp
  • Quadruple flash at 75% ramp
  • Quintuple flash at 100% ramp

If the number of flashes cant be programmed, a single flash at each percentage point during the ramp would suffice.

Yeah, making them all moonlight mode would be a great trick. Maybe save that one for the next gag gift to Mr Admin.

The ramping will need to be slow, especially near the moonlight levels. Otherwise you might miss the level you want completely. I like the idea of one group of four modes, all adjustable.
How’s this:

  1. Five quick presses to enter ramping config mode
  2. Start with Mode 1
  3. Start at lowest useable PWM value, pause for one second (no need to start at 0%)
  4. Quick flash then begin ramp slowly to 100%
  5. At each 5% a quick flash
  6. At 25%, one longer flash
  7. At 50%, two longer flashes
  8. At 75%, three Longer flashes
  9. At 100, four longer flashes and one second pause before restarting back at 0.1
  10. At any time, quick pressing will lock in the PWM value for that mode, two quick flashes and one long flash for visual confirmation
  11. Driver will move on to the next mode, starting at step 3
  12. Once completed all four modes, driver exits ramping and starts in Mode 1.
  13. A long press (turning light off for a couple seconds) at any point during the ramping mode cancels the programming. Any modes completed will be saved, the uncompleted modes retain their previous levels.

Note:Quick flash is 100ms, longer flash is 300ms.
I’ll wait a while before sending this one off to Bill. Later on today I’ll gather inputs and see if we can arrive at common ground.

Will they take care of the UI programming too?

We might have more luck with our very own Dr. Jones. :slight_smile:

I love the way the design is looking, for the user adjustable current, why not make 2 or 3 resistors with a trace that could be scrapped off with a sharp tool to lower the current? That way you can sell it at 4a and if the user wants a lower current, he just needs to cut the trace, you could even put 3 traces, stock you get 4a, cut 1 trace you get 3a, cut 2 traces you get 1.5a.

or better would be joined jumpers you solder. I’d hate to cut a trace then want to use the driver elswhere.

that said, with 4 modes I’d just always keep 4a available as turbo or use the above ui yo dial it out. :bigsmile:

I cant help but feel that ramping modes should just be left to lights with electronic side switches, implementing them on drivers where the only input is the main on/off and things get really complicated really quickly. If the MCU is going to be reprogrammable by atleast some of us I can’t help but feel that there should be 2 mode groups.:
group 1: high (100) med (30-45 ish) low (5-15% ish) and then moon (1-.01%)
group 2: moonlight low med high

Ive been playing with my ramping lights to find out what seems to be reasonable mode & command change inputs without having to move along to quickly - so it can still be appreciated by those not so quick on the draw.

This is looking really good but I think there’s just one small over-site. Your version forces the user to program all 4 modes contiguously and does not allow them to be edited individually. If you make a mistake or desire a small change to one of the modes, you have to start all over again and go through them all at once.

Editing your already excellent suggestions, what do you think about this?

  • 1. Select one of the 4 modes by half press after 1000 ms (in the usual manner to change modes)
  • 2. Five quick presses to start before 1000 ms and cancel at 3000 ms to enter program for ramping config mode
  • 3. Start at lowest useable PWM value, pause for one second then continue ramping (no need to start at 0%)
  • 4. Quick flash, pause for 1 second, then begin ramp slowly to 100% (slow is mandatory: 10, or even 15 - 20 seconds if necessary)
  • 5. At each 5% a quick flash, pause for 1 second then continue ramping *
  • 6. At 25%, one longer flash, pause for 1 second then continue ramping
  • 7. At 50%, two longer flashes, pause for 1 second then continue ramping
  • 8. At 75%, three Longer flashes, pause for 1 second then continue ramping
  • 9. At 100, four longer flashes and one second pause before restarting back at 0.1
  • 10. At any time, quick pressing will lock in the PWM value for that mode, two quick flashes and one long flash for visual confirmation

* (at each 5% interval accept 25,50,75 and 100%)

Note:Quick flash is 150ms, longer flash is 400ms.

Sorry, I should have highlighted the changes for you.

Since different emitters of different types have different vF, how will you determine lowest useable PWM value? Maybe consider the lowest typical vF emitter (such as XPG2) as the base and every other type will light up further down the ramping scale.

Maybe also ask if solderable stars could be an option for max power selection @100%

  • star 1 - 1.5A
  • star 2 - 2A
  • star 3 - 3A
  • star 4 - 4A

It was mentioned that 5A couldnt realistically be achieved in a driver this size, but it doesnt hurt to ask again.

Have we considered the survivability and efficiency of the typical clicky switch at 4A? Maybe we could ask that the power be switched with a FET or other electronic means so that any cheap clicky will work without frying it.

After everyone settles on the UI, perhaps Dr Jones would be the the most capable person of fine tuning the settings before the final release… if he would still enjoy doing something like this for us. Id also like to see him own the source code, which he also makes available open source. What do you think?

Hi Serifus. Once YOU program it, power settings will be exactly as YOU desire, and at any power level between 0 through 100%. :bigsmile: In actual use, switching the 4 modes will be as any other common 4 mode driver. The ramping feature is only enabled during the initial programming phase when you decide the power levels for each mode. To clarify: ramping isnt visible during normal use, only during programming the output level in each of the 4 modes. YOU set the percentage of output in each mode. I hope that makes more sense. If not, please ask.

One of our best and brightest in the forum, who has the necessary expertise, has agreed to graciously help Bill Zeng develop this driver. I simply do not have the knowledge to advance this further. At this point, this talented lad will be updating the progress of the driver, in conjunction with Bill at Light Malls. I will not name this person, but I have great respect and admiration for him. So, I will step aside on this project, and wish our Representatives: God Speed ~

Thanks for the update. Fingers crossed for all of us that this can actually come to fruition. Wont our resident driver expert please say “hello” and pass a few words on your thoughts about some of the hardware details and of UI programming?

I know its far to early in the process, but if these drivers can easily be slaved via wire jumpers in the future, it would be one more tremendous use for them in 4.2V multi-emitter builds… just thinking ahead.

Thank You Flomotion. I know we discussed this before announcing it, but when you said “One of our best and brightest” I thought maybe you decided to pick someone else. :slight_smile:
Well, I may not be able to provide all of the answers, nor do I want to. I would like to take the requests we’ve had so far and those to come, and come up with hardware and firmware that will satisfy as many of those needs as possible. Not every request can possibly be met. For example, until FlashPilot suggested ramp mode programming, the fixed mode setup would not meet a lot of needs. Adding a set of mode groups helps, but it can complicate things and it is still not what I consider flexible. That one suggestion has practically transformed this project into something much better than it was 15 minutes before. I thank FlashPilot for that one. I thank everyone else for all of the suggestions so far.
So far, we have more-or-less figured out the hardware side of things.

- We have selected a boost circuit that should comfortably drive 4A from a single Li-Ion cell.

- Current adjustment is available via resistor mods. (I’ll address the additional suggestions separately and why they are not options)

- Bill has selected a PIC MCU, which I don’t think is the best choice. Bill suggested it because the PIC is “better”. I still need to work with Bill on this to make sure it’s the right choice.

- Component space is tight. We’ll need to avoid adding features with hardware and add them via firmware whenever possible.
On the firmware side:

- The latest change (ramping) has not been presented to Bill, but at this point I see it as required.

- There is some discrepancy on the cutoff voltage. I’m thinking of a simple way to make that user programmable too.

  • Mode memory implementation has been mentioned, but only generally. I prefer memory that requires a short off-pulse to change, independent of on time. The short on pulse type (like NANJG drivers) is OK, but is basically just an improved version of next-mode. I will push for the former.

More to come, including details on the UI once I run it past Bill.
I’m really looking forward to this driver. Thanks to Flomotion for getting this started, and thanks to everyone for the great suggestions.
Relic

Flashpilots idea ,post #91, is interesting, but 20+ seconds for ramping is just too slow for me.
Everybody has a different idea, but a little faster would be better I think.

I strongly agree with you, relic38, on the mode memory front. Mode advancement is more fluid when based on a short OFF time rather than a ~2 second ON time (ala Nanjg105c). Reverse clickes also benefit from the elegant “tap-to-advance-mode” with this type of memory. Like you said, a lot of potential issues can be obviated with an easily user-programmable MCU.

I’m wicked pumped for this driver if it can do ~4A regulated output. Care to link to the driver IC have you selected?

ChibiM—If we do have a ramping UI it needs to pause for and briefly indicate the extremes…perhaps a quick double pulse?

I should have known it was you Relic. Many thanks go to you and Flomotion for being such great ambassadors in this project and taking a good deal of your personal time to see it through. Also, many thanks go to Bill for putting up with us.

A few key things you just mentioned will help facilitate a variety of different builds. Ramping programming modes… obviously. But the user being able to select cut-off voltage adds immeasurably to the continued health of the cells being depleted; depending on the cell as well as how many. For instance, a singe IMR 18650 will have a vastly different resting cell voltage after being depleted at 4A than a 3 or 4 x 18650 configuration while using the same cutoff voltage. Being able to tweak this set point will allow for a huge variety of cell implementations without killing the cells being sucked dry by the boost circuit. THANK YOU!

If you have any say in where the traces go on the board, maybe keep an eye out to see if there are easier ways to make key soldering points accessible for master/slave setups in the future… just a thought. For instance, Id love to have 3 of these in my SRK after a latching clicky conversion.

Thanks again!

The ramping is only used to preset/program the levels in each mode, not for the actual mode dimming during operation. I used 20 seconds only as a suggestion during programming because ramping drivers typically arent smooth or linear throughout their entire progressive sweep from 0-100. Relic will know more once he gets a test sample as how to best assign the timing. The stop point with pause every 5 helps greatly, but a slow ramp between these point is necessary to get exactly what you want. The idea of the program is that you set the brightness for each mode exactly where you want it to be and then forget about it. Id much rather have a driver with 4 x 20 second ramps +pauses to program initially than a driver that wont give me exactly the amount of output I desire in each mode because the sweep was to fast to react to my command to save a particular PWM assignment. Again, the ramping feature is only there to program the precise amount of output you want in each mode. After its saved, it becomes a standard 4 mode driver with output levels in each mode that you already programmed. Of course, you can reprogram each mode independently as many times as you want, and any mode can be an infinite number of levels that you desire to change it to. Does that make sense?