Last Updated 17/06/2026

Arduino Starter Kit Lessons

For this series of lessons I will be working through a basic Arduino R3 starter kit and using it as the basis to learning to program in a way that allows people to build their own projects.

This course starts with the absolute basics and will show how to work with components in a way that enable you to build your own projects.

Working with the Arduino is a mixture of programming and electronics that make it a very interesting hobby, but it can be frustrating at times and things will go wrong, so be aware that patience and perserverance are required.

LESSONS
Arduino IDE download and tour
Arduino C++ Beginners Course
Arduino Uno Starter Kit Course
ESP32 Specific
Serial Communication
PROJECTS
Model Railway
nowRail
interlock++
Other Projects
Robot Car
Cat Washer
 
Project Wiring
Connectors and Plugs
Fail Safe
COMPONENTS
All Components
LCD Touch Screens
3D PRINTING
Servo Kadee Uncoupler
Turnout Servo Mount
Lesson (Click to watch)
Lesson Resources

Arduino Uno Starter Kit - Choosing a kit

Part 1 looks at the basics equipment that you will need to program the Arduino Uno.

A small starter kit is an ideal starting point and this video shows what to look out for in a kit.

You will also require a computer of some sort (Windows, mac or Linux). The computer does not need to the latest version, I still use a 10 year old laptop for some programming and it has no problems.

You will also require the Arduino IDE to be able to write and upload your code to the Arduino.

Finally and most important is due to the combination of programming and electronics almost everyone gets stuck at different stages so be aware that some patience and perserverance is required.

Arduino IDE Version 2 Arduino Integrated Development Environment software. The program used to write code and upload it to the Arduino boards.

CH340 Drivers Many boards use the CH340 communication chip and therefore require CH340 drivers to be installed.

Other information:

Windows 11 and CH340 drivers Under Windows 11 there has been a driver issue with a few boards using a certain type of CH340 chip. This includes the UNO and some ESP8266 boards. If you have issues with your board not being recognised this video explains how to fix the issue.

Arduino Uno Starter Kit - CH340 drivers

Part 2 Looks at some of the settings in the Arduino IDE and then shows how to connect the Arduino Uno and upload the first sketch from the Arduino IDE.

This lesson also looks at the CH340 drivers required by some Uno boards and the solution if this error message is seen:

Error: cannot set com-state for \\.\COM10
Error: unable to open port COM10 for programmer arduino
Failed uploading: uploading error: exit status 1

 

Arduino IDE Version 2 Arduino Integrated Development Environment software. The program used to write code and upload it to the Arduino boards.

CH340 Drivers Many boards use the CH340 communication chip and therefore require CH340 drivers to be installed.

Other information:

Windows 11 and CH340 drivers Under Windows 11 there has been a driver issue with a few boards using a certain type of CH340 chip. This includes the UNO and some ESP8266 boards. If you have issues with your board not being recognised this video explains how to fix the issue.

Arduino Uno Starter Kit - IDE Preferences and Serial monitor

Part 3 Shows how to set your screen preferences within the Arduino IDE to make a more comfortable working environment.

This lesson also looks at sketch basics and examines the difference between the setup() and loop().

It also looks at how to use the Serial monitor to get a screen output from the Arduino UNO.... "Hello World!"

Download Sketches for this lesson

Arduino Uno Starter Kit - BUttons, breadboards and chopping boards

In this lesson we add the first input item, a simple button onto the breadboard to start a new project.

The sketch shows how to set up the button and then find it current state using digitalRead();

One of the biggest problems with building on breadboards is bad connections. This can becomes more difficult when plugging things in as the breadboard and Arduino move around. To fix this problem lesson also shows how to use a cutting board and Blu Tack to hold everything in position and at the same time make the project portable.

Download Sketches for this lesson

Circuit for this lesson (click on image for larger version).

Arduino Uno button circuit

Arduino Uno Starter Kit - Multiple buttons and variables

In this lesson we look at using multiple buttons and discover the issues when using pin numbers in code.

The solution is the use of variables so this lesson also includes the basics of using variables, the different types and their limitations allowing the user to select the best data type for their project.

Download Sketches for this lesson

Circuit for this lesson (click on image for larger version).
WARNING: Circuit diagram updated after video 27/05/26

Arduino Uno button circuit

Arduino Uno Starter Kit - Buttons and Leds

This lesson adds four leds to the multiple button circuit and sketch.

After setting up the leds we see the problems with using delay() to control leds.

Finally a very basic solution is shown on how to use a pair of buttons to turn an led on and off using an if() statement.

Within the lesson a simple explanation of definitions is given.

Download Sketches for this lesson

Circuit for this lesson (click on image for larger version).
WARNING: Circuit diagram updated after video 27/05/26

Arduino UNO buttons and Leds Circuit

Arduino Uno Starter Kit - Timing with Millis() and States, State Machine

This lesson uses the same circuit as lesson 6 but shows how to control the timing of the LED's using millis() and States instead of delay.

This also introduces if(){ }else{ } into the sketch.

This then allows the four leds to be controlled independently with their own flash rates.

Finally a button is used to turn the flashing sequences on or off with the ability to set the led state when the sequence is turned off.

Download Sketches for this lesson

Circuit for this lesson (click on image for larger version).

Arduino UNO buttons and Leds Circuit

Arduino Uno Starter Kit - Button states and debouncing

This lesson looks at how to use a button press to turn an item on and then a second press to turn the item off.

This needs the state of the button to be stored but also shows the need to debounce the button to prevent false readings.

Download Sketches for this lesson

Circuit for this lesson (click on image for larger version).

Arduino UNO buttons and Leds Circuit

Arduino Uno Starter Kit - Creating functions

As code become more complex the loop() can become very congested.

Although the course has looked at using some of the IDE functions such as digitalRead() and digitalWrite()

This lesson covers how to create functions to simplify code but just like built in functions we can also use the function to process multiple items by passing variables to the function.

The final sketch then moves functions into tabs to make the code even easier to follow.

Download Sketches for this lesson

Circuit for this lesson (click on image for larger version).

Arduino UNO buttons and Leds Circuit

Arduino Uno Starter Kit - loops and arrays

This lessons contunes to simplify the code, this time using loops and arrays.

The loop types covered are for(), while() and do while().

The lesson then looks at how to create and use arrays of different types, the advantages of arrays as well as the dangers.

Download Sketches for this lesson

Circuit for this lesson (click on image for larger version).

Arduino UNO buttons and Leds Circuit

An alternate lesson on arrays and the for loop is avilable ni the beginners course.

Lesson 9 - Arrays and for() loop

Arduino Uno Starter Kit - Servos

How to use a servo with the Ardiuino including using the breadboard power supply.
This sketch shows how to include the Servo library and use some of the library functions.

Video looks at button control to trigger servo movement as well as speed control.
The final sketch shows how to set leds to light up when the servo reaches it's destination.

All code is non blocking.

Download Sketches for this lesson

Circuit for this lesson (click on image for larger version).

Arduino UNO Servos

For multiple Servos see:
Lesson 10 - Arduino UNO servos

 

 

Problems and Errors

Windows 11 CVH340 driver issues 10/02/2024

Fixing a Slow IDE 10/02/2024

Arduino IDE Error messages and solutions 30/07/21

Contact

If you have a particular subject you want covered please email the address in this image: and use Arduino Starter Kit Lessons as a reference.
Please be aware that this is a hobby that fits around work so please be patient.