Sub-Dollar Microcontrollers Turn the Embedded World Upside Down

As an embedded designer with many decades of experience, I am amazed by how inexpensive microcontrollers have become. A recent look at low-cost microcontrollers reveals a long list of microcontrollers that sell for less than a dollar (some much less!) in quantities of one. I’ve listed several microcontrollers at the end that cost less than a dollar in single unit quantities.

However, the real purpose of this blog is not to compare low-cost microcontrollers against each other. It’s to compare these microcontrollers with other alternatives. Considering that the first project every developer seems to create when working with a microcontroller is a blinking LED, it seems very appropriate to compare these microcontrollers against the legendary 555 timer chip. The 555 timer has been the “go to” part for blinking LEDs ever since it was introduced, many decades ago.

This device first appeared in 1972, introduced by a semiconductor company that no longer exists. However, the device itself certainly does exist and you can get an NE555D timer chip made by Texas Instruments for well under a dollar. Note that this unit quantity price is already comparable to the least expensive microcontroller listed below! Furthermore, if you want to blink an LED with a 555 timer chip, you can’t do it with the chip alone. You’ll need some resistors and capacitors, too. Microcontrollers don’t need the extra components.

Also, the microcontrollers are far more versatile, even though electronics publications have been publishing circuit design ideas for 555 timers over the entire 46 years that it’s been on the market.

That said, 555 timers will always have a place in my heart: they do what they’re supposed to do, reliably and effectively.

However, replacing a 555 timer chip and blinking LEDs hardly scratches the surface of what inexpensive microcontrollers can do. They can easily control relatively complex embedded systems. They can be used for motor control, with a bit of help from some power MOSFETs. They can implement simple human-to-machine interfaces (HMIs).

All four of the microcontrollers listed below include multichannel analog input multiplexers driving analog-to-digital converters (ADCs) with at least eight bits of resolution. These ADCs can considerably simplify the analog design of many embedded systems.

With such low-cost microcontrollers, making the jump from analog signals to digital should come as early as possible in the system’s signal processing chain. Here are some MCU options to get you thinking:

Silicon Labs EFM8BB10F8G-A-QSOP24R

The EFM8BB10F8G-A-QSOP24R microcontroller is a member of Silicon Labs’ “Busy Bee” device family. It’s based on the venerable 8-bit 8051 microprocessor architecture. This family member has 8 kilobytes of flash program memory and 512 bytes of RAM. The microcontroller employs a pipelined version of the 8051 processor core so 70 percent of its instructions execute in one or two clock cycles, and the microcontroller runs at 25 megahertz (MHz). For peripherals, the EFM8BB10F8G-A-QSOP24R microcontroller has:

  • I2C
  • SPI
  • SMBus port
  • UART
  • Three-channel programmable counter/timer with a PWM generator
  • Four 16-bit timers
  • A 12-bit ADC with sixteen analog input channels
  • Two analog comparators

All of these I/O devices fit in the microcontroller’s 24-pin QSOP package. Silicon Labs offers the Simplicity Studio 4 development suite, which includes a Keil compiler and assembler, a debugger, an IoT app builder, an energy profiler, a hardware configurator, and prebuilt demos.

Microchip Technology's ATTINY84A-SSUR

The ATTINY84A-MMH is a member of Microchip’s (formerly Atmel’s) 8-bit AVR microcontroller family. This particular device has an 8 Kbyte flash program memory, 512 bytes of EEPROM, and 512 bytes of RAM. The 8-bit AVR architecture features 120 instructions (most execute in one clock cycle) and a 32 byte register file. The microcontroller runs at 20 MHz. For peripherals, the ATTINY84A-MMH microcontroller has:

  • One 8-bit and one 16-bit hardware timer/counter
  • Two PWM channels
  • A 10-bit ADC with eight single-ended analog inputs
  • A programmable watchdog timer to keep the program out of the weeds

Software development support includes C compilers, macro assemblers, a program debugger and simulator, and evaluation kits.

Microchip Technology’s PIC10F220T-E/OT

Microchip’s PIC series has long been a favorite choice for developers of low-cost embedded systems. The company’s PIC10F220 microcontroller has 256 words of flash memory for instructions (each instruction word is 12 bits wide) and 16 bytes of RAM. The microcontroller has a simple instruction set—only 33 instructions to learn—and all instructions except the branch instructions execute in one cycle. Branches require two cycles. The instruction cycle is 500 nanoseconds using an 8 MHz internal clock. This is a 6-pin device, so the peripherals are multiplexed on the device’s four I/O pins. For peripherals, the PIC10F220T-E/OT includes:

  • An 8-bit, real-time clock/counter
  • An 8-bit ADC with two external analog input channels
  • As many as four general purpose I/O pins

Figure 1: Microchip’s PIC10F220T-E/OT microcontroller multiplexes several analog and digital functions on its four I/O pins. (Image source: Microchip Technology)

Microchip’s MPLAB development suite includes a C compiler, assembler, linker, and an object librarian.

Microchip Technology’s ATTINY10-TSHR

If you’re looking for a really inexpensive microcontroller, it’s hard to beat Microchip’s ATTINY10-TSHR (Figure 2). There’s plenty to like inside of this 6-pin, 8-bit microcontroller from Microchip’s AVR series. Most of the device’s 54 instructions execute in one clock cycle and the device runs at 12 megahertz. This particular AVR variant includes one 1 Kbyte of flash instruction memory and 32 bytes of RAM. It’s hard to believe that it’s possible to put much I/O support into a 6-pin device, but the ATTINY10-TSHR microcontroller multiplexes the following peripheral complement on its four I/O pins:

  • One channel of capacitive touch sensing
  • A 16-bit timer/counter with two PWM channels
  • A watchdog timer with a separate on-chip oscillator
  • An 8-bit ADC with four analog inputs
  • One analog comparator

Figure 2: The ATTINY10-THSR microcontroller manages to multiplex a large number of peripherals on its four I/O pins. (Image source: Microchip Technology)

Software development support is through the Atmel Studio 7.0 tool suite with the usual compiler, assembler, linker, etc.

First try talking yourself out of using an MCU

Microcontrollers were once expensive, but no longer. Embedded design methodology now stands on its head thanks to low-cost microcontrollers like the four listed above. These days, it’s wise to think of using a microcontroller first, and only then to think of reasons why a low-cost microcontroller should not be the first design choice for almost any low-cost design.

About this author

Image of Steve Leibson Steve Leibson was a systems engineer for HP and Cadnetix, the Editor in Chief for EDN and Microprocessor Report, a tech blogger for Xilinx and Cadence (among others), and he served as the technology expert on two episodes of “The Next Wave with Leonard Nimoy.” He has helped design engineers develop better, faster, more reliable systems for 33 years.
More posts by Steve Leibson
 TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum