Programming advice for an engineer: Get an Arduino

Until the beginning of this year, I’ve only been coding in Matlab, GNU Octave and a few other comparable high-level 4th generation programming languages. I’ve long wanted to learn a more basic programming language which allows smaller and faster programs (more on this in another post). Basically, I wanted an answer to the question:

I’m an engineer and want to learn about programming. What can I do to get started?

It turns out one of the best answers is this: Get an Arduino.

I’ve bought a small Arduino Uno board earlier this year. It’s a small microcontroller board with a small microcontroller and a set of digital and analog input/output ports. Others explain it so much better so I won’t get into much detail here.

You program it with the Arduino IDE. Getting started is extremely simple but my main point is this: You learn programming with C and C++ in a very simple and convenient way.

While Arduino doesn’t use the complete C++ language, it still offers a lot. And there are tons of good documented examples out there plus an amazing reference page on the Arduino homepage. The simple Arduino Starter Kit I bought not only taught me much about microcontrollers and electronics but also offered the simplest, most convenient approach to C programming I could have imagined.

Switching from Arduino development to native C/C++ coding for your computer is also easy and worked quite well for me. For example, I’ve been able to port an ODE solver built for Arduino to native C code in less then one hour. So expect a few posts on multibody dynamics programmed in C++ and for the Arduino sooner or later.