More Bits for the Buck: A Look at 32-bit Platforms
By Mouser Electronics
For decades the 8-bit microcontroller (MCU) has reigned supreme, but now the ubiquity of this technology is increasingly giving way to 32-bit architectures. That said, industry analysts have pointed out that both 32-bit and 8-bit MCUs are currently experiencing growth. Still, for those of who us who grew up on the BASIC Stamp, Microchip PICs, or more recently the Arduino Uno, shifting from an 8-bit to 32-bit architecture is a worthwhile learning endeavor. Even if most of your applications only require the processing power of an 8-bit architecture today, that may not be true tomorrow as the demand for connected or so-called “smart” devices grows. Thankfully, there are a plethora of open source development kits now available for those eager to take the plunge.
Figure 1: Register size is a key defining feature of a system architecture and drives many aspects of system performance. Source Wikipedia
8, 16, 32? What’s with the numbers?
What do we mean exactly when we say an MCU is 8-bit or 32-bit? Here, the bit count refers to the size or width of the registers in the processor. An 8-bit MCU has registers, the fundamental memory unit of a processor, which are 8-bits wide. Registers store data from RAM memory immediately before being manipulated by the arithmetic logic unit (ALU). Thus, larger registers mean we can manipulate larger numbers in fewer clock cycles, amongst other advantages. In general, larger registers give us better computing performance, which is why the Central Processing Unit (CPU) of laptops and smartphones have leaped to 64-bit architectures.
But what exactly are the advantages of moving to a 32-bit architecture? What are the tradeoffs? A good understanding of the technology and your application needs will ensure that you make the correct design decisions.
- More Memory: 32-bit architecture means that you have direct access to 4GB of memory space without the need to resort to special techniques such as paging.
- Processing Power: Newer architectures benefit from faster clocks and increased computing capability during each clock cycle. On average, this translates to more processing throughput with 32-bit architectures achieving 90 to 100 MIPS; as opposed to 8-bit MCUs that max out around 25 to 30 MIPS.
- Power Efficiency: 32-bit architectures tend to take advantage of newer circuit topologies and manufacturing processes; therefore, they must operate at lower voltages to help reduce transistor leakage current. The trade-off is power efficiency in favor of processing horsepower. This means that if you want to build a device that runs for months off a coin cell battery, a 32-bit architecture might not be the correct choice. Conversely, 8-bit systems built with larger geometry processes can operate at 5V which can be advantageous in electrically noisy applications.
- Cost: 32-bit platforms are typically more expensive when compared to 8-bit systems with otherwise similar features (e.g., amount of memory, peripheral components). Though the cost differential isn’t that large anymore, it does exist, which can make a difference when dealing with sufficient product volume.
- Package Size: 8-bit MCUs can come in some very tiny packages; there are some with as few as 6 pins. The tiny package size comes at the expense of not having very many I/O pins to handle external devices.
- Ease of Development: This is where understanding your application needs gets critical. Manufacturers tend to add new and more advanced features into their 32-bit architectures first. Advanced onboard peripherals, advanced I/O features, and increased memory found on 32-bit systems can be very convenient if your application requires them, though they come at the expense of coding simplicity. More advanced features can result in different clock speeds that need to be adjusted, more configurations registers to set, etc. Conversely, 8-bit systems tend to be simpler and thus easier to code for, relatively speaking. So if your application does not require advanced features it may actually make sense to stick with an 8-bit architecture for now. Both 8-bit and 32-bit architectures tend to take advantage of C compilers, though many developers still prefer to program 8-bit platforms using assembly language.
32-bit Open Source Platforms
Over the last decade as the popularity of open source hardware (OSHW) has grown, many platform developers chose 8-bit architectures because of cost and the fact that the DIP package (of which many popular 8-bit MCUs come in) was more user-friendly for products predominantly geared towards learning and tinkering. (More 32-bit architectures come in non-DIP packages, like surface mount devices (SMD), which are meant to be applied by machines. It can be very difficult to solder an SMD on to a PCB by hand, and certainly not amenable to bread-boarding like the PDIP. Ball grid array (BGA) packages are indeed not meant for hand soldering. Alas, these smaller packages make it harder for old-school prototyping by hand.
Today though, the focus is shifting from OSHW as just an educational platform to becoming a legitimate prototyping and even consumer-grade product platform. As such, the computing and low-power performance of 32-bit based systems is becoming increasingly desirable to the "prosumer maker market" that is looking to move from prototype to production. In addition, as 32-bit based System-on-Chip (SoC) platforms become cheaper, integrate more practical features (e.g. Bluetooth Low Energy, WiFi and NFC) and become much easier to use, the maker community will undoubtedly continue to swarm to these new low cost, open source development boards. The trade-off is to simply get an idea working versus being able to fine tune every configuration register setting to eke out maximum performance; a trade-off that most makers are willing to make.
Thankfully there are many choices in solid 32-bit hardware. Many manufacturers have offerings in this market including BeagleBone, Texas Instruments, STMicroelectronics, Cypress, and Arduino. To make researching these new platforms easier, Mouser has developed an Open Source Hardware site where you can compare various options against your requirements.
A small sampling of the wide array of features you will find include:
- Need the performance of an Android powered system? Check out the UDOO Neo.
- Need an SD Card slot for data-logging? Grab an Intel Edison or Galileo.
- Need 64 pins of digital I/O? Go for a BeagleBone Green.
- Need access to even more I/O? Try the STM32 Nucleo.
- Want to teach advanced topics to STEM students who are used to the Arduino ecosystem? The Arduino 101 might be the board for you.
- And many, many more options.
The Future, Today
Undoubtedly, 32-bit embedded platforms are continuing to grow in capability as well as selection. As such, so too is the demand for higher bit count architectures. While they may never totally erode 8-bit architecture demand, it’s certain that the future belongs to 32-bit platforms. Inevitably, as costs drop and complexities become better handled, the promise of an “everything connected” future will be better served by 32-bit platforms than 8-bit.
Michael Parks, P.E. is the owner of Green Shoe Garage, a custom electronics design studio and technology consultancy located in Southern Maryland. He produces the S.T.E.A.M. Power Podcast to help raise public awareness of technical and scientific matters. Michael is also a licensed Professional Engineer in the state of Maryland and holds a Master’s degree in systems engineering from Johns Hopkins University.