September 24, 2024

Biscotti firmware -- trouble, even after Pomona

I grabbed my usbASP and my shiny new Pomona 5250 and was immediately able to flash an image to the flashlight I have disassembled. I thought I was home free.

It doesn't work. The image runs in a DSP ATtiny on my breadboard, but won't make the light come on. The rest of this will be sort of a play by play as I figure this out.

I put my scope on pin 6 and I see the pulses I expect, but at a much reduced voltage level.

I call it quits for the day feeling greatly discouraged. And puzzled. Where do I go from here? Some options are:

I do the inspection.
I compare measurements on the all important pin 6 between the two lights.
The new light measures about 44K to ground and 5M to Vcc.
The bad light measures about 48K to ground and 130K to Vcc.

Looking at the new light, I am reminded that I have to disconnect pin 5 from the PCB in order to flash firmware. I am tempted to just cut the leg off the chip, but I am reminded that I need to connect to pin 5 to program it. Would it be easier to just use my hot air station to desolder and resolder the chip, and program the chip off the board?
Maybe, but what If I need to program it several times?

I decide to leave the chip on the board and cut the trace. I forget how I did this the first time (4 years ago). All of the small carbide burrs and such I have for my dremel are much too big and crude. But I have a set of PCB board drills made of carbide. The set has 12 drills from 0.3mm to 1.2mm. I am well aware that any sideways pressure at all will snap these.

I select the 0.4mm drill, chuck it in my dremel and give it a go. The process takes about 3 seconds. The drill rips through copper traces and fiberglass PCB like a laser. No pressure at all is required, just touch it to the board and a cloud of particles erupts. If a person was careless, all kinds of damage could be done. I do this under a microscope using 15x magnification. I blow the debris away with some canned air, inspect, and am satisfied. I put the drill away for next time.

I clip on Pomona, plug usbASP into my linux machine, and type "make rfuse", reading fuses to check the connection. Then "make rflash" programs 288 bytes and we are ready to test.

And it works fine. The one thing I notice is that levels 1 and 2 seem low, the middle 3 levels seem "all the same" and then level 6 and 7 seem extremely bright. But this is all OK. Things aren't always as they seem.

I read the fuses on this original Convoy chip and get 0xfd, 0x72. I fix that, burning the proper values of 0xff, 0x75. I flash again, test again -- all seems OK.

I reassemble the flashlight and will just use it for a few days and see if any issues arise before I repeat the process on the rest of my lights.

So what is wrong with the first light I worked on? Stay tuned. I will do another inspection, then use the hot air station to remove the ATtiny. That will allow a "divide and conquer" approach to figuring out if I damaged that ATtiny somehow or if perhaps one of the 7135 chips is pulling things down.


Feedback? Questions? Drop me a line!

Tom's Light Info / [email protected]