The Great Migration From 8-bit To 32-bit 


Embedded control is a fascinating field in constant evolution that guarantees to the inquisitive minds a constant flow of new and exciting things to learn.

Perhaps the most exciting thing happening these days is the arrival of so many new and low cost 32-bit options designed specifically for the Embedded Control market.

Mind the average embedded control designer might be working on leading edge projects on a daily basis, but he is not taking risks for the fun of it. Robustness, reliability and maintainability are quality that rank higher in his mind than attractiveness of the product or even performance (when not strictly required).

8-bit microcontrollers have been holding positions in Embedded Control (perhaps their last bastion) for more than 20 years while the rest of the world was migrating rapidly to 16-bit first, then 32-bit and today mostly 64-bit architectures.

But things are changing as the cost and complexity of 32-bit solutions have decreased dramatically with new families of devices designed mostly around the ARM (Cortex M series) and MIPS (4K and the upcoming 14K series) cores appearing in all leading manufacturers portfolios.

The 32-bit controllers of today are different from those of just a few  years ago. They are designed to be more energy efficient, simpler to program, and at the same time more capable than their 32-bit and even 8-bit predecessors!


This web site (and the companion book: Exploring the PIC32) are written in particular to demonstrate that one such modern 32-bit microcontroller architecture, the PIC32  from Microchip Technology Inc., is in fact a better alternative today to most 8-bit and 16-bit embedded control solutions.


There is a very large community of embedded control engineers out there, who have accumulated many years (decades?) of experience through hard work, designing with 8-bit microcontrollers and programming in assembly and C.

It is my objective to help you understand the new possibilities offered by modern 32-bit architectures and migrating your designs as quickly and effectively as possible.


When to migrate?

This is the first question you should ask yourself. The simple answer is (as usual) only when there is a real need. If it ain't broken don't fix it! (Embedded Control rule #!)


So the real question then becomes:

Why migrating to 32-bit?

Here is a list of possible reasons:
  • You have previously used a lot of 8-bit and/or 16-bit microcontrollers (especially if you are familiar with at least one of the PIC16, PIC18, PIC24... families)
  • You need more RAM (I would add every time you need more than 200 bytes of RAM!) and you want to be able to handle it with ease.
  • You need to handle more data in general. The PIC32 handles very large tables of data very efficiently inside its 512Kbytes FLASH (at the time of this writing, larger models might be available soon) and/ or his 128Kbytes of RAM!
  • You need speed: one instruction per clock cycle at 80MHz
  • You want fast access to a graphic color LCD display (QVGA TFT or larger)
  • You need an efficient  USB Full Speed (Host) interface to read and write data to and from a USB stick for example
  • You intend to use the MAL (Microchip Applications Library), especially if you need to use more than one of the libraries at a time.
Finally my favorite one:
  • It is Easier to program (and debug) than any of the previous 8-bit and 16-bit general purpose microcontrollers you might be familiar with.
Feel free to explore the rest of this web site to find practical examples of how to write an embedded control program for the PIC32, migrate your designs quickly and get the most out of the new architecture.