A peripheral interface controller (PIC) is a type of microcontroller that is commonly used by hobbyists and inventors. A PIC microcontroller typically has between 20 and 60 pins that control the input and output from the microcontroller. They are usually integrated into a circuit board and programmed using C language. PIC microcontrollers are inexpensive, flexible, and easy to use, which makes them a popular choice in microcontrollers.
There are many types of PIC microcontrollers available. The differences between the different models are the form factor, number of pins, and amount of memory. The dual in-line package (DIP) is usually preferred by PIC hobbyists, because it is easier to work with and can be easily added to a bread board. The quad flat no-leads (QFN) package is generally used in industrial settings, because it is more compact. Most people will not use all of the pins or memory in their PIC microcontroller, so it is not necessary to buy a top-of-the-line microcontroller.
A hobbyist will usually hook up his or her microcontroller to a breadboard or circuit board. A breadboard is easier to use, but the circuit board is preferable in more permanent applications because it is more compact and durable. Inputs and outputs such as motors, LED lights, and sensors can be hooked up to the pins from the circuit or bread board. These can then be controlled by the PIC microcontroller.
To program a PIC microcontroller, it is necessary to have a PIC programmer. These are typically much more expensive than the microcontroller themselves and hook up to the microcontroller through the USB or serial ports on a computer. Programming the microcontroller also is done through C. The programming usually consists of getting input and output from the pins. It is typically fairly difficult for a novice to program a PIC microcontroller, though it can be learned through books or online tutorials.
The PIC microcontroller is similar to the AVR microcontroller. These are the two most popular choices for microcontroller enthusiasts. Neither of these microcontrollers is a clearly better option. Both are cheap, programmed in C, and similar in appearance.
Another option to consider is the relatively new Arduino® platform. It is an open source project based on the AVR microcontroller. It is significantly easier to program an Arduino® than a PIC microcontroller, so it may be a better choice for those without much programming experience.