8-Bit Micros are Alive and Kicking
The NUCLEO-8S207K8 board boasts a 32-pin STM8S207K8 MCU (Image source: STMicroelectronics)
I just heard from the guys and gals at STMicroelectronics (ST) that they are "making design starts using 8-bit STM8 microcontrollers (MCUs) faster, more affordable, and more accessible for creative minds of all types by introducing new development boards in the easy-to-use Nucleo-32 form factor." We will return to consider these little rascals in a moment, but first...
My knee-jerk reaction was, "How exciting!" This was closely followed by my second thought, which was, "What on Earth is the Nucleo-32 form factor?" So, I had a quick Google while no one was looking, spent some time rummaging around the STMicroelectronics website, and discovered that the original Nucleo-32 boards were introduced to provide an affordable and flexible way for users to try out new concepts and build prototypes with ST's 32-bit STM32 microcontrollers.
The new STM8 Nucleo-32 boards have the same footprint and connectivity as the STM32 Nucleo-32 boards, the main difference being that they carry 8-bit STM8 MCUs instead of their 32-bit STM32 MCU cousins.
This announcement set a rambunctious band of thoughts bouncing around my poor old noggin. For example, I've been hearing industry pundits proclaiming "the death of the 8-bit processor" for more years (decades) than I care to remember. First, we were told that 16-bit processors were going to rule the world; next, that 32-bit processors were going to gain domination over all things embedded.
In reality, there's room for 8-bit, 16-bit, 32-bit, and 64-bit processors depending on the application. In many cases, systems employ multiple processors. According to the Aspencore 2019 Embedded Markets Study, an average of 61% of new embedded systems boast a 32-bit processor as their main processor (this rose to 71% in the case of EMEA -- Europe, the Middle East, and Africa -- designs), while 15% used 64-bit processors, 11% used 16-bit processors, and 10% used 8-bit processors. The 8-bit and 16-bit percentages have held relatively steady for the past five years, while 64-bit processors have gained a little ground at the expense of their 32-bit cousins.
Furthermore, in the case of systems that used additional processors in conjunction with their main processor, 8-bit devices were used as secondary processors in 19% of the systems.
Another interesting aspect to the Nucleo-32 boards is that they boast the same connectivity form factor as the Arduino Nano (note that the Nucleo-32's board footprint is a tad longer than the Nano). This means that it's easy to expand the functionality of these open development platforms with a wide range of open source shields.
I remember when the original Arduinos first appeared on the market circa 2005. They were originally intended for use by students, but they rode the crest of the burgeoning Maker Movement wave and soon became ubiquitous.
In the early years, Arduinos were regarded with a combination of affection and distain by professional engineers. Over time, however, things began to change. A huge Arduino ecosystem grew, including a tremendous number of shields boasting sensors and peripheral devices, all bolstered by open source hardware and software.
Gradually, some professional engineers started to use the combination of Arduinos and breakout boards (BOBs) presented as Arduino shields as platforms to evaluate sensors and peripherals (see also Use Arduino BOBs to Quickly Evaluate Sensors and Peripherals).
In fact, my chum Duane Benson from Screaming Circuits -- the folks who specialize in building short-run, one-off, and prototype PCB assemblies with rapid turn times -- often uses an Arduino Nano, Uno, or Mega, along with one or more off-the-shelf shields, to prototype a subsystem for one of his robot projects. Duane then uses various portions of these open source designs to quickly spin up his own specialized board. But we digress…
Introducing the First STM8 Nucleo-32 Board
STM8 8-bit MCUs feature a high-performing 8-bit core, generous on-chip memory including up to 128Kbyte of Flash, and state-of-the-art peripherals shared with the STM32 MCU family, such as timers, analog peripherals, CAN2.0B, and digital interfaces. The STM8 MCUs are a popular choice for creating smart sensors, actuators, and other products with tight power, space, and cost constraints.
These 8-bit processors are backed by a comprehensive collection of free software libraries and application examples. There's also a tremendous community of users, which can make one's life a whole lot easier.
The first available STM8 Nucleo-32 board, the NUCLEO-8S207K8, contains a 32-pin STM8S207K8 MCU, which provides a treasure-trove of features including 12 high-current outputs and multiple capture-compare channels.
As compared to the Arduino Nano with its 5V supply, 16MHz clock, 32KB Flash, 1KB EEPROM, and 2KB SRAM, the NUCLEO-8S207K8 can be powered from a variety of external sources (3.3 V, 5 V, 7 to 12 V) and boasts a 24MHz clock, 64KB Flash, 1KB EEPROM, and 6KB SRAM.
Of particular interest to embedded designers is the fact that the NUCLEO-8S207K8 features an ST-LINK/V2-1 debugger/programmer with SWIM connector and USB re-enumeration capability. The SWIM is a single wire interface based on asynchronous, high sink (8mA), open-drain, bidirectional communication. While the CPU is running, the SWIM allows non-intrusive read/write accesses to be performed on-the-fly to the RAM and peripheral registers, for debug purposes. In addition, while the CPU is stalled, the SWIM allows read/write accesses to be performed to any other part of the MCU’s memory space (data EEPROM and program memory). Having the integrated ST-LINK debugger/programmer saves using an external debug probe and allows simple drag-and-drop Flash programming.
Furthermore, these boards are supported by a wide choice of Integrated Development Environments (IDEs), including STMicroelectronics' free STVD-STM8 (using the Cosmic toolchain), IAR, and the Cosmic free IDEA.
Last but certainly not least, although I know this makes me sound like a bit of a skinflint, the NUCLEO-8S207K8's price of only $10.32 certainly caught my eye. I have a number of upcoming projects for which I would probably have used an Arduino Nano, but now I'm leaning toward purchasing a passel of NUCLEO-8S207K8 boards. How about you? Could you be tempted to experiment with one of these little beauties?