Attiny25/45/85 FW Development Thread

Hi Rick,
thanks for all you effort.

I’ll leave the light off 48h to see what happens.

I meant i have no DMM with capacitor measurement, of course i have a DMM :bigsmile: , but without this feature.
Sorry i’ve made you write all that.
I thought only the most expensive ones had this option, now i am looking for my credit card :money_mouth_face:

Ha ha i haven’t used a pencil for that since my computer overclocking era, I have good memories of that time.

JAVA is the main subject in the grade i am studing, i hope in 6 month i can help in this kind of threads, if C is not much different.

I’ll try all the possibilities, i hope to back only with satisfactory results.

Your flashlight can read out the raw value it’s getting from your OTC. So you can see how far your cap is discharging (or not discharging).
ToyKeeper wrote firmware for flashing out the raw OTC reading. “offtime-cap.c” located in her /ToyKeeper/battcheck/ folder.

What OTC are you using? Capacitors come in many different specs. Different specs will discharge at different rates. For example the OTC RMM sells is 1 uF 16v X7R (0805 size). And different driver boards can also effect the discharge rate. When you are building your own boards you really need to get the OTC readings from your board.
Offtime-cap.c takes an OTC reading at power up then flashes it out for you. So you would do a quick click, write down the reading, repeat 5 times to get an average. Then do the same for a long click, say a 1.0 second click, or whatever time you want to use for your long click.

The offtime-cap.c Halo pointed out which should help you a lot…

Since you do have a DMM, you can skip the 48 hour discharge. With a DMM, is worth reopening up the flashlight and do some measurements. And while opened, you can discharge the capacitor manually.

- First, turn the power on for a few seconds (charge the capacitor up)

- Remove power supply (or battery)

- Now measure the voltage across your capacitor. It should have some voltage and should be falling. With a 4 digit DMM, you should actually be able to see the last digit change (within seconds). Note the voltage and time on paper.

- Measure again a couple of seconds later and see what it reads. Note that on paper. It should be less voltage than before.

- Repeat after 5 seconds wait, again voltage should have fell a bit more.

- Repeat after 10 seconds, again voltage should have fell a bit more.

  • Measure again this time across MCU Pin2 and ground, you should read about the same voltage as across the capacitor.

- With that confirmed, you know PIN2 is probably connected right. Now check again by first discharging the cap. Use a bare wire or a screw driver and touch both ends of the capacitor. It should now be discharged. Use DMM and measure for 0-volt.

- Continue with the NANJG not powered, and switch DMM now in OHM mode (this should be done twice, see below)

- First do a test, probe Pin7 and ground, you should read 4.7K

- Probe Pin7 and Pin 8, you should read 19.1K

- Now you can test and see if PIN2 is connected to any other MCU pin. None of them should have a near zero ohm reading. In fact, I see all 0L (infinity/out of range) on my TINY85V. Note for possible funny behavior between Pin2 and Pin4. Pin2 is your capacitor top, and pin 4 is your capacitor ground. So if your capacitor is not fully discharged, you may have funny reading.

  • Do pin2 to Battery+ (the spring), this too should be 0L (infinity) see if it is so. (You already did pin2 to ground by now).

You may find your short very quickly this way.

(Why you need to do again) Bare in mind, if you have a bad joint, the pressure of the DMM probe may just change a connection - you pressed the pin down enough to make/break connection during the measure. So if the measurement seem to change depending on pressure, you got a bad joint right there. If you find no shorts so far, since probe pressure may break/make the connection, try retest one more time. If retest give you different results, you either made a mistake or there is a bad joint.

- If you already found the short by now. Celebration time. After up to 6 beers or 6 shots of martini depending on body weight, time to re-solder time… (For me, a smoke will claim me down and hand steadied.)

- If you get this far without finding a short, re-discharge the capacitor, put it back in. This time it should definitely be considered NOT-QUICK-CLICK ie LONG_OFF. The cap was fully discharged.
Note if it acted like or acted dislike LONG_OFF. Since we know the cap is manually discharged, it should act like LONG_OFF.

Tell us what you find. We will figure out what to do from there. If you don’t want to wait, I would suggest resolder both the chip and the cap. It is more likely to be a bad joint we didn’t find, than a bad ADC (since you didn’t change a working program).

Tell us either way. Now that I have typed as much as typing a novel, I feel I am enlisted in this bug fight…

I think totally unrelated to Pablo's problem - using bistro on a ATtiny25 on a wight FET+1 (v009) with a SIR800DP FET, rest of parts should be standard, it would come in on low mode, then next mode or 2nd next would flake out - blink brightly, go back to lowest mode. I duplicated it on a 2nd driver configured the same way. Then I ported a version of STAROfftime to the 25, tried that - turns out that modes that are just on the 7135 worked fine, as soon as I switched to a FET based mode, wham - it would go into a low amp strobe - but I don't have a strobe mode in this firmware??

So, basically the same problem is reproducible across two versions of firmware, two separate driver boards but of the same design... Gotta be something in the hardware, or compatibility with this hardware.

  • tried a 0.1 uF cap across the MCU (grnd to Vc) -- no good (worked for my Tiny85 problems with the Narsil firmware)
  • tried a 12K resistor over the FET gate -- no good (recommended by a couple guys before)
  • tried doubling the 10 uF cap (added a stacked one) -- It Worked!!

