Oshpark Projects

Let's have a discussion of the potential pros/cons of this:

It would be a tight squeeze with a full size spring, but a stumpy one like on the 105C would be no problem. MCU, diode, cap, & voltage divider resistors would all go on the battery side, with only the FET & gate/pulldown* resistors on the top. Splitting the components like that would require the fewest number of vias, though I don't know if the traces would be easier or harder because of that.

Reflashing without removing the driver from the pill - WANT!

*I'm wondering if the difference in behavior between the 17/20DD and the SRK is because of the MCU so close to the FET. Maybe putting them on opposite sides of the board would fix that, and do away with the need for the silly gate/pulldown resistors altogether. Is it worth a shot?

Short 5/16” brass pillar for the contact, leave one spring at the switch end to maintain snug battery contact. This would make a small contact pad on the board, plenty of room for electronics, even shifted or skewed sideways a bit for the traces. With a solid pillar for contact, no chance of compressing the positive spring (nonexistent) to cause a short.

@ comfychair-

I love the idea, I wonder tho (ignoring the part about it possible running better with the MCU moved away from the FET, just thinking about flashing with the diver in place) is it really necessary to move it, you wouldn’t be able to use a clip but what are the chances of just adding trace’s & via’s wherever they fit without a total redesign to allow bare [male] header pins to be inserted into 6 via’s from the batt side and flash it that way? It’d take a little more thinking than simply orientating the clip one of two ways but I think that would still be better than having to uninstall the driver each time you need to flash. The one issue would be the off-time cap needing removed but you could install it from the programming via on the bottom.

I don't like a spring on only one end. Far too easy to break contact at the front by bumping the tailcap, even with a fairly mean spring. With a spring at both ends (even when the one at the front is far stiffer and with less travel - or the exact opposite, one spring really soft that compresses fully or nearly so) the cell 'floats' between the two springs and never breaks contact. It works best with one spring really stiff, like the stumpy 105C spring, otherwise if both springs are soft the cell moving around makes the light feel bouncy when you bump it in either direction.

Clip would attach just fine if the board were designed for it, that pic is just an existing 17DD with the attiny plonked down in the approximate location.

This is kinda what I was talking about, leaving the MCU on the top but making each of the 6 needed legs for programming have a via, then you could make a contraption like this and flash it without removing the driver.


(tivo’s pic)

edit It’s not like the via’s would have to go directly where each of the legs are, thats not even possible, some could possibly work but you would need to run traces around to real estate that was open on both sides using a bare driver to properly space the header pins like in the pic.

Centered on the contact pad, these work well

http://www.fasttech.com/p/1145100

...or just put the MCU on the battery side and use a normal SOIC clip. There's no reason the clip wouldn't fit, if the board was designed for the necessary clearance, and you didn't have some funky pill with the driver recessed or using a screw-down retainer. Normal pills where the driver mounts flush with the rear of the pill would be fine. Attach clip, program, screw pill back in.

This is only on the 17/20mm boards, the 15DD is a different animal. There's plenty of room for the MCU, a full-size spring mounted the correct way around would fit but just barely, with a smaller spring pad the same size as the big end of the spring. And if it were programmable with a clip without removing the driver, that would render the convenience of a threaded driver retainer moot, just solder it in and toss the retainer. You can still flash away till the cows come home without messing with unsoldering anything.

In many cases a clip won’t be able to get to the chip. A long stick with a 6-pin header on the end of it can reach down battery tubes and/or past retaining rings.

ICSP is often broken out on a header or pads. Why wouldn’t we do that here? It’s a pretty straightforward proposition and it eliminates squeezing entirely. I don’t see a downside really.

Maybe if we standardized on an ICSP header pinout we could drop the stars forever and just flash.

And any light using the high amperage Tofty is a one spring set-up, spring on the driver. Never ran into a problem. Then again, I don’t go banging my lights around either.

Found a 3’ brass rod at Lowe’s, cut what I need. It’s really not much difference from the super stout cylindrical spring found on Qlites.

Making it fancy with vias for pins for flashing the MCU would probably drop a lot of modders right out of doing it. Me included. I flash the MCU, then build the driver, assemble and move on. Y’all have fun with that. :wink:

With the Moon mode engaged through the Star 2 in STAR firmware, the MCU pin 5 is grounded, can’t flash it. So there would be limitations.

It seems that you are misunderstanding the suggestion. It has no bearing on what you do - you’d just keep doing it! Neither changing the location of the chip (comfychair’s suggestion) nor adding contacts of some type to the board (Cereal-killer’s suggestion) would keep you from programming the chip and then installing it.

