← Back to list

A Lower Cost way to Program PIC Microcontrollers

The Snap makes PIC programming more affordable

Leslie Foster · 2025-08-17 21:37 · 2 claps · 5.8 min read paywalled
#microcontrollers #pic-microcontroller #iot
Open on Medium ↗
Wiki topics: 💻 · Programming 📟 · Gadgets & IoT

A Lower Cost way to Program PIC Microcontrollers

The Snap makes PIC programming more affordable

Other articles in this PIC series have described the equipment needed to get started programming PIC16 and PIC24 microcontrollers. Produced by the Microchip Corporation, these little wonders can be found in a wide range of applications. Varying widely in power from 8/16 bit to 16/24 and beyond, they have been in use for decades. As described in PIC16LF18324 PWM. Pulse Width Modulation on this 8-bit… | by Leslie Foster | Medium or The Pic Ecosystem, microcontrollers are chips smaller than the CPUs in your laptop,desktop, or phone. They may run far slower and have far less memory, but they balance this by being more self-contained, and requiring far less current (power) than those general purpose workhorses. They tend not to have bulky user interfaces (unless someone goes to the trouble to adapt one) and they are not programmed the same way. You generally will not run an editor on a microcontroller and then turn around and run the resulting program as you would on a computer.

The way to get programs and data onto a microcontroller is to “burn” those bytes using a programming device that moves data into its flash memory. Modern microcontrollers use serial programming which uses only a few of their often very small count of pins. Programming devices are usually purpose-built by the same manufacturer who produces the chips. Having this separation of concerns between the running hardware and the programming device contributes to the microcontroller’s ability to complete its function in such a tiny package. But the implications are that you either have to purchase that device, or you have to use a special “development board” that has it built in (think Arduino, PiCo, ESP-32 Xiao, etc.). And while the development board is very easy to work with, it may or may not be usable as a programmer for similar chips. A one-time purchase of one of these programmers allows you to work with not only more than one chip, but more than one type of chip — usually a “family” of devices from the same company.

The solution proposed for PIC flashing in other articles in this series has been the PICKit 4. There are multiple generations of PICKits, with some of the recent versions being PICkit 3, PICkit 4 and PICkit 5. These are great gadgets that have been found to work very well for (as covered in these articles) PIC16LF18324, PIC24FJ256GA702, PIC16F630, and even a dsPIC33. They usually cost more than the chips they program. In the past, a PICKit 4 cost over $100 new. As of August, 2025, the PICKit 5, which is the latest in the series, is selling directly from Microchip Corp for around $75. It is also possible to get older versions for as little as $30, but that is entirely at your discretion. Rather than the PICKits, the subject of this article is instead their cheaper “little brother”, called “Snap”

Snap

At time of writing, the Snap is still the least expensive programmer for PIC devices. At just $10.99 USD as of August 2025, buying one new is still cheaper than the older PICkits. If you prefer something physically unobtrusive, the snap is much smaller than the credit card-sized PICKit 4 at roughly ⅔ the length. Be sure to remember where you put it! This discussion will compare it only to the PICKit 4 since that is the one described in my previous articles.

Snap programmer. Note the “pointer triangle” on the bottom right. That points to pin 1.

Snap programmer. Note the “pointer triangle” on the bottom right. That points to pin 1.

Compared to the PICKit 4, its advantages are:

  • Low price
  • Same “pinout’ as the PICKit4
  • Also functions off a USB cable
  • Handles many of the same devices (more on that below)
  • Produced by the PICKit (and PIC chip) manufacturer

It does have some disadvantages:

  • It arrives with no case. It is an open board, like an Arduino or Raspberry PI
  • It cannot provide power to the device as it is being programmed
  • It does not support all of the same devices as the PICKits

Of the devices written up in these articles to date, the only one that the Snap is not compatible with is the PIC16F630. The 630 is the least powerful and probably the oldest of those, however. It has only a very few on-chip peripherals, runs very slowly, and has very little flash or RAM compared to the PIC16LF18324, for example.

Before purchasing a Snap, please check your chip in this support matrix. https://packs.download.microchip.com/DeviceDoc/Device_Support.pdf . Here is a sample of its format.

For example: PIC16F630 is not compatible with the SNAP programmer or SNAP debugger

For example: PIC16F630 is not compatible with the SNAP programmer or SNAP debugger

To Use the Snap

The Snap programmer is used very similarly to the PICKits. As it lacks any chip power support, it does not require selecting powered vs unpowered in the IDE. It will of course require you to supply power to the chips you are programming. That can be done with a pair of 1.5 volt batteries like AA or AAA or even a coin cell if you are power savvy. You can also use a power supply such as those frequently included in electronics kits, or some other means of getting 3.3 DC volts onto your breadboard. If you use your cleverly crafted circuits for any length of time, you are not going to want them tethered to a programming device. Nor is that their intended purpose.

The Snap has five pins that are used in programming most of these chips. When viewed so that most of the silk screen writing is in standard orientation (you can read it), and with the electronic components facing you, the USB connector is at the top, and the female pin header is at the bottom. That orientation is in the image above. You should also see a black, solid triangle “pointing” toward the right edge of the header. The header is the black plastic rectangular block with pin holes running into the board. The triangle points to PIN 1. There is no other indicator of where this is, and you have to get it right.

These connections are required:

  1. Pin 1 to /MCLR
  2. Pin 2 to Vdd
  3. Pin 3 o Ground
  4. Pin 4 to PGD
  5. Pin 5 to PGC

All the other pins may be ignored. How you connect the opposite end of the wire or Dupont cable depends on what chip you are programming. The /MCLR of the PIC16LF18324 is midway along the left side, but it is pin 1 of at least some of the dsPIC33s. Likewise, you will need to find the correct routings for the PGC (programming clock) and PGD (programming data) pins. Luckily, aside from the target chip’s power requirement, the pinouts will match descriptions provided for PICKits, so they are nearly interchangeable. The Vdd pin of the Snap is used only for detecting power, rather than optionally supplying it as in the PICKits.

The MPLABX IDE

Below are some screen shots involving the programming device. You can get to its configuration screen by “menu clicking” on the project in the projects tree.

Getting to the Hardware Tool configuration

Getting to the Hardware Tool configuration

Configuration with the Snap tool. This is seen only if the USB cable is plugged in

Configuration with the Snap tool. This is seen only if the USB cable is plugged in

Make the choice

Make the choice

Users of PICKits may remember how to configure the MPLABX IDE projects to use it. The Snap programmer is similar. Note the “Snap” item in the Configuration categories. Also, note the hardware tool selection dropdown. Once configured, and with the proper device settings in the MPLABX IDE, there is little else to configure for the Snap programmer.

Conclusions

WIth this alternative in hand, programming PICs can be a lot more affordable. Please do refer to the compatibility matrix before ordering chips if you intend to use this one. Also, please remember that this one will not back-power your projects as they are being programmed. And finally, this one doesn’t have a case. For that reason, you may consider it too light-duty for extensive use. As a hobbyist, it may be a perfect choice.

Special thanks to Drew Foster for editorial input.


메타데이터
post_id
8a3a35ac20d3
slug
a-lower-cost-way-to-program-pic-microcontrollers-8a3a35ac20d3
url
https://medium.com/@lfoster.se.be/a-lower-cost-way-to-program-pic-microcontrollers-8a3a35ac20d3
canonical_url
https://medium.com/@lfoster.se.be/a-lower-cost-way-to-program-pic-microcontrollers-8a3a35ac20d3
author_url
https://medium.com/@lfoster.se.be
status
ok
fetched_at
2026-07-29 06:11:15