Z
Z
zemand2019-06-04 09:17:24
Arduino
zemand, 2019-06-04 09:17:24

Is it worth it to start with Arduino if you want to know the world of microcontrollers at a good level?

I bought a Starter Kit on Arduino for aliexpress and since I started playing with it, it dawned on me that the Arduino environment simplifies everything too much and maybe I had to start with something else if I want to know the world of microcontrollers in detail. Direct the true young padawan on the path, is it possible to abstract from the arduino environment and using Uno, for example, program the Atmega328 in SI using VS, Atmel?
PS There is a great desire and attitude to learn, but sometimes, due to inexperience, you don’t know what to take on.
Thank you.

Answer the question

In order to leave comments, you need to log in

11 answer(s)
J
janikc, 2019-06-04
@zemand

I'll answer with some controversial words. I have read the answers of the authors. I would advise you not to listen to them.
Dive into the world of microcontrollers (MK) is a very vague goal. The first thing you need is an understanding for us and you, what is it for you? As a career? Hobby? etc.?
In addition, most authors rushed to advise you on specific MCs, which is not true.
The world of MK is closely connected with other engineering branches: design, circuitry, microwave, information processing, algorithms, etc. In addition to this, knowledge and understanding are needed: interfaces, modern electronic element base, operating systems, etc.
Therefore, in order to limit the study of everything and everything, you need to outline your current knowledge (from the usual fundamental disciplines (English, algebra) to applied ones) and your goals.
This is as a preface. Choosing a board to start? Many who have read the Internet advise stm32.
First, on what basis they advise it is not clear. There are many other manufacturers with this cortex core.
Secondly, this MK is quite complex. You will stop learning it at the stage of reading technical literature and setting up the environment. Because now there are many tools for automating MK settings, then you won’t even understand how and what you set up. They just pressed the buttons, like on YouTube, and now it blinks ...
So drop it. Nobody teaches children the alphabet according to Shakespeare.
Get an arduino. Firstly, the board has everything to work. Secondly, there are many examples. Further, while you set up another MK and a fee for an exchange with a PC, you will get bored with this. And here there are ready-made templates for exchanging information with a PC.
Further, there are many books on avr, in particular, the easyelectronics website has a great course. Those. you can take an arduino and run like avr.
Therefore, I advise you to take an arduino and, if you don’t get bored, run the AVR on it. And then, when experience comes, you will more or less understand that you will switch to that crystal (MK) that you already like and do not give advice on the Internet, which I advise you just from the bay, don’t understand what.
PS. Sorry for the errors in the text. Too lazy to edit
PS / PS I have nothing against the authors of other answers

L
lexxkrt, 2019-06-04
@lexxkrt

Of course, study, do not ask anyone, especially the stewards

A
Alexey Cheremisin, 2019-06-04
@leahch

Take STM32, and any. This is a fairly modern family of processors, with good capabilities, both in terms of power consumption and peripherals. There are a lot of teaching materials, but you need to put your hands on it. You can even run some kind of RTOS on it.

P
pfg21, 2019-06-04
@pfg21

I also stand up for stm32 - this is a modern, multifunctional and promising percent. but the functionality turns into complexity and a high entry threshold.
by comparison, the aurdino is a children's tricycle. but this tricycle is quite necessary for a start. The main thing is not to linger on it and move forward. so start with aurdino and look to the future.
atmega is also an antiquity, if tasks for study or work are not expected - do not pick.

R
RBxx, 2019-06-04
@RBxx

STM32 is too cool and expensive for some simple devices. I often have enough pic12f675, and if not enough, then pic16f886. I wanted to try with atmega, but I stayed on the pic, because. there was no version of avr studio for linux.
If you want to understand deeper, open the datasheet for the controller, study and write the code.
And I consider Arduino to be some kind of children's designer.

I
Ilia Zhitenev, 2019-06-05
@ilyazh

Start with an Arduino if you have one. Nothing wrong with that. I myself once started with it, now I work as a development engineer and I don’t think that the Arduino experience was flawed. The main thing is not to start building serious hardware on Arduino. Arduino has a big plus for beginners - you can feel and try many things to understand if it's really interesting to you. And then when you realize that at this level your interest is fading - go deeper, and, for example, abandoning the Arduino environment, program the same board "directly" - without libraries and wrappers, using the controller registers. After that, you will not have any difficulties with moving to another MK family, because. you will already have an idea of ​​​​what and how it works in general terms, what to look for and where to dig from other MKs. And then deepening and improving skills in related areas: circuitry,
P.s. Also, Arduino can sometimes be useful when you need to quickly make some single experimental piece of iron or mock up something quickly.

E
evgeniy_lm, 2019-06-05
@evgeniy_lm

1. You already have an Arduino. I see no reason not to learn it
2. Arduino is just a conveniently packaged AVR MK, no one bothers you to write programs for it in any other environment than the Arduino IDE.
3. Arduino simplification is its feature.
As a rule, most projects do not require huge speed, but it is much easier to implement the algorithm in the Arduino IDE than in Atmel Studio, etc. for Arduino IDE, and many even repeat the form factor of Arduino boards.
5. For Arduino libraries, work with various peripherals and other resources is disproportionately greater than for STM32.
6. Of course, there is a big fly in the ointment in the Arduino IDE - the lack of hardware debugging. Personally, it infuriates me.
The only thing I do not understand is what specific goal you are pursuing. Perhaps I could offer something more specific.

P
Pavel, 2019-06-04
@HEKOT

Anything but NOT Andurino. Andurino is like Lego. You can build anything you want, but you can't really use it.
You can Arduino with Atmel Studio. Well, because it's very accessible. And just for the very beginning. Well, there is a bitik in the register to update and say "hello, light bulb!"
I support speakers with STM32. There is something to study. And in demand.

Y
Yuri, 2019-06-04
@riky

you correctly understood the arduino for those who need a quick result without diving into the wilds.
I will support the stm32 option - a cheap, powerful and modern replacement, with very rich functionality.
arduino can also be used at a low level, but it is also obsolete.

F
frozendog, 2019-06-04
@frozendog

Not an expert at all, but started with esp8266. wemos d1 mini board. Immediately there is a mini-USB and the ability to connect some sensors without soldering. More take was with ide atom and a soldering iron. I made a couple of sensors and I wanted more and ordered clean esp8266 12f and body kits for them. While they are coming, I have already read about esp32 / RTL / stm. I want some kind of arm. Those. if for yourself it's better to start with a d1 mini board (or similar) and then go to the armies. It is better not to use standard shields to deal with the pins on the sensors and learn how to use them on any device. All IMHO.

Z
Zig145, 2019-06-04
@Zig145

If you study, then stm32! The cost of boards is sometimes even cheaper, and there are more hardware capabilities. Unlike arduino on stm32, you can really debug code. Kutsi 10 bit ADC of arduino, or 12 bit for stm32, connecting external RTC to arduino, or using hardware in stm32, hardware usb, built-in pull-up and pull-down resistors, the ability to work with low voltage. stm32 has a lot of pluses, arduino was not bad at one time, but it is outdated. Modern modules are less and less often made on 5v. Do not take my word for it, compare microcontrollers of the same price category, you will understand everything yourself. In terms of programming, the arduino IDE is a separate fuck, stm32 has an older stm32cubeide.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question