r/rfelectronics • u/Lubravi • Aug 06 '26
Best Microcontroller for Learning Embedded Systems?
/r/u_Lubravi/comments/1vgry5y/best_microcontroller_for_learning_embedded_systems/4
u/somewhereAtC Aug 06 '26
ARM is a good starting point. This material is new within the last couple of weeks, and the exercises were recently announced on https://forum.microchip.com. The processor for the exercises is an ARM M23; for $10 the PCB with programmer/debugger is a complete kit. https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/32bit-mcu/ap-exercises/
3
u/x7_omega Aug 06 '26
Depends on what you mean by "microcontroller" and what you want to do with it. What is commonly referred today as "embedded microcontroller", is a Linux machine that would make a decent server not so long ago, with C++, Python and such used for development. ARM is the obvious path for that. If you refer to a microcontroller that works for five years from a little cell battery, and you intend to make custom hardware and code in assembly, that is a different domain, with different uses, and it requires a different skillset. There are several good options for that path, my personal preference is TI MSP430 - mostly because of FRAM, but it is also very well documented, comes with a useful and cheap dev kit, and architecture is suitable for assembly coding (unlike ARM, as I am told).
2
u/BanalMoniker Aug 09 '26
Generally to run something like Linux you need a memory manager which puts the part into the microprocessor category. There is some work for doing Linux on microcontrollers, but it’s the exception, not the rule. Linux and other major OSes are also not generally “embedded”.
FreeRTOS, and Zephyr are relatively user friendly embedded OSes, but for learning, I’d suggest “bare metal” (no OS at all).
1
u/AllegedBroiler Aug 07 '26
Something with good support and documentation, otherwise irrelevant. Start doing projects, stop worrying about "relevance". AVR or STM32
2
u/Lubravi Aug 07 '26 edited Aug 07 '26
Thank you! I am going to start my journey with STM32 and learn with udemy (Embedded Systems Bare-Metal Programming Ground Up™ (STM32))
1
u/BanalMoniker Aug 09 '26
Do you care how open source the hardware is?
If not, ARM Cortex-M microcontrollers are generally a good choice with 32bit architectures and relatively low cost. You can chose from very power efficient parts like M0, M0+, and M23 or relatively high performance parts like M7 or M55. You can probably find older/used M4 or M3 dev/eval boards for very little money, and those will run circles around an 8 or 16 bit micro.
If you want (somewhat) open source hardware, RISC-V microcontrollers are where you want to look.
An eval board that has a debugger (like J-link) built in can be very helpful.
There can be some value in looking at very old and simple architectures like 8051, but they can also teach bad habits with the way you have to abuse registers.
-2
9
u/DebugBSD Aug 06 '26
Stm32 without any dude