From: Peter S. May on
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
From: larkmore on
On Nov 19, 9:23 am, "Peter S. May" <m...(a)psmay.com> wrote:
> 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

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
From: legg on
On Mon, 19 Nov 2007 06:59:29 -0800 (PST), larkmore(a)aol.com wrote:

>On Nov 19, 9:23 am, "Peter S. May" <m...(a)psmay.com> wrote:
>> 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
>
>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?

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
From: Peter S. May on
larkmore(a)aol.com wrote:
> On Nov 19, 9:23 am, "Peter S. May" <m...(a)psmay.com> wrote:

>> 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.

> 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.

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
From: Peter S. May on
Peter S. May wrote:
> programming software (pikdev-prog), I found out that the '54 can't be

I meant "piklab-prog".