Now we are back to troubleshooting that first light that would not work. Being able to install and run the firmware in a second light boosts our confidence, not to mention our morale.
I decided to fire up my hot air rework station and pull the ATtiny off of that board. That was easy enough to do. I taped that little chip onto a scrap of paper and wrote a label on it, should we care to do something with it later.
Next I soldered a piece of thin wire (wire wrap wire) onto the pad for pin 6 on the PCB, connected power and ground, and then used a 1K resistor to feed Vcc to that pin 6 connection. The light comes on strong! This is good. It tells us that the 7135 chips are all OK and that there isn't some odd short or something on the PCB.
The idea here was to find out whether the ATtiny had an issue or if the problem is on the board. Clearly the ATtiny had been damaged in some way, perhaps during my experiments 5 years ago. The thing to do now is to program a new ATtiny and solder it onto the board.
So I do that, and it works out OK, but now a new issue arises. I have 7 brightness levels, with level 1 being moonlight. The moonlight does not work. But I can bump to level 2 and it works! All the levels work, except level 1 -- and if I watch the LED closely I can see that it is on for a fraction of a second.
I tried a number of things trying to sort this out. Here is what I know:
Remember that when I bump to a higher level, the chip may be retaining some state. The short pulse business has verified that RAM has retained state.
I am curious about what possible interference there may be between the ADC activity and the PWM via the timer and how the pin drivers themselves may be getting initialized. So lots of questions. This will lead to part 3 of trouble, probably tomorrow.
Tom's Light Info / [email protected]