Skip to content

Top 15 Popular PIC Microcontrollers in the Market

A lot goes into the design of quality electronics regardless of the intended application. A key component of embedded systems in electronics is the microcontroller. While diverse, an electronic designer needs to settle for a microcontroller type that suits their electronic needs. PIC microcontrollers are one such type.

PIC microcontrollers are programmable and the world’s tiniest. It is capable of carrying out a diverse task range. Therefore, you will find them in alarm systems, computer control systems, phones, alarm systems, etc. Understanding the diverse types of PIC microcontrollers informs the design process and programming of PIC microcontrollers. Want to learn more? Continue reading.

About PIC Microcontrollers

PIC microcontrollers, alternatively inferred as programmable interface controllers, came to the fore in 1993. Primarily designed and developed to support PDP computers in controlling their auxiliary devices, it currently has an expanded scope.

The PIC microcontrollers are based on Harvard architecture, which makes them popular. It stems from the ease in which it can get programmed, low cost, wide availability, and a simple interfacing capability with other auxiliary components. Additionally, it possesses a huge user base besides capacity for serial programming.

As an integrated chip, a PIC microcontroller consists of a ROM, RAM, timers, CPU, and counters that support protocols like CAN, UART, and SPI for interfacing purposes. It also has flash memory, I/O ports, EEPROM, UART, SSP, ADC, and PSP besides ICSP and LCD. Such components form a fundamental aspect of the PIC microcontroller architecture.

The architecture of the PIC microcontroller defines its functionality. Besides considering the four classifications of the PIC microcontroller that rely on the internal architecture, understanding the different PIC microcontrollers’ types becomes ideal before the design process. Classifications include baseline PIC, enhanced mid-range PIC, mid-range PIC, and PIC18.

PIC microcontrollers also need programming to tailor them to their specific applications. As a designer, you need to factor in the PIC microcontroller programming software to deploy before development. It allows for its proper functioning upon completion. In most instances, the typical programming language often features the embedded C language. Let us now look into the architecture and programming process of the PIC microcontroller.

PIC microcontroller programming

The architecture of PIC Microcontrollers

It only becomes possible to design and program a PIC microcontroller after understanding its architecture. The architecture entails I/O ports, CPU, A/D converter, interrupts, oscillator, counters/timers, memory organization CPP module, and serial communication.

Central Processing Unit

It is similar to other microcontroller CPUs. It has a CU, AC, ALU, accumulator, and MU, among other components. Every aspect has its use. For instance, a control unit (CU) controls everything connected to the CPU. An arithmetic logic unit (ALU) carries out arithmetic operations besides undertaking logical decisions. A memory unit (MU) stores instructions, etc.

Memory Organization

The MU or memory organization module consists of ROM, RAM, and STACK. RAM comes unstable and stores data momentarily in its registers. RAM registers get classified either as general-purpose (GPR) or special function registers (SFR). On the other hand, ROM stores data permanently and, for a microcontroller case, the program.  It all functions through the execution of instructions by the CPU. EEPROM allows for programming of the ROM numerous times instead of what happens in a typical read-only memory (ROM). Flash memory is also PROM and thus can write, read, and erase programs multiple times. Lastly, STACK stores and executes the information from the completion of the interrupt execution.

I/O Ports

All PIC16 contain five ports, including Port A, B, C, D, and E. Port A is a 16-bit port for output and input based on the TRISA register. The next is Port B, which comes as an 8-bit port for output or input functions, while Port C is similar to Port B but with its operation specified by the TRISC register. Port D acts as the slave port for Bus connection, while Port E comes as a 3-bit port that controls the digital or analog converter signals.    

Bus

Its primary function is to receive and transfer data from a peripheral to the next. The bus has two classifications in address bus and data bus. The data bus only receives and transfers data while the address bus transmits the memory address to the CPU from the peripherals.

A/D Converters

It works by converting analog voltage values into digital voltage values; it has five inputs for twenty-eight pin devices and eight inputs for forty pin devices. Such an operation gets controlled by ADCON1 and ADCON0 special registers.

Counters/Timers

PIC microcontrollers have four counters/timers, whereas the 8-bit timer or the rest can accommodate eight or sixteen-bit mode, depending on your choice. It generates accuracy actions such as particular time delays among two operations.

Serial Communication

It infers to the sequential transfer of data bit by bit over a specific communication channel. It includes the USART that uses a single wire to transfer data (about clock pulses). Serial communication also entails SPI protocol that supports three-wire SPI communication and I2C protocol that connect low-speed devices.

Oscillators

It primarily gets utilized for time generation. The PIC microcontroller has external oscillators such as crystal oscillators and RC oscillators.

CCP Module

