Learn how to program the 50 pence chip
For the ultimate in low-cost embedded applications, the PIC microcontroller takes some beating. Mike Bedford shows you how to program it.
Mike Bedford
OUR EXPERT
Mike Bedford discovered PICs many years ago and felt an immediate affinity since they provided an ideal way of working on hardware and software together.
With the entry-level boards in Raspberry Pi family costing less than £5, we’re fully conversant with the low cost of computing power. Yet if you’ve not encountered them before, the price of chips in the PIC microcontroller range from Microchip Technology might still be surprising. The fact is that an entry-level PIC chip can be bought for about 40p, and this drops to as little as 25p in high volumes.
Needless to say, these chips don’t offer a lot of processing power - in fact many of them wouldn’t even be able to support an operating system. Yet in many embedded applications - that’s where the processor works invisibly in the background - the requirement for number crunching is minimal, and an operating system is unnecessary. What’s more, as we’re about to see, those cheap chips contain a lot of circuitry like memory that you might expect to be external to the processor.
Here we introduce you to PIC microcontroller chips and show you how to program them using the MPLAB Xpress IDE and a Curiosity development board. Although real-world applications of PIC devices involve using just the chip which you’d incorporate into your own circuit board, using a ready-made board for learning to develop code offers a simple, ready-to-go solution at low-cost.
A key thing to bear in mind about PIC chips is that they’re microcontrollers, not microprocessors. This means that they’re effectively microprocessors with the addition of on-chip RAM, flash storage, non-volatile program memory, and input/ output circuitry for interfacing to real-world devices. For this reason they can be used in embedded applications with a minimum of external circuitry.
Daddy or chips?
According to manufacturer Microchip Technology, there are several official families of PIC, but to cut a long story short, eight-, 16- and 32-bit architectures are available. Within each of these broad categories, specific products differ mostly in the amount of each type of on-chip memory and the number and type of I/O pins.
Some top-end chips, which are intended for signal processing applications, have the addition of DSP instructions. However, at the other end of the spectrum are chips that are aimed at applications where low cost and a small size are the most important considerations. For example, the PIC10F200-I/OT is an eight-bit microcontroller that runs at a clock speed of 4MHz. It has 256 bytes of program memory, 16 bytes of RAM, and four digital I/O pins. The chip is tiny, having just six or eight pins and, depending on the package type, measures as little as 2.8x2.9mm.
You might be more used to processors having hundreds of connections or more, but this tiny eight-pin PIC chip is a processor with on-chip memory and I/O.
Credit: Microchip media relations
Development kit