When I first started looking into microcontroller boards, I was overwhelmed by sheer amount of options. There are several major types, and each of them also have different models. But after a fair bit of reading, and some malinformed purchases things started clicking into place. Here I will try to cover what I consider most popular and most important boards for hobby developers. Also I will mostly focus on products you can get from China, since costs of shipment make other boards to expensive for me
The board that started it all. Although there were development boards before, Arduino really made it popular and set a standard for all future boards. Today there are a lot of different Arduino boards available but I will focus mostly on ATMega328 based ones wich are cheapest and most popular
This is main Arduino board, and one I would recommend for beginners. Most tutorials you’ll find on internet are for Arduino Uno. Also there is a wide range of add ons, called “shields”, that can help you start with Arduino.
There are two types of Arduino Uno boards, and main difference between them is what kind of microcontroller they use. First one uses DIP replaceable chip, and second uses surface mount. Although first type is a bit more expensive I would recommend you to get at least one of those, and you will see why later.
If you ever reach a point when Uno is not enough, Mega might be a board you should look at. It is oversized Uno with upgraded processor.
Personally, I never needed bigger board than Uno, and even Uno was too big for my needs quite often which brought me to…
As Arduino popularity growth, a need has arisen for a smaller board. Thus Arduino nano was born. It is smaller board, and in breadboard friendly package.
This is my favorite Arduino board. It is quite easy to use and size is just right. Just plug your board into breadboard, connect additional hardware, plug usb cable and voila… You’re ready to use it. Also it is really really cheap 🙂
Most of the cheap chinese boards use ch340 chip for usb communication so you will need a driver for it. Bad or outdated driver was major source of complaints about this board. Also if you’re not into soldering, pay attention to get board with pins already soldered.
This is basically Nano without usb port. That makes it smaller, but also a bit harder to use, because you cannot just plug it to PC and upload your code to it. Easiest way to program pro mini is via USB to TTL adapter, but if you want to get your hands dirty, you can use some other Arduino board as programmer
One really nice thing about Pro Mini is that unlike previous Arduino boards, it also has 3.3v version. With some minor modifications you can make it really low power.
This microcontroller is core of most popular Arduino boards. And you can get only microcontroller and build your project around it.
Using only chip have some additional benefits beside size. Atmega328p supports wider range of operating voltages (1.8-5.5V). It has internal 8mhz oscillator and with external oscillator it can run from 0 to 20 mhz depending on voltage provided.
You will need some way to upload your code to this chip. Easiest way is to use Arduino Uno with DIP replaceable chip (mentioned earlier). Also you will have to build at least minimal board around it, but that is a fun part.
You cannot get any smaller than this… or can you?
Attiny & Digispark
If you want to shrinkify your Arduino project even more, and don’t need lot of pins, attiny is next step.
Digispark kickstarter brought attiny85 to the spotlight. This is probably smallest board on the market. And it can do most of the stuff Arduino can and even more
What is interesting about these boards is that they don’t have dedicated chip for usb communication. Instead USB driver is loaded directly to controller. This opens some interesting possibilities like faking usb devices, but also have some downsides. Major one is that usb driver leaves less space for user code on board.
Core of Digispark boards is Attiny85 chip. It is similar to Atmega328p with one major difference – it has only 8 pins. But don’t let the small number of pins fool you. Each of them can perform different functions as long as you don’t use them at the same time.
Easiest way to program ATtiny85 is to use Tiny AVR Programmer from Sparkfun. Unfortunately it is a bit pricey, and there are no chinese clones of it (yet). You can build your own board to be used with arduino as a fun little project. For me easiest way is to use put chip in development board and then connect AVR programmer to it.
There are other ATTiny chips but ATTiny85 is most popular one, mainly because it is most powerful one and price difference is minimal, at least for hobby users.
This board actually became popular as a way to connect Arduino to wi-fi. But it is actually a quite powerful board on it’s own, and today it is almost as popular as Arduino itself
First ESP8266 that hit the spotlit was ESP-01 module by AI-Thinker. Its main purpose was to allow other microcontrollers to connect to wifi. It only had 6 pins exposed. As popularity of chip growth different revisions of board with different number of active pins came to life. Today there are 14 major revisions of ESP8266 modules and several sub revisions.
Yo use those boards you would need USB to TTL adapter to program it, and external 3.3v power supply. As people started to use ESP8266 more and more as standalone Arduino replacement there was need for more developer friendly boards. Most of the boards are based on some version of ESP-12 module.
First popular development board for ESP8266 was NodeMCU. It is not really a breadboard friendly (you will need two breadboards) but it is a huge step forward from those simple breakout boards before it.
There are different producers and versions of NodeMCU boards. Today you will mostly find revision 3 of the board. Boards also differ with amount od memory on them. It can go up to 32 megabytes. There are also some specific boards like one with OLED display on it
Wemos is today probably main producer of esp8266 boards. They were willing to experiment and it payed off big time. Besides NodeMCU boards they produce they are famous for their Wemos D1 boards. Wemos D1 R2 have form factor similar to Arduino Uno. D1 Mini is more ineteresting and far more popular
What makes D1 mini really stand out from competition are additional add-on boards similar to Arduino shileds. That, together with small form factor makes D1 mini board of choice for many users
Esp8285 is basically Esp8266 with 1mb memory on chip. It is really small so it is great where you need everything in one tiny package.
You probably won’t use ESP8285 that often, but if you run into a project where size is limited it is nice to have it as an option
Successor of ESP8266 is a rising star at the moment and for a good reason. It is most feature packed SOC (system on a chip) on hobby market today. It contains:
- Main dual core processor with clock frequency up to 240mhz
- Low power Co-Processor that allows computations while in deep sleep
- WiFi – 802.11n up to 150mbps @ 2.4 GHz
- Bluetooth – v4.2 BR/EDR and Bluetooth Low Energy (BLE)
Recently it dropped in price considerably, so hardware wise, it is best value for the money. Unfortunately software support is not quite there yet. Some feature are not usable, and bunch of libraries don’t work with it yet.
Unlike ESP8266 where it took a while for people to realize full potential of the chip, and producers to start building boards with it, ESP32 was huge hit from the start. There are already different versions of esp32 board layouts. Most of them are similar to ESP8266 boards, but you’ll also find some more exotic ones, like with battery holder and charger on board
Although a bit rough around the edges, ESP32 boards are improving everyday, and you should definitely keep your eyes on them
Big League (PIC and STM)
This is totally different league. If you plan to go big numbers, this is probably where you should look at. Some of those chips are popular also for hobby electronics, but their main focus is industry and you’ll find them inside wide range of products, from toys to cars.
PIC is a family of microcontrollers made by Microchip Technology.The first parts of the family were available in 1976; by 2013 the company had shipped more than twelve billion individual parts, used in a wide variety of embedded systems. Today Microchip ships more than one billion PIC microcontrollers every year.
Before arduino PIC was microcontroller of choice for hobby developers. Wide range of options, huge community and low price makes them quite popular even today. With small instruction set that is easy to learn, PIC microcontrollers are great for people starting assembly programming.
To upload code to PIC microcontroller, programmer is required. There is a wide range of programmers available, from cheap ones intended for hobby users, to more expensive feature packed industry grade ones.
STMicroelectronics is Europe’s largest semiconductor company. Among other stuff they produce STM8 and STM32 microcontrollers. You can find STM8 and STM32 in wide range of products. They are really popular with chinese manufacturers.
What really makes STM8 popular is it’s price. You can find development boards like one on the picture below for as low as 65 cents. I don’t have a clue how cheap this chip in huge batches might be.
Unfortunately, this is also least beginner friendly board out of all in this article. I bought one of those boards just because it was so cheap, but never used it. Main reason was I didn’t find an easy way to compile and upload code for it on Mac 🙁
STM32 would probably be the next big thing in hobby electronics if it weren’t for esp8266. Chip is based on 32 bit ARM architecture and is quite powerful. STM32 is ever expanding family of microcontrollers, and new and more powerful chips appear regularly.
For hobby users, most interesting are Maple boards, Arduino like boards with STM32 microcontroller. There is also community effort to make ESP32 boards easy to use with Arduino IDE. You can find more on http://www.stm32duino.com/
To upload code to STM32 board you will need ST-LINK programmer. There are boards with dedicated programer on them, but they’re a bit hard to find in China, and cost a lot more. I played a bit with this board, it is usable, but is far less beginner friendly than Arduino or ESP
Honorable mention: Raspberry Pi
I wasn’t sure should I put Raspberry Pi on this list, since it i completely different beast. Unlike other boards this is a full blown computer that runs on linux and can be used for way more than other boards I presented here. You can even program other boards on it 🙂
There are 2 basic types of Raspberry Pi boards, Pi and Pi Zero, and current models are Pi 3 And Pi Zero W (W stands for wireless) . Pi Zero is basically a smaller brother of regular Pi. It is weaker (specs are similar to first gen Pi), a lot smaller and dirt cheap. It is so cheap that it is a problem to find Pi Zero on market, since it sells almost instantly.
There is also a third type, Compute module, but it is made for some different purposes and is out of the scope of this article.
Although it is a full blown computer Pi is a bit underpowered to be used as regular PC replacement. It really shines if you use it for single purpose. People built retro consoles with it, media centres, and smart audio players. It is also great as central hub for your smart home or other IOT projects.
But main reason why Raspberry Pi is mentioned here is it’s 40 GPIO (General Purpose Input/Output) pins. Like with other boards, you can connect external hardware to it, and most popular communication protocols, like SPI and I2C are supported. Major difference from other boards is, that for Pi, primary language for development is Python
Where to go from here
This post cover most popular boards on the market today. This is turbulent area and who knows what will be next big thing tomorrow. But don’t let that stop you from diving into wonderful world of electronics. Just go single step at the time.
If you want to do this as a hobby, start with Arduino because it is most documented of all. Get yourself Nano or Uno and get familiar with the basics. After that if you need wifi connectivity or want to dig deeper get into ESP8266 because it is stable and well supported. When you learn enough to be able to tackle with problems you can’t find solution on the internet get ESP32. From there you will be able to chose your own path.
If you plan to do this for a living pull up your sleeves and dig into PIC or STM. But even if you go with other boards mentioned here you will not make a mistake. This industry is growing rapidly, and there will be a huge demand for engineers.
And even if you don’t plan to get into electronics get yourself a Raspberry PI. It can be used for so much stuff. And maybe it will open to you a new world of possibilities like it did for me 🙂