Maik Schmidt likes the Arduino, but like many of us he realizes the platform’s potential for advanced techniques beyond the IDE. In this article from the Pragmatic Bookshelf, he highlights the steps a beginner can take to learn how to develop software for the Arduino in a deeper way.
Starting with how the IDE turns sketches into executable code, he transitions to managing Arduino projects with a good old Makefile that you can easily integrate into your favorite IDE. In addition, he demonstrates that the Arduino platform supports nearly all features of the current C++ standard and that it’s advantageous to use these features for programming embedded systems. The message to beginners is not to abandon the Arduino as you learn advanced programming techniques, but to use that knowledge to expand Arduino’s capabilities.