
{"id":1072,"date":"2016-10-03T14:24:34","date_gmt":"2016-10-03T13:24:34","guid":{"rendered":"https:\/\/www.kanda.com\/blog\/?p=1072"},"modified":"2023-08-31T12:40:51","modified_gmt":"2023-08-31T11:40:51","slug":"pic-programmer-need","status":"publish","type":"post","link":"https:\/\/www.kanda.com\/blog\/microcontrollers\/pic-microcontrollers\/pic-programmer-need\/","title":{"rendered":"Which Pic Programmer Do You Need?"},"content":{"rendered":"\n<p>Microchip PIC microcontrollers come in a wide variety of types from very old PIC16C family through to the latest PIC16F and PIC18F devices, with several other less common types as well. Apart from some very old chips, they are all In Circuit Serial Programmable, which means that they can be programmed in circuit using a PIC ICSP programmer.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>There may be some overriding reason why you want to program PIC microcontrollers in a socket programmer before placing them in the circuit but it is hard to think of the benefits as socket programmers aren&#8217;t any faster. <\/p>\n\n\n\n<p>You also lose the advantage of being able to do firmware updates later, to fix bugs, update a product&#8217;s features or customise a product. In System programming has to be the way to go.<\/p>\n\n\n\n<p>Ok, you need a PIC ICSP programmer not a socket PIC programmer, which one should you get? The obvious first choice is a Microchip PICKit4 programmer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PICKIT 4 <\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/Pickit-4.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"250\" src=\"https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/Pickit-4.jpg\" alt=\"\" class=\"wp-image-1995\" srcset=\"https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/Pickit-4.jpg 250w, https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/Pickit-4-150x150.jpg 150w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/a><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.kanda.com\/products\/Microchip\/PICKIT4.html\">PICKit4 Information<\/a><\/p>\n\n\n\n<p>This has these advantages<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Emulator as well as a programmer<\/li>\n\n\n\n<li>Works from within MPLAB software<\/li>\n\n\n\n<li>Also has its own programming software<\/li>\n\n\n\n<li>Low cost<\/li>\n\n\n\n<li>Can power target circuit (up to 30mA)<\/li>\n\n\n\n<li>USB interface<\/li>\n\n\n\n<li>Free firmware updates from MPLAB<\/li>\n\n\n\n<li>6-way DIL ISP connector<\/li>\n<\/ul>\n\n\n\n<p>For development use, it is hard to beat PICKit4 as it acts as an ICE to debug code as well as a programmer. Other Microchip development tools like ICE2 have an RJ11 (telephone jack) connector rather than the simple 6-way ICSP connector. <\/p>\n\n\n\n<p>This gives connection issues when you move a product to production as RJ11 is a big, relatively expensive connector choice. They have more debug features but are not good at small scale programming unlike PICKit3. Kanda supply PICKit4 with all our <a href=\"https:\/\/www.kanda.com\/blog\/microcontrollers\/pic-microcontrollers\/pic-microcontroller\/\">PIC microcontroller<\/a> training products.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PIC SNAP<\/h2>\n\n\n\n<p>PIC SNAP is a low cost, unboxed version of PIC KIT. It can act as a debugger and programmer. It has many of the same features as PIC Kit 4 and works from MPLAB IPE PIC  programming software or as a Debugger in MPLAB IDE.<\/p>\n\n\n\n<p>Kanda supply SNAP PIC Programmer and Debugger with our low cost PIC training kits.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/mplab-snap.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"260\" height=\"260\" src=\"https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/mplab-snap.jpg\" alt=\"\" class=\"wp-image-1996\" srcset=\"https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/mplab-snap.jpg 260w, https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/mplab-snap-150x150.jpg 150w\" sizes=\"auto, (max-width: 260px) 100vw, 260px\" \/><\/a><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.kanda.com\/products\/Microchip\/MPLAB-SNAP.html\">SNAP PIC Programmer and Debugger<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Production PIC Programmer<\/h2>\n\n\n\n<p>Once you move to production, you probably need something more robust. Having a simpler user interface and the ability to supply more power to the target would be additional benefits. We supply Asix PIC programmers commonly for production as they have lots of production friendly features, such as a Go button , serial numbering and a DLL interface.<\/p>\n\n\n\n<p>The low cost <a href=\"https:\/\/www.kanda.com\/products\/Asix\/PRESTO.html\">PRESTO PIC Programmer<\/a> programmer is slower than the more expensive <a href=\"https:\/\/www.kanda.com\/products\/Asix\/FORTE.html\">FORTE Version<\/a> and can only supply 12.V programming voltage. Newer PIC16F1xxx and some PIC18Fxxx require only 9V VPP so would need a circuit to limit VPP voltage if programmed with PRESTO.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.kanda.com\/images\/forte-icsp-programmer3.jpg\" alt=\"Forte PIC Programmer\" style=\"width:294px;height:294px\" width=\"294\" height=\"294\"\/><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.kanda.com\/products\/Asix\/FORTE.html\" target=\"_blank\" rel=\"noreferrer noopener\">FORTE AVR and PIC Programmer<\/a> <\/p>\n\n\n\n<p>Both support all PIC microcontrollers, including PIC24, PIC32 and dsPIC. They also support AVR microcontrollers, Atmel dataflash, Serial EEPROMs, TI MSP430 and CCxxxx microcontrollers, CPLDs and many more. As a single programmer for all your production needs, they take some beating.   <strong>FORTE<\/strong> programmer is generally twice as fast as <strong>PRESTO<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Portable PIC Programmer<\/h2>\n\n\n\n<p>What about field updates?  Or production without a PC? What ever you do, it makes sense to add an ICSP interface to your circuit. It is only a 6 x 1 pin header with a few resisters &#8211; see <a href=\"https:\/\/www.kanda.com\/pic_programmer_icsp_guide.php\">PIC ICSP Circuit Schematic<\/a>. This gives you flexibility to change the firmware in existing products once they have been shipped and you never know when this might be necessary.<\/p>\n\n\n\n<p>Of course, you could use a PICKit4 or PRESTO programmer but these require laptops and some skill to use the programming software. A better solution is a PIC programmer designed specifically for field updates and <a href=\"https:\/\/www.kanda.com\/PIC-Handheld-Programmers.137.html\">Kanda Handheld PIC Programmers<\/a> fit the bill.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kanda Standalone PIC Programmers<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"250\" src=\"https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/HH0120.gif\" alt=\"\" class=\"wp-image-1997\"\/><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.kanda.com\/PIC-Handheld-Programmers.137.html\" target=\"_blank\" rel=\"noreferrer noopener\">Kanda Handheld PIC Programmers<\/a><\/p>\n\n\n\n<p>They are loaded from the PC but are then completely standalone. A single button press will update the target, which means that anyone can use them. What could be easier?<\/p>\n\n\n\n<p>There is a single image version and an 8-way PIC Handheld programmer that can store up to 8 different target images, selected by a rotary switch.<\/p>\n\n\n\n<p>They can be powered by a battery or from a power supply and can power target if required.  They can be used anywhere and no programming skill is needed, which makes them ideal for field updates, product customisation or unskilled production.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Keyfob PIC Programmer<\/h4>\n\n\n\n<p>Another Kanda solution to portable PIC Programming is our PIC Keyfob programmer. This is a simpler version of the handheld programmer.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/PIC-KF0030V3.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/PIC-KF0030V3.jpg\" alt=\"\" class=\"wp-image-1998\" srcset=\"https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/PIC-KF0030V3.jpg 300w, https:\/\/www.kanda.com\/blog\/wp-content\/uploads\/PIC-KF0030V3-150x150.jpg 150w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/www.kanda.com\/Keyfob-PIC-Programmers.138.html\" target=\"_blank\">Keyfob PIC Programmer<\/a> range are even simpler and come in a keyfob case, hence the name. They are low cost, easy to ship and hold one PIC image for standalone programming. Just plug them in and press button &#8211; target <a href=\"https:\/\/www.kanda.com\/blog\/microcontrollers\/pic-microcontrollers\/pic-microcontroller\/\">PIC microcontroller<\/a> must be powered.<\/p>\n\n\n\n<p>Like our standalone handheld programmers, they will supply 9 or 12V High Voltage Programming voltage or they also support Low Voltage PIC Programming method.<\/p>\n\n\n\n<p><strong>PIC Programmer Links<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.kanda.com\/pic-programmer.html\">PIC Programmer Guide<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.kanda.com\/pic-keyfob-handheld.html\">PIC Handheld Programmers<\/a><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/www.kanda.com\/Keyfob-PIC-Programmers.138.html\" target=\"_blank\">Keyfob PIC Programmer<\/a> <\/p>\n\n\n\n<p><a href=\"https:\/\/www.kanda.com\/blog\/microcontrollers\/pic-microcontrollers\/pic-microcontroller-choose\/\">Which PIC Microcontroller to Choose?<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.kanda.com\/pic-vs-avr.php\">PIC versus AVR<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.kanda.com\/blog\/microcontrollers\/pic-microcontrollers\/pic-hex-file-format\/\">PIC Hex File Format<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microchip PIC microcontrollers come in a wide variety of types from very old PIC16C family through to the latest PIC16F and PIC18F devices, with several other less common types as well. Apart from some very old chips, they are all In Circuit Serial Programmable, which means that they can be programmed in circuit using a &hellip; <a href=\"https:\/\/www.kanda.com\/blog\/microcontrollers\/pic-microcontrollers\/pic-programmer-need\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Which Pic Programmer Do You Need?<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[20],"class_list":["post-1072","post","type-post","status-publish","format-standard","placeholder-for-hentry","category-pic-microcontrollers","tag-picprogrammer"],"_links":{"self":[{"href":"https:\/\/www.kanda.com\/blog\/wp-json\/wp\/v2\/posts\/1072","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kanda.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kanda.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kanda.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kanda.com\/blog\/wp-json\/wp\/v2\/comments?post=1072"}],"version-history":[{"count":7,"href":"https:\/\/www.kanda.com\/blog\/wp-json\/wp\/v2\/posts\/1072\/revisions"}],"predecessor-version":[{"id":1999,"href":"https:\/\/www.kanda.com\/blog\/wp-json\/wp\/v2\/posts\/1072\/revisions\/1999"}],"wp:attachment":[{"href":"https:\/\/www.kanda.com\/blog\/wp-json\/wp\/v2\/media?parent=1072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kanda.com\/blog\/wp-json\/wp\/v2\/categories?post=1072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kanda.com\/blog\/wp-json\/wp\/v2\/tags?post=1072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}