I am a bit of a nerd, so there are things that seem small but end up making a massive difference. One of those small things is the Seeed Studio XIAO series of Microcontroller Development Boards. These boards do so much right, and I am of the opinion that everyone, from beginners to advanced, should get themselves a couple of them.
For my friends who don't necessarily know what the fuck a Microcontroller Development Board is, allow me to explain. If you already know, feel free to skip.
Embedded devices are all around us. Things like microwaves, automatic doors, water bottle fillers, stop lights, or just about anything that does something programmatically need some sort of processor or chip to function, but it does not need to be as powerful as a computer.
An ATMega328P
These chips are called Microcontrollers. They are processors that aren't quite as powerful as a computer (although, at this point, many are more powerful than a computer from 20 years ago and can do pretty complicated stuff), but they are significantly more power efficient and can still do a surprising amount of tasks. Their power comes from the fact that they can interface with electronics like LEDs, buttons, sensors, motors, and pretty much anything controlled by an electric signal. The ability to have your code control the real world is a significant draw to them, but it turns out that it also comes with some complexity.
AVR Pocket Programmer hooked up to an ATMega328P. Image source.
In order to get your code onto a microcontroller you need to do this mess. Such a complicated process can be a massive obstacle for people who are learning for the first time. And thats even if you are able to program it on a breadboard. Today, most microcontrollers need to be soldered to a purpose-built PCB to work. Luckily, this has been a solved problem for decades.
Arduino Uno R3
This is an Arduino Uno R3 and it's what we can call a microcontroller development board. At the heart of it is the same chip as before, the ATMega328P, but now it's been put into another board that allows you to just plug it into your computer and program it. A dev board doesn't necessarily need to be an ATMega328P as it can be designed around any microcontroller. This makes development so much easier to learn. In fact, I got one of these almost a decade ago and learned both electronics and programming with it as a 4th grader. (and the help of a very patient high school student. Thank you, Kane)
There are also a lot of different processors. The Uno that I learned with uses the ATMega328P, an 8-bit microcontroller by Microchip that is, respectfully, awful today. But there are a lot of options to pick from. There are the RP2040 and RP2035 (of which I am a massive fangirl) that are super affordable and have a lot of functionality built into the package. There is the ESP32 series, which all have WiFi built in and can do some crazy computation. There is the nRF series of chips that can communicate with low-power Bluetooth, ZigBee, thread, and other wireless IoT protocols. There are the STM32s which are good at nothing and suck, and no one should ever use them, and I hate them. There are many options depending on what features you need and there are many different dev boards with each of these chips on them.
All of my development boards. Each one of these has a different microcontroller.
These dev boards come in a lot of shapes and sizes. From the monstrous Teensy 4.1 with 50+ exposed pins to the tiny Seeed Studio XIAO. Oh shit, we finally made it. I'm sorry it took me so long.
The Seeed Studio XIAO series are dev boards that contain many different microcontrollers (ESP32, RP2xxx, nRF, etc.) in a small format, and they are awesome. I first got one when I needed a second, tiny microcontroller for a project, and I found the XIAO ESP32S3. Later, I was designing a project that needed to be small and fast to make. I decided to use the XIAO RP204 for it, and I took the extras I had left over with me when I went to college, where they have been great to have around. Everyone who is slightly interested in or wants to learn embedded engineering should get themselves some of these.
This is probably the first thing you notice about them, and it's a big (or small haha get it) reason you would decide to use them. I keep one in my backpack (see first sentence), and it's nice to have for when I need it (which is surprisingly a non-zero amount of times).
The size is also nice because I was able to attach one to a Raspberry Pi Pico W for SWD debugging since I don't own a Pico Debug Probe. It's always on there for anyone else who will use this, and it's small enough not to get in the way. For a lot of bodges like this, the size is a massive asset.
Once you create a prototype on a breadboard, a logical next step for many projects is to create a PCB. With the XIAO, this is really easy due to its castellated edges. All that means is that there is exposed metal on the sides so that you can surface mount them on a PCB. These aren't unique to the XIAO; in fact, the Raspberry Pi Pico also has them, but paired with their small size, the XIAOs work great when you design a PCB around one.
I actually created this PCB in a single sitting after a couple of hours. Because the XIAO is small and simple, this was relatively simple. It's also incredibly helpful that there are KiCAD Libraries available. It really is a great thing for makers to be able to put at the heart of their projects.
These dev boards are super cheap. As I am writing this, I double-checked the price and you can get an RP2040 XIAO for $3. Now, that's the cheapest, but not by much. Most are under $10 and have a ton of features. If you just want to try out a bunch of different microcontrollers, getting a haul of all the different types of these is not a bad idea. And if you don't want to deal with the shipping cost if you're only getting a couple to test out the waters, they are also pretty cheap on Amazon with free shipping. Usually, these dev boards are much more expensive than single units on Amazon, but these aren't that much more than usual.
This is one of the XIAO series' biggest strengths. Let's take the RP2040 XIAO as an example.
This pinout breaks out pretty much everything you want. Analog and I2C are on the left, ground, power, SPIe on the right, and UART serial pins on the bottom. As it turns out, this is standard across the entire lineup, allowing you to quickly migrate your project from one microcontroller to another incredibly quickly. So if you start a project with the RP2040 XIAO and later down the line decide that you want WiFi, you can just swap out the RP2040 XIAO for an ESP32 XIAO and only reconfigure a little bit of code to move some pin numbers around.
The Seeed Studio XIAO has also spun off a compatible line of other microcontrollers, for example, the QT Py line from Adafruit. These have the same pinout style as the XIAO line but with their own benefits, like the Stemma QT connector that is compatible with other Adafruit sensor modules. This pinout compatibility is great and really gives you a lot of choice once you enter the ecosystem. Speaking of the ecosystem…
Yes, I really hate that word, but I can't think of anything better to describe it. There are a lot of hats and other compatible devices that work with the pinout. Screens, LED Matrixes, sensors, you name it. While it is not as big of an ecosystem as the Adafruit Featherwings, it is still very sizable and potentially worth investing in due to the wide range of microcontrollers that it supports. Typically, I don't use these types of expansions and use breakouts that are more similar to the style of Adafruit boards, but this is still a great option and might be easier for some beginners to understand.
There are many little details that make these really nice to have around, so I will list some of them here.
I'm not quite sure how to wrap this up. I've mostly been fangirling over a bunch of electronics for a while. If I wanted to sum up the XIAOs in a single word, it would be flexibility. It's incredibly easy to pick and swap between different microcontrollers depending on your project's changing needs. It's also easy to take something from a breadboard directly to a PCB using the same core of the project. Both of these are massive advantages for learning something new, and I think XIAO dev boards are great for taking your knowledge a step further. If you want to get into embedded systems for the first time, learn how to make a PCB for a small project, or just get too excited about dev boards, you should check out the Seeed Studio XIAO line.