L
L
Leonid Korsakov2016-04-18 13:09:41
Arduino
Leonid Korsakov, 2016-04-18 13:09:41

Where to start in microcontroller programming?

I have 4 years of experience in web application development. Long-standing desire to feel microcontrollers. Technical education. Ready for relative hardcore. Basic knowledge of C/C++ and assembly language.
I would like to try to do things for systems like a smart home. That is, automation of control of various things, devices and interaction with communication systems.
I don’t want to assemble a board from 0 on my own, look for transistors, resistors, etc. for it.
I expect some kind of ready-made board that will allow you to quickly start and deploy in a wide range, relatively easy to learn, well documented, with its own development environment and community. However, at the same time, I don’t want the board to overwrite the fundamental understanding of “how it all works,” so there are concerns about the arduino, and besides, it is very expensive. In general, as always, a golden mean is needed. Who has experience, please advise what to spend money on to console your curiosity in this area.
UPD: I ordered the next set Ultimate-UNO-R3-Starter-Kit-for-Arduino

Answer the question

In order to leave comments, you need to log in

8 answer(s)
I
Ivan Kozlov, 2016-04-18
@komandakycto

Greetings. I myself am a web developer and as a hobby I play with hardware. To work with a microcontroller, at least some knowledge of electronics and circuitry is required. Then I would advise to take arduino. It has a lot of lessons and diagrams, plus the ide environment is easy to understand. I disagree on the price. You can take the fee itself for 500 rubles from China. It also has starting radio components - LEDs, resistors, buttons, etc. - also not expensive. All this can be collected for 1000-1500r - in our time this is not much.
As a more difficult level, I would advise taking some kind of stm32 scarf. It will also need components.
For 2000 you can assemble a good set.
This site has cheap scarves

D
Dmitry, 2016-04-18
@kashamalasha

You will need the following set to make it interesting to do something:
With this set, you can do something if there is any idea. It's pointless to just buy an arduino, you'll get bored the next day.
Plus, you will most likely need a minimal tool:
You can buy everything in one set, for example like this: amperka.ru/product/matryoshka-z laying out 4 prices from the components of the kit, or buy everything piece by piece on eBay.
Arduino is good as a start. You can abstract from the Arduino Framework and program MK in C by studying the datasheet. But I would not start with this, because. there is a chance to get bogged down in setting up registers, get disappointed and quit.

D
dsd_corp, 2016-04-28
@dsd_corp

Hello. That's right, the commentators say - it's quite reasonable to start with Arduino. And do not listen to those who say that Arduino is guano because [there are also different vague arguments]. Most of the arduinos grow into shitcoders, not because the arduino is bad, but because they don't even try to develop further. A typical problem of a low entry threshold (like 1C, for example). That is, the problem is in the people themselves, and not in the Arduino.
You, judging by the text of the question, have a motivation to develop)
For Arduino, there really are a bunch of shields and code examples in their simplified language (although it is still C ++), which is very good for a start - if you have a desire, you can figure out how everything is arranged even before you pick up a soldering iron.
And no one bothers you, upon reaching a certain level, to switch to programming controllers using other compilers, excluding the Arduino IDE and lazy coding. At the same time, at first, you can still use the Arduino bootloader and not worry about all the problems at once.
I immediately recommend, in addition to Arduino, to buy something like STM32 Nucleo for the future. This board has compatibility with Arduino shields, an mbed bootloader (uploading the firmware is done by simply copying it to a virtual USB flash drive), as well as a full-fledged STLink programmer with pins for programming external controllers - this means that later you can build your own device on an STM32 microcontroller and program it using the built-in Nucleo SLink programmer by simply connecting a pair of wires (SWD).
And later, if you do not lose the desire to grow, you will be able to create your own electronics and at the same time, for example, if you stop at STM32 controllers, still use Nucleo's STLink to program your devices.
It will look something like this: 5.101.107.156/Habr/IMG_1235.JPG
Here, two Nucleo boards on the left are used as STLink programmers for two boards on the right, respectively)
Well, then it all depends on you.
Good luck )

E
evgeniy_lm, 2016-04-18
@evgeniy_lm

Arduino of course.
For starters, you can buy a larger set to play around with.
I don’t know your level of general development in this regard, so I recommend the books Young radio amateur Borisov V.G. and Young Cyberneticist Yu. M. Otryashenkov. Children's and old books, but the theory is very well described there

V
Vladimir Martyanov, 2016-04-18
@vilgeforce

Arduino and go, master I2C, SPI, 1-Wire and so on.

S
Sergey Leshchev, 2016-04-18
@BMSerg

On shop.easyelectronics.ru you can buy debug boards with strapping, on easyelectronics.ru itself you can find articles of training courses on ARM and AVR and much more useful for a beginner.

J
jakara, 2016-04-21
@jakara

Charles Platt electronics for beginners download

T
Tsiren Naimanov, 2016-04-18
@ImmortalCAT

Choose any set, to your taste and color

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question