All About Circuits

The PIC16C84: A $3.72 Chip That Put Microcontrollers on Every Workbench

In this Retro Register, we look back at the first EEPROM-based microcontroller and how a cheap chip with a simple programming interface created the hobbyist MCU scene.


News 6 hours ago by Luke James

Before 1993, reprogramming a microcontroller called for a ceramic package with a quartz window and a 20-minute wait. On March 16 of that year, however, Microchip Technology introduced the PIC16C84 at a suggested price of $3.72 in 10,000-unit quantities, ending that ritual. 

 

Two Microchip PIC16C84 chips

Two Microchip PIC16C84 chips. Image used courtesy of _brouhaha_ via Wikimedia Commons (CC BY-SA 2.0)
 

The PIC16C84 was the first microcontroller to store its program in EEPROM, electrically erasable memory that could be wiped and rewritten in seconds with no special equipment. Roughly a quarter of the cost of comparable parts, it found its way into smart cards, remote controls, and car key fobs, and, almost by accident, launched the hobbyist microcontroller culture that eventually produced Arduino.

 

An Unlikely Lineage

The PIC architecture was never designed to be anyone's main processor. General Instrument created the original PIC1650 in 1976 as a programmable peripheral for its CP1600, a 16-bit microprocessor with a heavily multiplexed bus that was awkward to interface directly. The "Peripheral Interface Controller" handled I/O so the CP1600 didn't have to.

When General Instrument spun off its microelectronics division as Microchip Technology, the PIC line came with it. The 16C84 inherited the family's Harvard architecture, separate program and data buses, a 35-instruction set, and single-cycle execution for most operations—with four clock cycles per instruction cycle, so a 4-MHz crystal delivered a million instructions per second. Its 18-pin DIP held 1,024 14-bit words of program EEPROM, 36 bytes of bank-switched RAM, 64 bytes of data EEPROM, 13 I/O pins, and one 8-bit timer.

The competition looked stronger on paper, including heavy-hitters like Intel's 8051 derivatives, which offered more memory, more peripherals, and a richer instruction set. But most affordable 8051-class parts ran external EPROM or shipped as one-time-programmable devices. The windowed ceramic versions were suitable for development, but cost many times as much as the plastic production parts. With the 16C84, the same $3.72 plastic part handled prototyping, teaching labs, and production runs. 

 

The Programmer That Cost Pocket Change

The chip loaded its program over a two-wire serial interface rather than the wide parallel connections of earlier devices, and that decision, along with the EEPROM, made it an inflection point. A working programmer needed little more than a PC parallel port, a handful of resistors, and a transistor or two. Free DOS software handled the rest. Rod Drake, the chip's lead designer, later summarized the appeal for IEEE Spectrum: "Users could change their code on the fly."

 

The PIC16C84's program memory flow chart

The PIC16C84's program memory flow chart. Image used courtesy of Alldatasheets.com

 

Designs for homebrew programmers, most famously David Tait's, spread across the early internet alongside free assemblers and code libraries. For the first time, a student or hobbyist could go from idea to running silicon for under $10, with an edit-burn-test cycle measured in seconds. University courses adopted the chip, magazines published projects around it, and a self-sustaining ecosystem of newsgroups, websites, and books grew up to support it. The formula of a cheap reprogrammable chip, free tools, and community-shared knowledge became the template every later platform followed.

In production, the EEPROM let manufacturers program devices after board assembly, update firmware late in a development cycle, and serialize individual units, none of which was practical with one-time-programmable or UV-erasable parts.

 

From EEPROM to Flash and Beyond

The 16C84's direct successor, the flash-based PIC16F84 of 1998, replaced it with cheaper, denser memory and inherited its enormous following; for years it was the default answer to the question, "Which microcontroller should I learn first?" 

The broader PIC line expanded into hundreds of variants, and by September 2011, Microchip had shipped its 10 billionth PIC microcontroller. Atmel's AVR family, which followed in the late 1990s with in-system reprogrammable flash from the outset, competed directly for the same hobbyist mindshare and ultimately powered the original Arduino boards.

The pattern the 16C84 established now defines the entire embedded industry. Every modern MCU ships with reprogrammable flash, in-circuit serial programming, and free development tools. Vendors court hobbyists and students as deliberately as they court design wins, knowing that the engineer who learns on a $4 chip specifies parts for a living a decade later.

A 1-KB microcontroller from 1993 proved that lowering the barrier to entry is worth more than any single specification, and the world's workbenches have never looked back.

 


 

Was the PIC16C84 or its flash successor your first microcontroller? Tell us about your earliest MCU projects in the comments below.