The Arduino Uno Rev3 is the first go to device to start learning about robotics in the widest possible sense. It was designed to teach micro-electronics to students in Italy. It is open source so that means you can build and sell your own version of it. The Uno is robust and very easy to use with an enormous quantity of resources to help you. You will find that the Arduino website has everything you need to upload your code (you have to download their IDE for free). There is now a newer version called Arduino Uno rev4 WiFi and Arduino Uno rev4 Minima most things are exactly the same but there are subtle but important differences. For this course we are using the previous version for which there is a lot of information and support.

Arduino IDE

The IDE (Integrated Development Environment) is the place where you type in your code and upload it to your Arduino. It is a kind of go between your computer and the board which hopefully you have connected to your computer. Without it life would be much harder indeed.

Download it from here Arduino IDE

The Arduino Uno R3

What do you need?

Initially to get started you need an Arduino Uno Rev3 board. You can get them from many places and you can also get compatible boards, these are replicas or clones and they are perfectly adequate for your use. Arduino made their design open source which means that anyone can copy it but they can’t call it an Arduino Uno. However, I strongly recommend getting the genuine Arduino Uno from shops like The Pi Hut or Pimoroni or even on Amazon or eBay.

The only components you need at the very beginning are:

  • LED Traffic Lights module (as shown in the picture below)
  • A half-size breadboard (for electronics not for bread products!)
  • Jumper wires (get the male/male type)

LED Traffic Lights Module

Half size Breadboard

Jumper Wires

Circuit Diagram

A circuit diagram is a representation of how you would connect all the parts together. I have made a simplified diagram omitting the breadboard for clarity.

Circuit Diagram

Arduino & Traffic Lights

Section A (basics)

Starting with the basics and then building in key concepts of coding step by small step.

Section A Introduction to Getting Started

A very brief overview of what you will be doing, looking at the key elements of the Arduino Uno Rev3 and the software needed to code the Arduino.

Section A Unit 1 Blinking Sketch

The Hello World for the Arduino Uno, blinking an LED on and off

Section A Unit 2 Functions

Functions are an integral part of coding with the Arduino Uno

Section A Unit 3 Arrays

Arrays are another core part of any coding language and for the Arduino it is no exception

Section A Unit 4 Boolean

Boolean operations are a simple yet powerful logic

Section A Unit 5 Three LEDs

Using all three LEDs in our traffic light

Section A Unit 6 Serial Communication

Communicating between your computer and the Arduino Uno

Section B (Components)

Adding more components

Section B Unit 1 Potential Divider (Pot)

A potential divider that is a mechanical variable resistor.

Section B Unit 2 Button

Adding a simple button may not seem very challenging but there is more to this than meets the eye (or finger)

Section B Unit 3 Ultrasonic Distance Sensor

Think parking sensors for a car

Section B Unit 4 Servo

This is a 180˚ servo that sweeps backwards and forwards through that angle

Section B Unit 5 Light Dependant Resistor

We can measure the amount of light with an LDR

Section B Unit 6 OLED Display

These tiny but useful displays are a great way to show data

Section B Unit 7 DHT22 

This measures the temperature and humidity

Section C (Processing)

Using the Processing programming language to connect with the Arduino Uno and its components

Section C Unit 1 Introduction to Processing (p5)

Introduction module for processing, very similar to p5.js if familiar

Section C Unit 2 Processing and LED

Controlling an LED from Processing

Section C Unit 3 Processing and a button

Making changes to a processing sketch with the press of a button

Section C Unit 4 Processing and a servo motor

Graphically showing the movement of the servo

Section C Unit 5 Processing and an ultrasonic sensor

Displaying the distance measurements graphically

Section C Unit 6 Processing and an accelerometer

Moving a circle around the canvas with an accelerometer

Section C Unit 7 Processing and multiple inputs (components)

How to import multiple variables/sensors from more than one component