So, there's something funny goin on. When I was discussing this before with the 85 on FET+1 drivers, everyone suspected the spike occurring on Vc to the MCU that was always there with the 13A's is now causing problems on the 85, and apparently also on the 25 since they are basically the same, just some added memory. There also may be other bad side effects of this larger cap before the diode - forgot details... Something about extra voltage not being able to be cleared quickly from the MCU, eliminating backdriving which at times may be necessary with spikes, etc.

Maybe with a different FET, it won't be a problem?

How is working ok on the BLF X6/X5 SE v2's? Sample pieces are apparently working. Did someone tweak the circuit? Was anything needed?

Us curious DIYers want to know... Smile

Glad it lives! :beer:
Luckly we can get 22uf in 0805.
Mouser link 22uF 25volts X5R 20% 0805 Qty 1:$0.55, 10:$0.292

Got it in my Convoy L2 with a dedomed XPL V6 1A, and only getting bout 3.9A at the tail with 22 AWG Teflon wires. Cell is a EFEST 4200 but at 4.15v or so. The tint came out great though - gas dedomed, it looks like a pure neutral - no yellow, nice soft white. I got my custom STAROfftime in it with 5 modes including moon, where mode switching goes to 1st mode, like luxdrv.

Not sure why the amps took a beating though.

Throw is 221 kcd measured at 5m, but no tail bypass yet - might bump a little.

Problem spotted!!!

I have OTC cap and R1 turned 90º, connecting B+ and ground with 19k resistor, and PIN 2 and 7 with OTC cap :person_facepalming:

I can’t test repositioning them now as i am with family celebrating new year, but it is pretty evident that it is the problem.

This morning, measuring resistance as Rick told me, i got really odd data, but i thought in bad joints; but now i’ve read Tom having the same problem in tow boards with only the desing in common (and the same board as me), i’ve decided to visualy examine the board and bingo!.

Thanks all of you for the help and happy new year!!!

Well, 2 of us will have a Happy New Year Laughing.

:bigsmile:

From post #582 above, the reason for the low amps is a broken bond wire - it's hard to see it because of the silicone around it, but pretty sure it's broken. Got a clean dedomed U4 1C, so probably go with that.

Goodie!!!

Measuring resistance is always a good thing to do. It will help pin-point the problems quicker as it did for you. Kiss that DMM happy new year to it too, it earned it.

Consider a loupe if you soldering often. My loupe is a tool I use very often. I have two, a 10x one (plastic) and a 30X glass one.

It is satisfying when hard work pays off!

Congrats and happy new year!

Rick

I haven't been able to keep up with you all as I haven't had any mod time for few months now. I see Tom E mentioned doubling the main cap. I believe it is common for most smd caps to lose like 82% of their capacity as voltage approaches rated capacity. I've been using 50v X7R 10uF's and haven't had any of the issues noted above yet. I'm not saying the caps I use are the reason. It could because I haven't had a chance to try out the latest FW versions. Sorry if this doesn't help. I feel way out of the loop these days.

Hhmm, I gotta check - pretty sure I got mine at Digikey or Mouser - whatever was recommended from day one.

TK posted in the firmware thread she seemed to have the same problem, same fix. Not sure - are those 50v rated ones better than what comfy recommended wayyy early on? Pretty sure we always used X7R's though... Hhmm, I'll check it all out.

Update: looks like I bought them from DigiKey and they are 16v X7R's. I shouldn't be going over 4.25v in these builds, so I'd think they are safe?

^

Wish I knew the answer. I think CC recommended 16v rated caps and it does seem they would be adequate. I only use 50v caps because I regularly build 4S lights.

Perhaps 10uF is barely enough and then the combination of heat and some voltage (4v) is enough to bring capacitance lower than is needed.

That depends upon the dielectric type and the physical size of the cap. Smaller caps (for the same capacitance value) use dielectric materials that rend to be more susceptible to the effect… i.e. an 0805 X7R cap usually performs worse than a 1206 cap.

^

Good to know. Thanks texaspyro. :)

Also, we know there's a spike in this design, think from comfy's tests on a scope and think Richard confirmed, and the 13A can tolerate it, but we've been suspecting the 25/45/85 is more sensitive to it. On the 85's w/Narsil, the 0.1 uF cap across gnd and Vcc would fix it, but I thought that didn't seem to work on the 25 w/OTC firmware - I had it on and took it off. Ohh - I can still program the MCU's btw with the SOIC-8 clip with that cap jumper on the MCU.

In Spain it’s a tradition to get presents from the “Three Magi” on 6th of January, so here is mine for you.

It is designed so that, in case it is needed, C2 could be easily stacked over diode and C1.

If there is something you think could be improved, let me know.

https://oshpark.com/shared_projects/KhXTokok

I’m far from beeing an expert at this circuit/electronics stuff, but may I make some suggestions:

-in my mind this thread deserves getting sticky’d, I think it’s important atm (the more people see it the more people could contribute)

-would be nice if everyone that wants to share his experiences would give detailled informations on:

  • if there are issues, if so, what kind of issues
  • the board that’s been used
  • MCU that’s been used
  • the FET that’s been used
  • what LED and how many
  • what firmware and which version
  • fuses that’s been used (start up time could have some influence on the pre-flash issue for example)
  • what you have tried to fix the issues you’ve experienced - any changes?

EDIT: by the way: thanks Tom for sharing your experiences and coming up with solutions, great work! May I ask what start-up time you had set, 64ms?

I've built a ton of well working 85's and a couple of 25's now, so I could certainly do this.