Development Boards : A Guide
Choose the right board for your next project
For those who love to tinker with electronics, a development board is a handy tool to quickly get a project up and running. There have been quite a few options, the most popular of them being the Raspberry Pi and the Arduino series of boards.
For a few months after Raspberry Pi came out, the choice was pretty simple. If you wanted to interface with simple electronics, your best bet was to buy an Arduino micro-controller board; if you needed the power of an ARM-based processor to run Linux, the Raspberry Pi single-board computer (SBC) was the obvious choice.
Before Arduino and Raspberry Pi, things were more complicated. Going forward, things aren’t just complicated again — they’re bewildering. We’re now seeing an explosion of new boards coming to market, and there’s no reason to expect the trend to slow in the next year or two.
So which one do you pick?
It all depends on what your project is. I’ve seen many developers wrongly assume that a more powerful board is ideal in every situation. Intuition says the costlier board will solve more problems but it ends up being more of a hassle than a solution.
Each project is unique and you can never really dictate which board is more suitable for a given application.
If your project involves simple Input/Output (I/O) and with a little bit of computation on these variables a simple micro-controller like the Arduino, PICAXE or the 8051 would suffice. A choice between these boards is completely based on your preference and skill level. The Arduino boards are recommended for a beginner due to them being easy to code and vast support and documentation online.
In my opinion these microcontrollers are best when you want to compile a program for it, attach a battery or a power connector and put it somewhere to run, and play around with sensors and other nice stuff that interfaces with the real world. They are really useful for simple applications and get the task done efficiently.
A solution for projects with I/O and internet connectivity for an IoT based application, one could use a WiFi shield/adapter with an existing micro-controller or could use a board like the NodeMCU or an Arduino Yun which has WiFi support out of the box. The NodeMCU is a little more tricky to use and the limited documentation or support makes it a little frustrating to resolve bugs at times.
The addition of internet connectivity could lead to many innovative project ideas. These boards have quite a few applications ranging from Industrial and Home Automation to an industry like healthcare where sensor data could be sent over the internet to perform useful tasks.
Processing / Heavy Tasks
Boards like the Raspberry Pi and the BeagleBone are complete computers. They require an operating system and also have I/O to interact with electronics. The applications that require such a board usually include computationally heavy tasks like computer vision or running a web server. Couple that with the I/O support and you have a board ready for hardcore projects that involve a lot of processing.
If your application involves hardcore computational tasks targeted at Machine/Deep Learning, boards such as the Nvidia Jetson series or the Google Coral are perfectly suited for these applications. These are super powerful machine learning enabled boards to help quickly deploy your application locally.
There do exist boards that don’t strictly fall under these broadly defined categories. There exists no fine line dividing these boards and you can often use boards interchangeably.
Is there a simple rule of thumb to help me decide?
Yes, there is! Think about what you want your project to do. If you can describe it with less than two ‘and’s, get a simple board like the Arduino. If you need more than two ‘and’s, get something more powerful like a Pi or a BeagleBone.
Isn’t that rule of thumb oversimplifying what is actually a much more complex issue?
Yes. That’s what a rule of thumb is.
So, um, which board should I buy anyway?
Most people, and most makers, want to solve a problem. While, for some, the specifications of the board really matter, those people are by far the minority. Get a board that ticks off the most boxes for your solution factoring in the skill level and the documentation available.
Get the board you need and get hacking!