It functions either in the “capture,” “compare,” or “PMW” modes. Capture seizes the signal arrival time and the compare mode functions in comparing signal capture in analog. On the other hand, PWM mode offers pulse width tempered output with a programmable duty cycle and a 10-bit resolution.  

Programming PIC Microcontrollers

PIC microcontrollers always require a PIC programmer, especially when building a PIC microcontroller project. Programming comes by way of an embedded C language, and as such, a designer needs to familiarizing with all these aspects before building their PIC controller project. But what does it all entail?

Considerations

Before getting started on the PIC microcontroller programming front, it is crucial to understand how a standard microcontroller gets developed. However, the underlying considerations entail picking an ideal project for the microcontroller program, such as an LED flash system. Designing the circuit also becomes vital. Here, aspects such as circuit components, diagrams, and connections come into consideration.  

Programming Process

The programming of PIC microcontrollers often gets carried out through the “MP-Lab” software. It requires installation before proceeding to install the compiler. Compilers include GCC compiler, CCS compiler, etc. After completion of the installation process, all you need is to follow the process below.

  • Open the program (MPLAB software). It will display the menu bar with diverse options such as tools, file, edit, project, and view options.
  • Choose the christened “project” option and go for the “project wired” option on the drop-down menu. It will open the window that will be instrumental in your programming.
  • Pick a suitable microcontroller type for your project
  • Pick a suitable compiler based on your needs besides your project’s location path. You can pick the CCS or the GCC compiler depending on your PIC microcontroller needs. After that, choose the browse option then the “ccsloader” within the PICC folder from the program files. At this point, a source group folder gets created in the intended folder.
  • At this stage, it becomes vital to assign the appropriate name to your project before clicking “Next” to save the project. Within the target folder, a source group folder gets created, which you select the file menu and pick the new file from the drop-down list.    

Loading the Code to the PIC Controller

After coming up with the PIC microcontroller code, you have to load it into the microcontroller in a process inferred as dumping. Microcontrollers solely comprehend the machine-level language featuring 0’s and 1’s. As such, the dumping process requires specific code loading software.

It is crucial to select and install your preferred software program from many options in the market. Additionally, the PIC programmer kit will come complete with a hardware kit. Plug the PIC microcontroller into the hardware kit and follow the process below to dump the code into the PIC microcontroller.

  • Interface the programmer kit or hardware to the computer using the serial cable
  • Position the PIC microcontroller and lock it into the board via the socket
  • Open the installed software program. It will display the menu bar with diverse options such as open, functions, file, setting, save options.
  • Go to “open” and proceed with the “load file.”
  • Select the load option to load the hex file into your PIC microcontroller

How to Pick the Right PIC Microcontrollers

pic programmer

Plenty of PIC microcontrollers exist in the market. It is, therefore, always difficult to settle on the correct PIC microcontroller type and size when talking to your PCB or circuit assembly company. However, based on your need, we at RayMing PCB and Assembly will advise you accordingly. What’s more? You will get top-rate quality assembly services for your PIC microcontroller at reasonable prices.  

But before settling for a particular type of PIC microcontroller, consider the following.

  • Is it easily available in diverse parts of the world?
  • Does it have a low cost?
  • How simple is the programming process of the PIC microcontroller, especially with EEPROM?

Top and Popular PIC Microcontrollers

If you want a top PIC microcontroller, then it is crucial to consider the following popular and top-rate PIC microcontrollers in the market.

PIC16f877a / PIC16f877

The PIC16f877a/PIC16f877 has a simple programming process besides convenience when it comes to using. Because of this, it proves a popular microcontroller option within the industry. It comes either 8-bit or 16-bit and has a flash memory tech allowing for numerous write-erase processes. While ideal because the total amount of pins (40 in total and 33 for output and input) mainly applies in digital electronic circuits and PIC microcontroller projects. It is instrumental in home automation devices and systems, industrial instruments, remote sensors, and safety and security devices.

Key Attributes

  • A smaller set of 35 instructions
  • It can function up to a frequency of 20MHz
  • It has an operating voltage of between 4.2 to 5.5 volts. Anything higher than 5.5 volts can lead to permanent damage.
  • The PIC microcontroller lacks an internal oscillator compared to others like PIC18F4550 and PIC18F46K22.
  • A maximum current limit of 10 mA for every GPIO pin as source or sink can only accommodate approximately 100mA.
  • It comes in four integrated circuit packaging in 40-pin PDIP, 44-pin TQFP, 44-pin PLCC, and 44-pin QFN.  

PIC12f675

It comes as an 8-bit CMOS microcontroller developed on high-performance RISC architecture. The PIC12f675 is small in size and cost-effective, thus proves popular among engineers and hobbyists.  The design is perfect for low-end systems and applications because of its 2Kbytes flash memory. It also contains 6 GPIO pins that can handle not more than 25mA of current, meeting the threshold of many sensors and peripheral devices.   

