The heart of any embedded system is the microcontroller or microprocessor. A long time ago, you had to design your own board, and add your own components just to be able to create a prototype system. On this page, I will attempt to show you some of the options you have, and give you a choice.
To evaluate, or not?
Today, multiple systems exist that allow you to evaluate a microcontroller/microprocessor, called evaluation boards. They normally come with a lot of documentation, and a way of programming them. They sometimes contain components to let you test an idea, but this isn’t always the case. While not necessary, the idea is that you will evaluate a component, and when your project is finished, you can design your own board.
Other boards exist, not to evaluate, but to use on their own. These boards are often called SBCs, short for single board computers. A well known example is the Raspberry Pi; once your project is done, you will use the entire board as it is.
You first choice is this; do you want a board, or do you want a microcontroller? If you go with a Raspberry Pi, there is a good chance that your application will only run on a Raspberry Pi, and that you won’t be creating your own board (which isn’t necessarily a problem). If you go with a specific microcontroller, you can design your own board, but you might end up staying with the evaluation board, which again isn’t always a problem.
If this is your first project, then the choice might be overwhelming. Arduino, Raspberry Pi, mbed, STM32… It’s easy to get lost. If you need help in choosing a board, click here.
There is a chance that a significant portion of your time will be spent choosing your board. ARM, AVR, RISC-V, there are a lot of microcontrollers to choose from.