menu

Microcontroller comparison: the results from our roundup are in!
Blog PostAnat ZaitMay 22, 2018

Digital microcontrollers are wonderful little inventions. They condense the workings of a computer into a single IC unit that measures just a few millimeters across and costs just a few cents. The modern world is built from them: they’re present everywhere from musical instruments to car dashboards to bathroom scales. Here at circuito.io, we’ve paid particular attention to one variety of microcontroller: the Arduino prototyping platform, which is built around Atmel’s ATMega328 chip. We’ve done this because the Arduino development platform is popular and accessible, and thus a great point of entry into the world of microcontrollers, embedded systems and electronics in general. With additional components, sockets and headers, the Arduino is easy to get along with, and it’s capable of serving a broad range of functions.

But while the powers of the Arduino might be considerable, they’re not unlimited. It comes with only a fixed amount of GPIO pins; it’s relatively underpowered, and it lacks many of the features boasted by newer devices like the Beaglebone Black. Once you've reached a certain point in your electronic adventures, you might find yourself straining against these limits. If you’re in such a position, you’ll be pleased to learn that there are a wide range of alternative microcontroller boards available.

Yes, the ATMega328-powered Arduino isn’t the only option available to would-be developers. In fact, just one part of an enormous and bustling market that caters to everyone from bedroom tinkerers to multinational corporations. Whatever you’re looking to achieve with controlled electricity, the chances are that there’s a microcontroller out there to help you do it.

Moreover, many of these newer devices are considerably more powerful than the Arduino, and smaller, too. They’re thus able to do things that the older board can’t. Wireless functionality and encryption are particularly widespread amongst more recent contributions – and you’ll be able to access this functionality without needing to expand your board with shields and other peripherals.

We’ve covered the Arduino extensively on these pages, and now we're going to move onto a more advanced, 32-bit microcontroller. With so many candidates to choose from, we struggled to narrow the list down to a shortlist of five – but we eventually did so, with a little help from our readers. The winning board was the ESP32, whose built-in wireless capabilities, affordability and extensive documentation made it irresistible to our readers.

Let's run through each of the five candidates, starting with the winning board:

ESP32 Development Board

This prototyping board is the work of a Shanghai-based company known as Espressif Systems. It incorporates the ESP32, a microprocessor tailored toward wearable electronics and IoT. It boasts integrated Wi-Fi and Bluetooth, along with an array of inbuilt antenna switches, and ultra-low power consumption.

CPU - Tensilica Xtensa 32-bit LX6 @ 240Mhz

Memory - 520KB RAM, 448 KB ROM

Wireless - Built-in WiFi and Bluetooth

Dimensions - 55.3mm x 28.0mm x 12.3mm

The company released the ESP8266 chip in 2014. Stunningly cheap, it was able to bridge an Arduino with a WiFi network, and thereby solve many of the problems that dogged early IoT pioneers. It captured the attention of a sizeable online demographic of talented engineers, who got it to co-operate with a range of programming environments, including Arduino. Within a few months, it had formed a considerable following.

The ESP8266 did, however, come with a few downsides. It offered a measly amount of GPIO pins, and only a few A/D converters, and it was a little bit on the underpowered side. These flaws were addressed by the chip’s successor, the ESP32, which arrived in 2016. It brought with it an improved spec sheet and the ability to dispense with external microcontrollers altogether.

The central processor is a 32-bit Tensilica LX6 dual-core, clocked at 240Mhz. You’ll get just over 500kb of memory to play with, along with support for external flash drives. Wireless connectivity comes in the form of BLE Bluetooth and 802.11 b/g/n WiFi, bundled alongside a robust set of cryptographic hardware tools. In addition, there’s an ultra-low power processor that’ll perform certain functions while the device is in deep sleep, which makes the ESP32 an excellent match for battery-powered projects.

