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.