Best microcontroller for Beginners
One of the most asked questions on r/embedded Reddit is "How do I get started in embedded electronics?" or "What is the best microcontroller for beginners?". This post will aim to address that.
If you've seen my About page in this blog, I've discussed a possible set of microcontrollers to keep in his/her skillset as a hobbyiest. Here we will elaborate.
There are wide range of microcontrollers, here are some popular microcontrollers that are great choices for beginners:
Arduino: Arduino is widely considered one of the best options for beginners. It offers a user-friendly, open-source platform with a simple programming environment. The Arduino community is large and supportive, and there are numerous tutorials and projects available online. The Arduino Uno and Arduino Nano are excellent starter boards.
Raspberry Pi Pico: The Raspberry Pi Pico is a microcontroller board from the Raspberry Pi Foundation. It's based on the RP2040 microcontroller and is excellent for beginners. It supports the MicroPython programming language, which is easy to learn and use. The Pico is affordable and has plenty of online resources.
Mbed platform: Then there is also the Mbed platform, developed by Arm, a solid choice for those who want to get into more professional-grade microcontroller programming. Mbed provides a free online IDE and supports a wide range of development boards.
Micro:bit: The BBC Micro:bit is designed for education and is an excellent choice for beginners, especially in a classroom setting. It has a user-friendly block-based programming environment but can also be programmed in Python and JavaScript. It's ideal for teaching programming and electronics concepts.
Many take the Arduino route. Although this may be a good idea; in this blog we're not concerned with Arduino; these are heavy frameworks. Simple, plain and close to metal frameworks are more performant and more importantly - exciting.
Hence my suggestion is to begin with the widely available and inexpensive blue-pill board. It is powered by the ST's ARM Cortex-M3 stm32f103c8; A chip that is widely used in the industry. It's got enough RAM and flash to run your initial projects while you pick up some embedded skills.
Pairing it up with this book: Beginning STM32, will give you a great start with step-by-step hand-holding. This book uses the libopenCM3 HAL (that's Hardware Abstraction Layer) framework. In my opinion this framework is far superior to the ST's default cube HAL which is a botched mess.
To complement your microcontroller board and to do projects, you will need a set of commonly used electronic components. Fortunately one may find many electronic starter-kits on AliExpress that will suffice for a beginner hobbyist.
Finally you need a multimeter. Again Ali has you covered here. Note that the accuracy of the multimeter is denoted in counts. 4000 counts would probably be about right for hobbyist use; but the more the better.. See here for an explanation. See here for a breakdown of various options.
This post works through building an economical home lab.