Key Attributes

  • 8-bit CPU
  • Eight pins where six pins are programmable
  • ICSP interface for communication
  • Possesses an 8-bit counter and a 16-bit counter
  • An external oscillator of up to 20MHz and an internal oscillator of 4MHz
  • EEPROM of 128bytes
  • Operating voltage of 2.0V-5.5V

16f84 PIC

It is a renowned and the most utilized PIC microcontroller type based on its pioneering stature. The PIC16f84 comes as an 8-bit mid-range microcontroller with a 1024 word program memory. It also has a RAM of 68bytes and a lasting EPROM storage of 64bytes. The striking factor about PIC 16f84 is that it can get reprogrammed using the in-circuit ICSP.  

Key Attributes

  • A 1.75 KB program memory size
  • EEPROM of 64bytes
  • One 8-bit digital timer
  • Flash program memory
  • 2-6 V operating voltage
  • 18 pins in total
  • A temperature range of -40 to -85 °C

PIC12f629

It is an 8-bit flash-based CMOS microcontroller that is simple to program. The PIC microcontroller packs the powerful PIC® MCU architecture within the 8-pin package. It has various features that make it popular, such as the one-channel comparator besides the 128byte EEPROM. It is ideal for application in industrial, automotive, and consumer electronics.

Key attributes

  • 128-byte EEPROM
  • MPLAB® ICD-2 debugging or programming support with a free header adapter
  • Programmable pull-up resistors
  • Four oscillator selections that include 4MHz RC complete with programmable calibration and a power-on reset
  • Interrupt capability
  • 8-level stack (dep hardware)
  • The indirect, relative, and direct addressing modes
  • An extended range of temperature
  • Power-saving sleep mode
  • Low-power POR
  • Power-up timer and OST (oscillator start-up timer)
  • Watchdog timer

PIC16f886

It is a powerful and simple-to-program PIC microcontroller that is based on the CMOS flash-based 8-bit PIC microcontroller. Additionally, it packs the PIC® architecture within the 28-pin package. PIC16f886 possesses a 256byte EEPROM, is self-programming, and has two comparators, among other vital features. It makes it a popular choice for applications in sectors like industrial, automotive, consumer and appliances.

Key Attributes

  • An 8-32 MHz range frequency range
  • POR and power-saving modes
  • An extended WDT (watchdog timer) with an on-chip RC oscillator to guarantee reliable operation
  • ICSP through two pins
  • An improved flash program memory with a hundred thousand writes/erase cycles.
  • A data EEPROM retention capacity that exceeds forty years
  • An interrupt-on-pin change alternative
  • An 8-bit timer complete with an 8-bit pre-scaler TMRO
  • Supports LIN, RS-232, RS-485 compatibility
  • 10-bit eleven channel A/D converter

PIC18f4520

The popular PIC microcontroller mainly gets deployed in embedded and automation systems. It comes as either TQFP, PDIP, or QFN. The PDIP has 40 pins, while the rest contains a 44-pin interface. It contains a 10-bit ADC, a 256byte EEPROM data memory, and a RAM of 1536 bytes.

Key Attributes

  • Two comparators
  • 10-bit A/D converter complete with thirteen channels
  • Good memory endurance of 1000000 and 100000 for EEPROM and program memory, respectively
  • An enhanced EUSART feature useful in establishing serial communication with peripherals
  • 10-bit ADC
  • Wide range of operating voltage of 2.0V-5.5V
  • POR (power-on reset)
  • Power-up timer (PWRT) and OST (oscillator start-up timer)
  • ICD through two pins  

PIC16f88

It comes as a popular 8-bit PIC microcontroller and comes with an improved NanoWatt technology and flash processor. The PIC microcontroller has three distinctive packages in SSOP, PDIP, and QFN. The SSOP has a 20 pin package, while the PDIP and QFN have 18 pin and 28 pin packages, respectively.

Key Attributes

  • 7KB program memory size for storing instructions
  • 10-bit ADC for conversion of A/D signals
  • Crystal oscillator not exceeding 20MHz for chip interfacing besides generation of clock pulses
  • 18 total number of PDIP pins
  • 2-5.5V of operating voltage
  • Flash program memory
  • 256 bytes of EEPROM
  • 2 I/O ports and 16 I/O pins
  • Two comparators

PIC16f676 / PIC16f876a

It is a powerful and simple-to-program CMOS and flash-based 8-bit PIC microcontroller. The PIC16f676 packs the powerful PIC® MCU architecture within the 14-pin package. It is a 10-bit A/D converter complete with eight channels, a single comparator, besides an EEPROM data memory. It has applications in industrial, automotive, consumer, and appliance entry-level products, especially those requiring field re-programmability.

