The PIC 16F628: Why the PIC 16F84 is now obsolete.

by: Byron A. Jeff
developer of the
TLVP Low Voltage PIC programmer


Be sure to check out my new languages page where I talk about cool crossplatform Languages for the PIC.

Also read to the bottom for an update on even newer, jampacked PICs that you should consider adding to your toolbox.

For nearly a year now I've been advocating the use of the 16F628 for new small pin package PIC projects. After writing dozens, if not over a hundred, posts on the subject. I finally realized that if I am to continue the crusade I needed to summarize the features in one spot. So here it is.

I'd like to start by saying that the 16C84, the 16F84, and the 16F84A are all outstanding parts, especially for the hobbyist. With their flash based reprogrammability, and reasonable costs, they provided an avenue for many developers to enter the microcontroller arena.

However at this point there is a lot of inertia. With the widespread books, articles, and websites about the 16F84, the fact that Microchip has progressed in their product lines is somewhat obscured. The purpose of this page is to outline the feature advantages Microchip's new low end product line and to argue that the 16F84 should be considered obsolete.

Microchip has several new flash based products. The 18F series, now in full production, has somewhat of a lag in both development and high level language environments. The 16F87X family is an outstanding product line, but does not have a pin compatible version to the 16F84. The third line: the 16F62X line, headed by the 16F628, is pin for pin compatible with the 16F84. It has many many new features:

  • More memory (comparison of the 16F628 to the 16F84A):
    • More program memory (2K to 1K)
    • More data memory (224 to 68 bytes),
    • more data EEPROM (128 to 64 bytes)
  • More hardware:
    • hardware serial USART,
    • 3 timer as compared to 1 for the 16F84A
    • hardware PWM
    • hardware compare/capture registers
    • dual onboard comparators
    • programmable voltage reference
  • More features:
    • onboard 4Mhz/37Khz RC oscillator for timing insensitive apps
    • brownout detector
    • low voltage programming capable
    • capability to add 3 additional I/O pins by repurposing MCLR, and the two oscillator pins giving up to 16 I/O pins in an 18 pin package.
  • Hardware/Software/programming compatibility
    • It has the same pinout as the 16F84A.
    • the 16F628 will run 16F84A code with only very minor modifications. This conversion page describes some of the software differences to be aware of.
    • The 16F628 can be programmed with 16F84A programming hardware, but requires updated programming software to access all the 16F628 program memory
    • As stated above the 16F628 can be programmed in low voltage programming mode. Programmers such as my Trivial Low Voltage Programmer can program the 16F628 part.

Finally the kicker:

The 16F628 costs less than the 16F84A!!!!

That's right. The far superior part in features costs less than the older, less featured part.

The 25 part price of the 16F84A is $3.69 at Digikey. The 16F628 price is $2.21. That's for 20 Mhz parts. The disparity is larger for smaller quantities.

As one local Atlanta radio station ad states:

"THIS IS THE BIGGEST NO BRAINER IN THE HISTORY OF MAN!"

The 16F628 is bigger, better, badder, and cheaper. It's 4 for 4 over the 16F84 or 16F84A. Even Microchip is clearly trying to steer folks away from the 16F84 with their pricing.

So that's it. The 16F628 is superior in every way to the 16F84.

  • It's pin and virtually code compatible.
  • It cost less.
  • It can be programmed with cheaper and simpler hardware.
The only reason not to use the part is a lack of awareness. And that's the purpose of this page.

Even Newer PICS!

This page hasn't been updated for awhile. In the last year or so a crowd of new parts have shown up. Most have the really cool oscillator module that has multiple speeds and good enough precision to be used for async serial projects. Be sure to check them out:
    First the 16F6XX family has been update to an "A" version which is cheaper than the originals. In addition a bigger part has been added. The PIC 16F648A has all the goodies and a 4K program space.

    Others include the 16F819, the 16F88, and the 16F676 (a 14 pin version of the tiny 12F675). Some of the parts even add an A/D converter to the mix. Instead of outlining them individually I suggest you take a look at Randy Jones GlitchBuster.com site, which has both great descriptions and great prices on these parts.

    Also I invite you to check out the Microchip Sample Area where you can get samples for many of these parts.