Cereal-killer’s suggestion, like comfychair’s suggestion, pertains specifically to programming the chip while in-circuit. Whether it’s the initial program or a change made later, the idea is to make it less trouble to program a chip that’s already on the board.

Or maybe I misunderstand you DBCstm. Are you simply saying that many people have no use for reprogramming a driver once it’s built? No matter how easy we make it?

If so I agree! I feel the same way about the “stars” as well though.

Or you could (dis)engauge moon mode in the programming, just sayin. I never solder stars, if I want something different from normal I change the FW and reflash, the only desoldering I have to do to reflash is the off-time cap, and using the header pin idea that wouldn’t be in the way anymore*

*but maybe you’d still have to remove it to flash? Not sure, it’s not technically grounding the pin, maybe you don’t (that is if you didn’t have to physically move it out of the way anymore, guess I’ll have to try flashing a 105 where the cap is on the back real quick and see if you can do it with the off-time cap still connected).

Just so you guys know I’m not trying to argue with anyone and I’m definitely not claiming anyone’s idea’s wrong or saying mine is better, just discussing different means to the same end…

I too was merely thinking out loud as it were. Neat that y’all are figuring a way around an existing problem. Who knows, if it were that easy maybe I’d have to adopt it and start doing things differently.

I find that quite a few lights I use have a retaining ring that accounts for the driver being grounded well. With this ring many of the new boards have too many components very close to the edge. How are y’all getting around that? I’ve been cutting a relief in the inner ring to keep it from contacting the components, thinning down the outer area where the ground contact is made.

Didn’t mean to come across as argumentative, I know that I do more often than not though. Sorry.

Problem with it is, the Zilog only uses 4 pins for programming, the ATtiny will require 6…and that is if nothing is tied into the pins where the data is fed

The topside of the current-gen 17DD is awfully crowded on the top, seems like moving the MCU would solve several problems at once without creating any new ones. I think it's kinda unrealistic to discount a design change because the clip won't fit through a battery tube, removing the pill is rarely much of a big deal but unsoldering a driver from the pill just because the moonlight really needs to be a '3' instead of '4' gets old real quick.

Hardly anything to apologize for. As for the component placement thing… do you have specific examples? I understand the basic problem, but it would help to know what you are running into specifically. As a point of reference, my 17mm QX5241 is supposed to have at 0.5mm+ clearance on both sides. That wouldn’t be enough for a retaining ring, I haven’t really gotten that far in my plans yet. I’ve been planning on just kludging something. On the other side of the story I specifically laid out the 22mm 17* board to have the retaining ring land on top of components.

I agree, that is an issue. I’m not sure how big an issue, but getting 6 connections into good spots doesn’t sound super-fun. I haven’t sat down and worked on it, but I think with some thought and maybe small concessions (arranging pins in a well considered pattern) that it may be doable.

My personal goal was already to eliminate clips. Sticking the contacts for ICSP somewhere accessible for programming the driver while it’s installed is just a bonus from my personal perspective. I do understand that your priority is specifically to be able to program the chip.

I’m not discounting your idea only because a clip can’t be shoved down a battery tube or past a retaining ring. It’s still one consideration though.

EDIT:
sorry, I meant to mention this: Yes, I absolutely agree with the bit about removing a driver just to do a small tweak being lame. If that can be prevented it will be good for everyone.

Good points Dale. Designing a new driver doesn’t need to mean we delete one preferred by others though. If a new set is done with pin headers I recommend a new board “family” name placed in its own group to distinguish it from the current crop. It might be easier to start with a larger driver size to incorporate this detail and work down to the smaller ones. Another possibility, and you guys that to the programming can let me know in full detail why this won’t work, but how about a small board with nothing but the attiny pad layout with vias for pin headers. If the pins just clear the body of the IC with a locator pin at either end you would have a custom clip that would fit just about any of the nanjg boards.

This idea has grown on me. Last night was rough, brain wasn’t working so well this morning. So I was in a resistant-to-change mode for some crazy reason. But after seeing this and wrapping my feeble noodle around it a bit, I’m liking the idea. As you said Comfy, being able to pull the pill and easily flash the MCU beats the heck out of de-soldering the driver from it’s grounds.

I haven’t re-flashed much before because it was difficult, this might change the whole game and make it easy to experiment with levels and modes and get a light tuned just so. And I have no idea why I was thinking it would pre-empt existing design. Anybody that doesn’t want it doesn’t have to buy in, geesh. lol

I should shut up. No need to second that, I already know. :~

No need to bash yourself. We’ve got that covered. :stuck_out_tongue:

Off-time cap doesn't interfere with reflashing, either electrically or mechanically (if you locate it in a spot that doesn't block the clip!).

20DD (same applies to 17DD):

Even possible to do on the tiny 15DD: