Learning to program your own electronics is empowering and rewarding, but it can be difficult to get started without guidance. We've rounded up the best videos, YouTube channels and online courses to get going.

What is Arduino?

Arduino is a popular open-source microcontroller, meaning a small computer with programmable inputs and outputs. There's a lot of great basics that come in a starter kit, and you can also buy sensors that can hook up to Arduino to track temperature, light, proximity, and more. It's great for prototyping new electronic inventions. (Learn more about the possibilities with Arduino.)

Still not sure if you want one? Make sure you understand the differences between Arduino and Raspberry Pi first, if this is your first mini-computer.

I was lucky to have a professor in university teach a course on programming in Arduino. At the end of the course, a small team and I used what we learned to make a digital version of an etch-a-sketch (using potentiometers for twisty-knobs). We also created an on-screen interface for a person to select the line color, and included a slider-sensor to change line thickness.

YouTube Channels about Arduino

Tutorials for Arduino by Jeremy Blum

Typical video length: 15 to 30 minutes.

Jeremy Blum has been educating people on how to use Arduino for years now. His Arduino tutorial series from 2011 starts at the beginning, with what you need and how Arduino works.

The first video is a fantastic introduction to the scope of Arduino, or a refresher if you're coming back to Arduino from some time away. It also introduces you to the programming environment, and how to make an LED on the Arduino blink. Later videos cover topics such as electrical engineering basics, motors and transistors, making a simple security system with RFID tags, making a holiday lights & sounds display, and GPS tracking.

EEAwesome

Typical video length: 10 min or less.

Over at EEAwesome, Professor Rudy Schlaf has a series of videos on basic Arduino concepts. They're broken into smaller pieces, so using a breadboard is separated from blinking an LED with a digital Pin, for example. This is useful because you know ahead of time so you can skip the topics you may know already, for example.

Arduino Video Tutorial by Arduino

Typical video length: 5 to 15 minutes.

The videos in Arduino's own tutorial series are by the creator of the microcontroller itself, Massimo Banzi. They're well-shot (an overhead-camera makes a big difference because fingers don't get in the way of your view of the electronics), thoughtfully-edited, and Mr. Banzi makes an excellent teacher.

Online Courses

Skillshare's Introduction to Arduino: Creating Interactive Projects

skillshare-arduino

Are you a fan of Make Magazine? Mark Frauenfelder, the founding Editor-in-Chief of Make Magazine presents a short 51-minute, five-project course introduction to Arduino.

If you progress through the experiments, you'll participate in experiments including Blink Rates, Knobs and Potentiometers, Servos, and Speaker Tones.

The course is only open to Premium members of Skillshare. If you're new to Skillshare, you can take advantage of their holiday sale and get access Premium membership for $0.99 for 3 months!

Coursera's Interface with Arduino

coursera-arduino

Professor Ian Harris of the The University of California, Irvine, teaches Coursera's four-week course on Arduino. The course is split into four modules, each with their own peer assignment. It's self-paced, and you can take it for free – but you'll to pay a fee if you wish to have your assignments graded, earn a certificate, or pursue the six-course specialization in An Introduction to Programming the Internet of Things (IOT).

Udemy's Arduino Step by Step: Your complete guide

udemy-arduino

Looking for a more advanced online course in Arduino? Peter Dalmaris of Tech Explorations offers over 22 hours of content and 131 lectures at Udemy. You'll learn everything from the basics (making an LED blink, again) to how to work with different types of sensors, interactivity (buttons, potentiometers, etc), displays, motors, Internet and wireless communications, managing your own power, and more.

The course costs $200 (though you can get 75% off using this link), but it is one of relatively few online courses that go into this level of depth.

Other Tools

Programming Languages

If your Arduino projects are intended to connect to a computer (perhaps to use a keyboard or mouse interface, or display output) you'll want to learn programming. Programming in Arduino is similar to programming in Processing.js - in fact, Arduino is based on Wiring, which is itself based on Processing. There are some notable differences from Arduino being based in C/C++, compared to Processing being based in Java.

You can learn all about programming in Processing here at MakeUseOf. There are some other languages you can program in Arduino, too, if you're not keen on learning C.

Books

There's no shortage of great Arduino books out there. The official website Arduino.cc sells several, from a variety of authors.

arduino-books

If you like Jeremy Blum's video teaching-style, you may also appreciate his new book, Exploring Arduino, available on the companion website as well as on Amazon ($27).

Each of the book's projects is accompanied by a video demonstration on Youtube, so you can see quickly what the finished project looks like and how it should work.

Projects to Practice

Having projects you want to accomplish is important in your journey through learning Arduino. If you don't know what you want to make, this collection of ten great Arduino projects will inspire you.

What have you found useful in learning Arduino?

The main things that I found useful in learning Arduino are the same things you'll find useful in learning to cook. Read the entire project thoroughly first, and make sure you understand everything. Have all of your supplies and tools before you start, and set up your working area properly too.

Other than that, it's great if you have a buddy to work with, or communities (even online ones) whom you can reach out to when you run into problems.

Is there anything in Arduino you're finding hard to learn, or that lack good teachers? Do you have a favorite Arduino course you're working through or have worked through? What projects are you pursuing?