PICkit 2 programmer is open source, so you can build your own:
PICkit 2 was originally built by Microchip as open design programmer with the schematic, source code and firmware available to boost the popularity of the PIC devices. Because of that it is easy to build a clone version of the original device. Most of the clones will produce unregulated 5 volt VPP where the original Microchip PICkit 2 provides adjustable VPP output to allow 3.3 and 2.5 volt parts programming. The schematic I have used is based on the original PICkit 2 without programmer-to-go functionality. That functionality allowing a hex file to be downloaded to the PICkit 2 to later program PIC microcontrollers without a PC with a simple pressing programmer’s push button. I do not think that functionality is required for a hobbyist but allows simplify the schematic by omitting two 24C512 EEPROM chips. The Eagle Files designed using only thru-hole mounting parts.
Build your own PICkit 2 programmer - [Link]
The circuit for this project is quite simple. Its purpose is to adapt the GPIO pins of the Raspberry Pi to the voltages expected by the PIC. It also provides LEDs for diagnostic purposes.
PIC Programmer for the Raspberry Pi - [Link]
Microchip PIC® 8-bit microcontrollers are quite popular amongst hobbyists, and I’ve used them for a long time in several of my projects. They are very cheap, use only 35 assembly instructions that are easy to learn, and most importantly they use flash memory, which gives you the possibility to program the device virtually as many times as you want during your experiments. Up until now I’ve used a simple serial interface and picprog to program them under Linux, but sadly the trend is not to include a serial port anymore on new computers/laptops. Of course there are USB programmers on the market, but quite often their price exceeds 30€ and not all of them work well on Linux. Also a commercial programmer usually supports hundreds of different chips, while all I needed was a simple and cheap way to program, say, the four chips I work with most of the time. So, with the introduction of the Raspberry Pi, and the possibility to control external hardware through its GPIO connector, I thought it would be worth spending some time to design a simple interface and write a software to program some PICs. The result of about a week of work is rpp – a Raspberry Pi PIC Programmer that uses the GPIO connector.
Raspberry Pi PIC Programmer using GPIO - [Link]
This programmer supports: ST Micro M25(E), ST Micro M45(E), Macronix MX25L, Atmel AT25FS, Atmel AT25DF, Atmel AT25F, Amic A25LxxP, Amic A25Lxxx, Eon EN25(B/D/F/P) read only, Winbond W25X, Winbond W25Q (OTP), SST SST25(LV/VF)xx, SST SST25VFxxxB, Spansion S25FL and ESMT F25L.
vane @ tehnikservice.net gives out 2 x free PCBs for his SPI Flash programmer. Please leave a comment on this post and we will select two random winners to give out the PCBs.
SPI Flash Programmer V2 - [Link]
LadyAda some time ago build a low-cost AVR ISP. In μC.net there was a further development of the project under the name “AVR ISP Stick” or “People’s Programmer” I take up the project and develop it further with the permission of Ada.
AVR ISP Stick - [Link]
Since this is a well working low budget AVR ISP progammer (by Thomas Fischl), I offer a compact single-sided THT-SMD combined layout. The circuit is identical to the official programmer, so the original firmware can be used with this board. This programmer is supported by avrdude. One of the main features is that the low speed USB protocol stack is realized directly with the used AVR controller, which makes this programmer a low budget one, about 5EUR material costs. Notice however that this programmer cannot be used with 3V3 systems without an additional level shifter.
Alternative board for USBasp AVR ISP programmer - [Link]
The PICkit™ 2 Programmer/Debugger is a low-cost development tool with an easy to use interface for programming and debugging Microchip’s Flash families of microcontrollers. The full featured Windows programming interface supports baseline, mid-range, PIC18,8-bit, 16-bit, and 32-bit microcontrollers, and many Microchip Serial EEPROM products. With Microchip’s powerful MPLAB Integrated Development Environment (IDE) the PICkit 2 enables in circuit debugging on most PIC microcontrollers. In-Circuit-Debugging runs, halts and single steps the program while the PIC microcontroller is embedded in the application. When halted at a breakpoint, the file registers can be examined and modified.
Pickit 2 clone The Universal Microchip PIC Programmer / Debugger - [Link]
USBasp is a USB in-circuit programmer for Atmel AVR controllers. It simply consists of an ATMega48 and ATMega88 an ATMega8 and a couple of passive components. The programmer uses a firmware-only USB driver, no special USB controller is needed.
- Works under multiple platforms. Linux, Mac OS X and Windows are tested.
- No special controllers or smd components are needed.
- Programming speed is up to 5kBytes/sec.
- SCK option to support targets with low clock speed (< 1,5MHz).
USBasp – USB programmer for Atmel AVR controllers - [Link]