Unlike, say, the Arduino UNO, the ESP32 DevKit pinout has been designed to slot directly into a breadboard. There are 32 I/O pins sprouting from the bottom of the board; just plug it into the center of your breadboard and you’re ready to build a circuit around it. You’ll be able to plug it into your computer via a micro-USB socket at the far end, and there are two buttons on the top: one for resetting the device, the other for programming.

Being housed within a QFN package, the ESP32 microcontroller boasts enormous connectivity while still being compact and lightweight enough to go unnoticed. While it’s nowhere near as well-followed as the Arduino, it’s attracted attention thanks to the niche filled by its predecessor. There’s a significant community out there, and with Arduino IDE compatibility it’s easy to get started.

Getting your ESP32 into the circuito.io circuit design tool is a simple matter of locating it in the database and dragging it into the workspace. Alternatively, you might simply click on the ESP32 DevkitC icon and then click ‘swap’. The Arduino that sits in the center of the workspace by default will be replaced by the ESP32. You can then add components in the same way that you would with the Arduino; wiring, supplementary components and breadboards will be added automatically.

For example, if you’d like to wire up a 64-pixel dot-matrix display, you can simply drag it into position. As you can see, all the wiring and logic conversion is automatically taken care of for you.

Wemos D1 mini

Of all the development boards to incorporate the ESP8266, the Wemos D1 mini is undoubtedly among the most popular – thanks in large part to its attractive price tag of around $6. As the name might imply, it’s a miniaturized version of its predecessor, the D1; but it manages to cram much of the same functionality into the smaller package, and functions like a mini Arduino with Wi-Fi built in.

CPU - ESP8266 EX @ 160Mhz

Memory - 64kb instructional RAM, 64kb data RAM

Storage - 4MB flash

Wireless - Built-in WiFi

Dimensions - 55.3mm x 28.0mm x 12.3mm

The D1 mini outperforms the Arduino UNO by an order of magnitude, and for a fraction of the price. The ESP8266 chip clocks in at 160Mhz, and there’s 4mb of flash memory attached. Throw in built-in WiFi, and this becomes a worthwhile low-power candidate for IoT developers.

Each board comes with a total of 11 digital I/Os, all of which support interrupts, PWM, and I2C. An additional analog input, reset, and power pins bring the total up to around 16 pins, through which the device will slot neatly onto the end of your breadboard in much the same way as the ESP32. Moreover, the power consumption is modest at just over seventy milliamps over WiFi, which makes this board just as suitable for battery-powered applications.

The D1 mini will accept MicroPython, NodeMCU and Arduino, and thus presents users with a broad range of programming options. Existing Arduino owners will likely wish to persist with the Arduino IDE, in which case they’ll need to install a freely-available add-on, and download the corresponding file in the IDE’s Boards Manager.

You’ll be able to port your existing projects over to the new hardware relatively painlessly, after renaming any pins cited to correspond with the D1 mini pinout. This is also advantageous for total novices, who’ll be able to draw upon Arduino’s considerable library of example projects.

With the ESP8266 being such an enormously popular chip, you’ll find widespread support for the D1 mini. On top of the fact that widely-available Arduino libraries will work nicely with it, users will benefit from an active community that’s always willing to lend support to new users.

ATTiny85

Of the entries to this shortlist, this little device from Atmel is certainly the odd one out. It’s not a prototyping board, but a bare-bones microcontroller, without any included development platform. Moreover, it’s just about as small as a DIP module can get. It comes with eight legs (two of them being the 5V and ground inputs) and will slot neatly into the middle of your breadboard. Being basically a miniaturized version of the ATMega328 that powers the Arduino UNO, it’s capable of running the same code – and it can be programmed using an Arduino with just a little adjustment.

CPU - 8-bit AVR @20Mhz

Memory - 512 bytes SRAM

Storage - 8K program memory

Wireless - None

Dimensions - 7.8mm x 5.3mm x 9.3mm

