Beyond Arduino: Choosing Boards for your Project

For projects requiring greater complexity, or more specific features than is possible with an Arduino (particularly: anything requiring image processing, handling multiple peripherals, multithreading) you might want to explore some of the other boards (both microcontroller- and single-board-computers) that we have at the CCI.

Here, I'm going to make a distinction between microcontroller boards like Arduino (which run the same program again and again until you change it), and single board computers (see below) which run an operating system, and are used like a computer. In general, microcontrollers can be more straightforward to use and configure, but there's plenty of applications where using a SBC like a Raspberry Pi (e.g. doing multiple tasks simultaneously) is a better idea and can save you a lot of hassle.

Below is a short guide to choosing boards in different scenarios + more details about resources for getting started with different boards. This guide assumes you are already familiar with Arduino, but are encountering its limitations (or curious about other approaches).

Microcontrollers

Adafruit's How To Choose A Microcontroller is also a good guide to look at, but 90% of the boards it recommends are the Adafruit Feather series. One thing to be wary of -- lots of these microcontrollers don't run at 5V, but 3.3V! Be careful that you don't fry them by just sticking them into the same circuit you were using with a Leonardo.

Arduino Mega

The Arduino Mega is based on the ATmega2560 chip, which is a larger version of the ATmega328p chip used for the standard Arduino boards. It has 54 digital input/output pins (of which 15 can be used as PWM outputs), 16 analog inputs and 4 hardware Serial ports. It's big!!! (we have 2)

Arduino Nano BLE

We have loads of these little bluetooth boards, which are particularly well-suited

Interestingly, unlike most other Arduino boards, these are not made using the ATMEGA chips but instead Nordic's nrf52 series, which are speedy little Bluetooth chips! They can still be programmed using the Ardiuno IDE, but note that not all the libraries will work in the same way.

RP2040 / Raspberry Pi Pico

If you simply need more speed / simple multithreading, you could also consider switching from Arduino to a Raspberry Pi Pico -- these are not the same as other Raspberry Pis: they don't run an operating system, and are instead an interface to a microcontroller called the RP2040.

The other nice thing about RP2040 boards is that some people make them really pretty small -- Solder Party's RP2040 stamp comes in at 1x1 inch (careful, though, as the headers are 2mm rather than the more common 2.54mm pitch, so the rest of your circuit will need to reflect that). You can also sacrifice some pins for easier interfacing with the Seeed XIAO RP2040, which is a similar size but 2.54mm pitch.

Adafruit Feather Series

The Feathers are not a single board, or even family of boards based on the same chip, but instead a flexible collection of different chips mixed with different communication protocols, all with the same dimensions and layout, battery charging, Arduino IDE compatibility etc etc. It's worth looking through their whole range (if you are into such things), but my particular favourites are:

Single-board computers

Raspberry Pi

Nvidia ??


Revision #3
Created 20 December 2023 09:53:58 by agnes cameron
Updated 29 April 2024 22:24:58 by agnes cameron