How can I become a master?

I would like to learn the details of the Arduino but I’m not sure how to do that, the main website is very confusing compared to other documentation websites that I frequently visit. (Man7, C++ Docs, Java Docs, Python Docs)

I would appreciate if you could guide me on how to learn the Arduino ‘language’ and all it’s features, including the device itself. I don’t have much experience with electronics, I mainly work as a software developer and I guess I won’t understand much by reading the schematics.

A few questions that I have right now:

Where can I find a complete reference guide for the Arduino language? (For core libraries)
Should I read the CPU reference? Will I gain something if I read it?
What books, wikis, forums do you recommend me?

The Arduino system just uses the regular C++ language. There are also many specialist libraries to make it easier to use various pieces of equipment - for example the Servo library.

If you are already familiar with programming you should not find it difficult to adapt to the Arduino. Have a look at the many example programs that come with the Arduino IDE. I guess the most difficult part of adapting to the Arduino system is the fact that it only has 2k of SRAM compared to 2GB (or more) on a PC.

Have a look at the Useful Links page and the Reference page

Studying the Atmel datasheet for the MCU on the Arduino board you are using can be very useful, but it is not essential for simple projects. The Arduino Uno and Nano use the Atmega 328 MCU.

...R

Some things to read:

https://learn.adafruit.com/category/learn-arduino

https://learn.sparkfun.com/tutorials/tags/arduino?page=all

https://learn.sparkfun.com/tutorials/what-is-an-arduino

https://learn.sparkfun.com/tutorials/how-to-read-a-schematic

https://www.arduino.cc/en/Tutorial/Foundations

http://playground.arduino.cc/Code/AvoidDelay

https://forum.arduino.cc/index.php?topic=384198.0

http://www.gammon.com.au/forum/?id=12153

https://m.youtube.com/playlist?list=PLA567CE235D39FA84

https://www.arduino.cc/en/Main/Products

https://learn.sparkfun.com/tutorials/using-the-logic-level-converter

http://arduino-info.wikispaces.com/

http://www.gammon.com.au/motors

http://www.gammon.com.au/forum/?id=11955

.

And help people in the community.

.

Agree with LarryD.

By helping others, you'll learn from their problems. You'll see things you wouldn't encounter yourself, or sooner as you would encounter them. By lending a hand you'll probably also understand where all kinds of problems come from. Problems you will have to deal with yourself sooner or later.

This is valid for the programming (you seem to have all that under control) as well as for hardware.

LarryD: And help people in the community.

Or just start by responding to the comments here so we know we are not just wasting our time.

...R

Thank you guys! I will look at the stuff you posted.

There is a view that mastering a subject takes 10,000 hours.

That will take a few years at one go every 3 days :)

...R

Robin2: There is a view that mastering a subject takes 10,000 hours.

That will take a few years at one go every 3 days :)

...R

Well, I just want to have an overall view of what it can do.

Metonymy: Well, I just want to have an overall view of what it can do.

That is perfectly reasonable.

...R

I got the hang of it by just focusing on getting one peripheral to function, the servo motor. Then it clicked from there.