b. Buying a PIC programmer

QUESTION:

I’d like to start programming PIC microcontrollers as soon as possible and I would prefer not to bother with building my own programmer. Is there any cheap programmer on the market that can program and debug most of the PIC microcontrollers?

ANSWER:

If you lack the time to build your own programmer, or you need a solution for programming the most of the Microchip microcontrollers, buying a commercial PIC programmer is not a bad option. According to reports on the internet PICkit 3 should suffice most of the amateur needs, but it is certainly not an industrial programmer for mass quantities. There is also a more sophisticated ICD3 programmer, but this one would cost you more than 150 €. However, if you go for the cheaper, PICkit3 it is worth to know that there are two options. You may buy a programmer dongle only, or you may opt for some kind of developer’s package that includes an empty PIC18F45K20 microcontroller and an USB cable. The first option would cost you around 40 €. The latter option is around 60 €. If you are buying over the internet, you should also account for shipping expenses.

There are also some PIC compatible programmers, like OLIMEX PIC-KIT3 compatible programmer, but they may cost almost as much as the original, so it might be a better option to invest a few € more and buy the original.

One major advantage of PICkit 3 and ICD 3 is MPLAB and MPLAB-X compatibility. This means that you can program the microcontrollers directly from the development environment and you don’t need to run an external programming application to transfer the machine code from the *.HEX file to the microcontroller.

NOTE: If you already own an older PIC programmer like PICkit2, you would still be able to program most of the PIC controllers including PIC32MX family, but you might get into troubles while trying to reprogram the chips and you might also lack the in-circuit debugging capability. It seems that the previous generation programmers lack some hardware tricks to properly support programming of the latest generation of 32-bit Microchip microcontrollers. This might also be a big obstacle, if you decide to build your own programmer. It is important to keep the programming signal wires (or connections on PCB) as short as possible. There also some other tricks, like using 1 kOhm pull-down and pull-up resistors. However, they are not all mentioned in the Microchip PIC programming documentation. You should also consider MIPS32 documentation, since PIC32 microcontrollers are built on MIPS core. For more information look at: http://www.mips.com.

Links:

PICkit 3 header for PIC32MX250F128B programming

SK9 connector on Velleman K8055N board is PICkit 2 and PICkit 3 ready!