The ATtiny offers just 6 programmable I/O lines, and 8K of internal program memory. This compares to the 14 digital I/O lines and 32kb of memory found on the Arduino UNO. Serial communication is also limited to SPI and I2C, and, suffice to say, there’s no built-in wireless. Working with a lone microcontroller will allow you to dispense with circuitry and features you don’t need, thereby minimizing the power consumption and cost of your project.

Its small size means that the device’s power demands are exceedingly reasonable. The ATtiny datasheet advises that it’ll suck up 300µA (that’s microamps) when active, falling to just 0.1µA when it’s in power-down mode.

Since it lacks a development board of its own, you’ll need an external programmer to install code onto the ATtiny microcontroller. If you’ve already got an Arduino, then congratulations! You’re already ready to go. That being the case, the Tiny makes economic sense: units cost around a dollar each, and so you’ll be able to invest in a few spares while you’re at it.

Those already familiar with the Arduino might well be tempted to stick with Atmel (which is a big reason why Atmel are so happy to lend their chips to the Arduino project in the first place). If that’s you, then the Atmel ATtiny is a low-power microcontroller that's sure to appeal. It suits minimal setups that don’t require precise A/D conversion, and which don’t need masses of I/O pins. With that said, a few external shift registers will enable you to expand the Tiny’s I/O capability to fit the needs of your project.

Getting to grips with a standalone chip will set you on your way toward understanding how microcontrollers interact with their supporting circuitry. To get one to work on its own, you’ll need to supply all the voltage regulators, capacitors, crystals and pull-down resistors that a development board normally supplies.

Teensy

If you’d like to create something small but exceptionally powerful, then Paul Stoffregen’s ‘Teensy’ platform offers a fantastic means of doing so. Its construction shares much in common with the ESP32 development board, including twin rows of pins that sprout from the underside and allow for simple breadboard interfaces.

The twin flagships of the current Teensy fleet, the 3.5 and 3.6, were launched in 2016 following a successful Kickstarter campaign.

Here are the specs of the 3.6:

CPU - ARM Cortex 180Mhz

Memory - 256K

Storage - 1MB flash

Wireless - None

Dimensions - 17.8mm x 61mm

While there’s some variety in the current roster of Teensy boards, they’re all based on a 32-bit ARM Cortex M4 platform. The Teensy 3.6 clocks in at a whopping 180Mhz, giving it a serious computational edge over the Arduino. You’ll get 1mb flash memory, 256k of RAM, and forty-two breadboard-friendly I/O pins. USB, Ethernet, and a slew of hardware timers and serial ports make this a commanding piece of equipment squeezed into a tiny package.

When compared with the Arduino, the Teensy is seriously quick. Quick enough, in fact, that most applications outside of cutting-edge machine learning will come nowhere near testing its limits. It’s longer than many of the other entries on our countdown, and offers twenty-five analog inputs and twenty PWM outputs. This power allows the board to do serious signal processing and output real-time stereo audio.

At just over 60 millimeters long, the 3.6 is larger than most prototyping boards, and this increased surface area is what allows it to accommodate such an impressive number of GPIO pins. But if you don’t need the extra horsepower or pinout, then opting for the smaller 3.5 or 3.2 boards is undoubtedly sensible.

The 32-bit ARM microcontroller built into the teensy can handle USB without the need for additional circuitry. Consequently, you’ll be able to dispense with the FT232RL found on the Arduino, which is part of the reason the Teensy is cheaper.

Though Teensy boards aren’t Arduino products, the Teensyduino add-on for Arduino IDE will allow many projects developed for Arduino to be easily imported. Thus simple code that runs on Arduino can, in most cases, be painlessly ported over to the Teensy. You’ll only run into problems if you need to plug in a shield, or you’ve designed your project to physically accommodate the Arduino’s form factor. But then, these problems would be common to each of the boards on this list!

Particle Photon

This minuscule development kit is designed to help prototype and scale IoT projects. It’s the work of a company named Particle, who’ve produced several other sciencey-sounding families of microcontroller development tools, including the Argon, Boron, Xenon and Electron.

