MAKING A PICKIT 3 CLONE
After using the Microchip tools to program and debug the projects I work on, I wondered about creating my own programming/debugging module that I could put on my own boards – just like Microchip does with their starter kits and such. As I became more interested in that idea, I began to search the web to see if anyone else had already done something similar. Initially, I found lots of posts regarding the 2nd version of the Pickit – the Pickit 2, but not as much regarding the latest version – the Pickit 3 – which is what I need to program the 32 bit pic processors that I am using. After a while I came across a post – From this blog
This Individual had created his own version of the Pickit 3 and had posted his method for doing so. I was excited to see some real information about the process, and set about determining how I would do the same, now that I knew someone else had verified that it would work.
The version that was built on the blog linked above, was done so on a protoboard using a variety of components, and was completely hand-wired. As impressive as that is, I was looking for something a bit sleeker – especially since I was looking at some point to modularize it and use it on other designs. I decided that I would design my project to use surface mount components and a purpose designed PCB. With that in mind, I set out to create my schematic. After looking at the one from Hendrik’s blog post above, and also studying the actual Microchip pickit 3 schematics that are publicly available in the documents released by Microchip, I came up with the following schematic. It is pictured below, and here is a link to the full-sized PDF: My Schematic
This schematic is very similar to the one Hendrik used, with a couple component changes and a fix for a PNP transistor that was shown backwards on his schematic. I’ll briefly talk about the different sections that I have labeled above. First – in the upper left corner is the pic24 processor that controls this device. It is a PIC24FJ256GB106 mcu. There are the requisite capacitors and 12MHz crystal attached, as well as a programming header to load its firmware. In addition to these components, the USB connector is shown, as well as the status LEDs and OTG Button connections. Directly below the MCU is the MCP1727 voltage regulator. At the bottom is a LTC4411, a MAX893L, and associated circuitry that among a couple other things, controls the power to the programming target, if it is not self-powered, and this device is supplying power to it. Above that is a MCP601 op-amp and voltage boosting circuitry. In the middle of the page is a MCP1525 voltage reference chip and the Target programming header. Top center you will see the three 74LVC1T45 voltage level shifters, and to the right are the 25LC256 EEPROM and also the SST25VF040B serial flash chip used for the Code image when doing OTG programming.
After carefully checking my schematic against the one used on the Blog and also against the one published by Microchip – I was satisfied that it was accurate and I moved on to laying out the PCB.
I decided to use a 4 layer board for this design with the following layer stack:
Layer 1 (Top) – Signal and components
Layer 2 – Ground Plane
Layer 3 – Power Planes
Layer 4 – Signal
I decided to use the open-source EDA program Kicad to design a 4 layer SMD project. I had only used it for 2 layer PTH designs previously, but wanted to see how it would do in something a little more complex than the ones I had already done. Here is a link to the completed Kicad project files – Kicad Project Files
Read More: MAKING A PICKIT 3 CLONE