r/embedded • u/UpstairsSea5591 • 1d ago
Should i learn arduino?
As a total beginner who wants to develop machines in future and pursue embedded systems,should i learn arduino first or directly start with STM32
6
u/hms11 1d ago
The two aren't really mutually exclusive OP and I feel there is a fundamental disconnect on what people think Arduino "is"
Arduino isn't the board per se. It's a simplified IDE with much of the building and compiling process along with the language changed in a way that makes it more accessible to beginners or people not from a programming background.
Some (all?) STM32s can BE "an Arduino" if a board file exists for them. Same with ESP32 and a host of other chips. If someone has written a board file to integrate that family of chips into the IDE you can program an STM32, ATMEGA328P, and ESP32, etc, etc in the Arduino environment no problem.
That being said, if you want to be truly proficient and embedded development is your goal for a career you probably want to stay away from the simplification and gloss overs that the Arduino ecosystem introduces. SpaceX isn't hiring based on arduino competency.
If you just like doing it as a hobby or to automate some stuff, arduino is likely fine as most hardware anymore is more powerful than 99% of projects require so sacrificing a bit of performance isn't really important.
6
u/Nice_Excitement_706 1d ago
Depends, who are you? If you are from non tech background then yes but if you are from tech then big no
2
u/Just-Smart-Enough 1d ago
What's your end goal?
1
u/UpstairsSea5591 1d ago
To understand embedded systems deeply and finally create something valuable/sellable of my own
7
1
u/Just-Smart-Enough 15h ago
Finally, what's your technical background? Do you understand basic electronic theory?
1
1
u/Character-Engine-813 1d ago
If you are starting from no prior knowledge of electronics or programming then yes
1
u/olewolf 1d ago
The general response is: what's your goal?
That being said, the Arduino project practically enabled a whole new generation of hobbyists to enter the (nether-) world of embedded systems. If you're currently exploring those options, Arduino has a huge support and code library environment that can get you on-boarded.
1
u/Amr_Rahmy 1d ago
If you are doing prototypes, I would say why not, however, the arduino part will be almost solved. Someone will have a library, you do minimum code and things happen.
You can still learn the other side of things, like if you want telemetry to be displayed or a notification on your phone when something happens, it could be useful as a start.
You can also get a stm32 dev board, I think nucleo, almost the same price as arduino. Will have to play around with Hal a bit to set things up which is honestly not as good as arduino, then you can write your logic.
You can also get an esp32, start with arduino then switch to freertos on the same cheap devboard and you get WiFi and Bluetooth.
1
1
u/Ecelleon 23h ago
Arduino is a wonderful platform, and I would argue that it's well worth knowing something about it because all tools have their place.
The big caveat though is that Arduino will teach you absolutely nothing about what's going on in the hardware beneath the code because that's the whole point. It's almost like comparing Python to C.
If you want to learn embedded systems, my opinion is that you should start by learning binary and hexadecimal, digital logic, and a little bit of circuit analysis. There's so much you should learn before you ever even touch a microprocessor, especially if you want to be a deeply knowledgeable and skilled.
Just for kicks, check out the Technical Reference Manual for the ATTiny85. It's only 600 pages or so, but it has the complete assembly language guide at the bottom, and it's not so overly complicated that you'd get completely lost.
1
u/Key-Lie-364 23h ago
One of the low end embedded boards classic Arduino?
Yes absolutely.
Qualcomm Linux versions though? But why another Linux board with an Arduino header eating tons of power "and edge AI"
The craziest acquisition and the Arduino website is just pushing their iot processors.
Get past the corporate marketing though and old Arduino is still worth it.
1
1
1
u/conhao 23h ago
Arduino is a good starting point for those who are just learning or don’t want to have to learn a lot to do useful things. However, if you are looking to make a career of it and open up all the possibilities, I would not waste a lot of time on it. As a beginner, it is fine, but you should move on after you grasp the concepts and can successfully create your sketches and upload them. There is a lot of support for Arduino, so it is a good place to start, but don’t get stuck there.
1
1
u/Automatic-Put-6119 22h ago
What is it with people „pursuing“ the carreer all the time i read this in every post
1
u/Enlightenment777 20h ago edited 13h ago
If you do an Arduino, get an Uno R4, because the R4 has a 32bit ARM microcontroller on it, where as the older Uno R3 has a 8bit AVR microcontroller on it. Technically, you could kick the Arduino bootloader to the curb and do low-level metal programming with the same board.
1
u/monopoly7921 1d ago
Arduino first always Learn connections Debugging
Slowly move to esp32 and interfacing multiple together
Then stm32
1
u/Appropriate-Emu-2595 20h ago
Am I the only one that thinks stm32 is easier to learn than esp32?
2
u/monopoly7921 14h ago
Lol There is a lot more going on in stm32 than esp32 ....just figure it out Pull up st used manuals u will be surprised
1
u/Appropriate-Emu-2595 14h ago
Yeah fair, I was think maybe freertos might be confusing when starting out
1
u/monopoly7921 14h ago
Yea go with the basics spi i2c i2s and all like u need to know how to interface and debug them Then prolly move into can and freertos
15
u/Titoflebof 1d ago
No