Skip to content

Arduino vs STM32

dore_m

RIP After banging my head on the keyboard with STM32 for long enough, I decided to switch to Arduino.

Just wondering - What do you mean by arduino being more user friendly - in what way was STM32 difficult?

Wondering for future projects that might require STM32....



RIP

Somebody (I believe in this forum?) said that STM32 targets professionals whereas Arduino targets enthusiasts. That has been my experience. See the other thread for details, but basically the STM32 development environment is extremely confusing, its support for Linux is a joke, and if you take two projects and try to merge them (for example because you want to add USB-MIDI), it's a nightmare and nothing works out of the box. It reminds me of MS Visual Studio of 20 years ago: I went onsite to a customer location (software for a satellite), and I literally spent three hours debugging an issue that was a checkbox to click in some menu. That file was stored as binary, so our version control (SVN at the time) told me that it had changed, but it did not tell me what had changed. Such is STM32 IDE: at each fart, a huge number of files change and it's extremely complicated to track what and why. If one a professional doing that development day in and day out, I'm sure they can learn the quirks and live with it, especially because the choice of the particular hardware is what drives the choice. Not so much an enthusiast on a time constrain, and with more flexible budget: I am happy to spend $20 more on the hardware if the software works more intuitively, hardly so if one is designing (say) a fridge to be built in millions of copies.

ArduinoIDE for what I have tried so far it's much more streamlined. It works out of the box without problems (assuming one did not try on a too old/wimpy hardware, ask me how I know it 🤣 ). Merging two projects seem straightforward from the instructions. I have not tried, but I will shortly by including USB-MIDI in the project and report back.

Hope this answers your question, let me know if you would like to know more.



vagfilm

Added a couple of comments on Github. I have yet to solder pin headers on my teensy to start playing around. Start of academic year is hectic as always and I will have no free time until october…


RIP

vagfilm I have yet to solder pin headers on my teensy to start playing around.

Yeah, don't you now wish you sprang for the $2 more for the version with presoldered headers? I did…

dore_m

See? With STM32 I spent a whole weekend and was unable to add a simple feature like this in my project (it did work in the example project, but it was impossible for me to merge it into mine). With Arduino, I was able to do this in 10 minutes, and the vast majority of the time was dealing with git branches and PR. I literally had to just type these few lines following the super clear and super simple documentation


vagfilm

RIP wish you sprang for the $2 more for the version with presoldered headers?

It was not an option for me: around here there were only vendors selling the Teensy without soldered pins (in stock… otherwise I had to wait a few weeks or order from an overseas vendor at double the cost after customs and shipping). Teensy is far from common here…


yoz

As a professional embedded system developer, Arduino are only for hobbyists and are perfect for prototyping. STM32s don't have a community like Arduinos because in fact they are professional products. You don't have a single STM32 but hundreds of specialized models. I'm not saying Arduino is bad, but only good if you want to run a prototype. If you want something much more powerful, robust or specific. You should go for an STM32. Industrialized products don't integrate Arduino, Arduinos do many things but do none of them very well.