CPU - ARM Cortex M3 120Mhz

Memory - 128KStorage1MB flash

Wireless - 802.11b/g/n Wi-Fi

Storage - 1MB flash

Dimensions - 17.8mm x 61mm

The Photon’s been engineered with Wi-Fi in mind. As such, it comes with impressive wireless connectivity, and the processing power to get the best from it. This comes in the form of built-in 802.11b/g/n Wi-Fi, 1mb of flash memory and a 120Mhz ARM Cortex M3 processor. This considerable processing power allows wireless encryption to be bundled in without the need for additional chips, which allows Particle to price this board at a modest $19 (though savvy shoppers might find one out there for considerably less).

For the price of a Photon you get all this, along with lifetime access to Particle’s impressive services. Like all Particle products, it’s built to work with something called the ‘Device Cloud’, a set of specialized development tools designed to help manufacturers organize their IoT lines. It offers things like wireless device management and over-the-air firmware updates, via which you’ll be able to upload code to hundreds of devices from the IDE. And there’s a web-based IDE that you’ll be able to access from any browser for added convenience.

Of course, if you prefer to do things the old-fashioned way, you can still plug a mini-USB cable into the Photon and start uploading code. Delve into the device’s firmware, and you’ll be able to switch between automatic wireless connection (the default), semi-automatic, and manual. The latter option, according to the documentation offers ‘a lot of rope to hang yourself with’. However, it’s great for users who’d prefer to keep things local on boot.

If you’re used to programming in the Arduino environment, then making the switch to the Photon presents something of a steep learning curve. And since the photon lacks the following of the Arduino, there aren’t quite so many experts out there willing to lend newcomers a hand. This disadvantage is offset slightly by Particle’s extensive documentation. There’s an online guide for new users to chew over, along with an in-depth series of tutorials.

Moreover, the feature list is growing: a remote diagnostic tool is in beta, which, once launched, will allow developers to check-in on units out in the field. This will save manufacturers the time and money that might be spent dispatching engineers, and it’ll provide data that’ll inform maintenance decisions, and ultimately drive down overall costs. This alone is enough for many developers to opt for the Photon – and hobbyists with an interest in wireless electronics might be similarly tempted by this low-power, highly-connectable microcontroller development tool.

So Which Microcontroller is Best?

We’ve covered 5 devices whose potential is extraordinary. They can each do just about everything that the Arduino does, and a little more. As you might have gathered, each offers individual strengths and weaknesses.

Some, like the ATtiny85, offer a means of doing the same thing as more substantial and feature-rich packages can do, but for a fraction of the cost. If you’d like to adapt your existing projects and learn how to take them off-board, then it’s sure to appeal. If, on the other hand, you’d like to explore the newly-discovered and mostly-uncharted landscape of IoT, then specially-designed pieces of kit like the Particle Photon are worth considering. It’ll make it easy to create and maintain circuits remotely, and it boasts the power necessary to keep your data secure without the need for additional circuitry.

With that said, some of the items listed share several features in common. Each can be easily inserted into a breadboard, and thus each makes a good fit for those looking to shrink down their projects. And they’re each modestly priced, mainly owing to the fact that microcontrollers have gotten smaller and more feature-rich over the years, and sport surface-mounted components that cram dozens of outputs into a few square millimeters of silicon real-estate.

It’s no accident that support for Wi-Fi is so widespread on this list, and that the winning device is equipped with both Bluetooth and Wi-Fi connectivity out of the box. Wireless technology allows us to interact with the inner workings of our circuitry using smartphones and allows that circuitry to send emails, order products and send diagnostic information in a manner that’s elegant and convenient. While your Arduino might have allowed you to keep track of the soil moisture in your garden, your ESP32 will allow you to log that information on the cloud and access it from wherever in the world you might be – and all on a single device!

Here are the final results of the poll, for which voting is now closed: