PIC sanity test

I have a Microchip PICkit 2 programmer that I've successfully used to program 16F88 and 16F688 devices in their DIP versions, using no other hardware except a breadboard, by simply connecting the Vpp, Vdd, Vss, ICSPDAT, and ICSPCLK pins of the PK2 to the corresponding pins on the PIC.

I have just made a breakout board to start breadboarding with a 16F54, which happens to be in an SSOP (surface-mount) case. I soldered the device to the board and have continuity-tested all of the pins and their corresponding breakout points. Everything seems to be in order electrically, and there are no shorts. But the programmer (or the program controlling it) won't recognize the device.

Output from pk2 (Linux):

Device ID 0x0fe0 Fatal error> No PIC or unsupported PIC found

"pk2 -list" indicates that 16F54 is a supported device.

At this point, I know I've tried to do too many new things at once: It's the first time I've tried to solder a surface-mount PIC, the first time I've worked with the 16F54 in particular, and the first time I've attempted to work with a PIC that didn't have its own internal oscillator.

Apart from etching a new breakout board and trying again with a fresh PIC, or (grumble) installing Windows and trying with MPLAB, is there anything I ought to be trying or looking for to verify that the device I'm using is or isn't functional?

Thanks PSM

Reply to
Peter S. May
Loading thread data ...

Well, I can save you a little headache and tell you that MPLAB 7.5 does not support the 16F54 in either programming or debugging mode using the PicKit2. That said, the regular PicKit 2 software (running under Windows) claims it should be able to handle the 16F54. I've never tried under Linux. Anyone tried to run any of the Microchip programs through Wine? Other than that, it's good old fashioned troubleshooting. - Check your voltage supply (nice, clean, 5V?) - Check for any solder bridges or cold joints (4x-10x microscopes are invaluable for this when doing surface mount) - Anything get connected backwards, even for an instant, or zapped by static? - Can you see the programming data into/out of the PIC on an oscilloscope?

Good luck!

-Will

Reply to
larkmore

It's not such a big deal desoldering the part to clean and inspect the board and put a new part down, if no circuit faults or schematic errors show up.

A handy SMD desoldering aid is a thin strip of nickel-steel that can be forced between individual pins and the board, as pin heat is applied.

The thin strips come free in anti-theft magnetic stick-on packs that you may find on smaller articles like CDs or higher-value sale-rack-mounted devices. There are three strips in each pack that have a width suitable for insertion into an x-acto knife handle.

In a prototype situation, where there's no likelihood of forensic examination, cutting the dead body from the pins and desoldering the pins later produces minimal board stress.

RL

Reply to
legg

Well, after messing with a few settings and a different piece of programming software (pikdev-prog), I found out that the '54 can't be autodetected. D'oh! Adding -device=16F54 to pk2 seems to be making things go slightly more normally. I can't verify a write (this is something that happens to me all the time), but can verify after an attempt to write that it's no longer blank.

Way to warn me about that one, Microchip!

Thanks PSM

Reply to
Peter S. May

I meant "piklab-prog".

Reply to
Peter S. May

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.