Key Attributes

  • Data memory of 128-byte EEPROM
  • Independently selectable analog channels
  • Programmable pull-up resistors
  • ICD2 debugging or programming support with discretionary header adapter
  • Eight oscillator selections that include a precision 4MHz RC oscillator that comes programmable and a power-on reset

PIC12f683

The 8-pin flash-based CMOS PIC microcontroller comes with a nanoWatt tech. It offers benefits associated with the mid-range x14 architecture, including standardized features. Such features make it a popular PIC microcontroller option for automotive and industrial applications.

Key Attributes

  • Extended WDT
  • 256-byte EEPROM
  • MPLAB® ICD-2 programming or debugging support complete with a free header adapter
  • Interrupt capability
  • 8-level stack (deep hardware)
  • Relative, indirect, and direct addressing modes
  • Power-saving sleep mode
  • Power-on reset
  • PWRT and OST
  • Programmable code protection
  • 1µA at 2.0V Typical Watchdog timer current

PIC18f452

The popular and powerful PIC microcontroller comes as an 8-bit CMPS FLASH-based microcontroller type. It contains 34 I/O pins and comes with one 16-bit and 8-bit timer, 10-bit A/D converter, SPI, I2C, and USART peripherals.

Key Attributes

  • 8-bit CPU
  • 34 total I/O pins
  • ADC module featuring one 8-channel and 10-bits
  • Zero comparators
  • One 8-bit and three 16-bit time module

PIC16f628

It is a popular and relatively new PIC microcontroller type that cannot work on older device models. The PIC16f628 is based on the FLASH program memory of 3.5, 2 comparators, and a single CCP. What makes it an excellent option entails low voltage programming, programmable BOR, on-chip voltage reference, and other features.

Key Attributes

  • 3.5KB program memory
  • 1 CCP
  • Two comparators
  • Two max 8-bit digital timers
  • -40 to 85 degree Celsius temperature range
  • 18 pins in total
  • 1 USART

PIC16f690

The 8-bit PIC microcontroller from Microchip comes with a 20-pin interface. It incorporates the high-performance RISC CPU that assists in the execution of instructions. The microprocessor also has a crystal oscillator of 20MHz for interfacing purposes and the creation of clock pulses.

Key Attributes

  • A total of 20 pins
  • 2-5.5V operating voltage
  • 18 I/O pins
  • 7K program memory
  • 256 bytes of EEPROM
  • 256 byte RAM
  • 10-bit ADC of up to 12 channels
  • Max of 20 MHz oscillator
  • 1 USART
  • Two comparators  

PIC18f458

The popular PIC microcontroller comes with a FLASH memory of 32KB and proves compatible with PIC17 and PIC16 instruction sets. It uses advanced CAN technology and applies to the automotive and industrial sectors.

Key Attributes

  • High-performance RISC CPU possessing compatibility with a linear data and program memory of 1536 and 32 bytes, respectively
  • High current source/sink of 25mA/25mA
  • One 16-bit or 8-bit counter with a Prescaler
  • 3-wire SPI with IoA bit
  • PoR and PWRT  
  • 1000000 standard write/erase cycles EEPROM
  • WDT complete with on-chip RC oscillator
  • 33 I/O pins and 40-pin DIP

PIC18f4620

The PIC microcontroller comes optimized and equipped with the RISC architecture. It operates on flash memory and has a CPU speed of 10 DMIPS/MIPS, making it a toast for some people. Its maximum ADC is 10 bits with a CCP of 1.

Key Attributes

  • 1 ADC
  • 64KB program memory  
  • 1 CCP
  • Two comparators
  • One I2C
  • 2-5.5V operating voltage
  • 40 pins in total
  • 1 USART
  • A range in temperature of -40 to 125 degrees Celsius

PIC 12f508  

The popular PIC microcontroller comes as a high-performance, low-cost, and 8-bit static microcontroller. It uses flash CMO technology with a total of 8 pins. It also possesses a DRT (device reset timer) that eliminates any requirement for external reset circuitry.

Key Attributes

  • Baseline 8-bit CPU
  • A total of 8 pins
  • 6 I/O pins
  • One 8-bit time module
  • 4 MHz internal oscillator
  • 0.75KB program memory
  • 25 bytes data EEPROM

Final Thoughts

It is always vital to understand everything about PIC microcontrollers, including the diverse types, program them, etc. Such information becomes useful in designing integrated circuits and electronics as a whole. Therefore, consider all insights about the intricacies of the diverse PIC microcontrollers to stay ahead of your design game.