26 lessons · Learn by making
Uno R3 Learning Kit · 26 interactive tutorials
Explore every part of your kit with narrated 3D builds and runnable Arduino programs.
A practical course for the Uno R3 Learning Kit. Each lesson has a narrated, interactive 3D build, exact wiring instructions and an uploadable Arduino sketch. Start with the basics, then explore sensors, motion and displays.
Use the kit contents and a computer. DC motor and stepper lessons require an additional suitable supply. The single unloaded micro servo lesson uses Uno USB power; use a separate 5V supply for loaded servos or if USB power proves insufficient. Some display and transistor pinouts vary: complete each lesson’s identification check before wiring.
-
1
Your first Uno upload
Blink the built-in LED every half second.
Beginner · 25 minutes
-
2
Light and fade five LED colours
Fade red, yellow, green, blue and white LEDs together using PWM on D3, D5, D6, D9 and D10. Each LED has its own 330 ohm resistor.
Beginner · 25 minutes
-
3
Press a button to light an LED
Read the pushbutton on D2 with an internal pull-up. Light the D9 LED while pressed and report pressed as 1 or 0 at 115200 baud.
Beginner · 25 minutes
-
4
Mix colour with the RGB LED
Cycle red, green and blue, then mix all three using PWM on D9, D10 and D11.
Beginner · 25 minutes
-
5
Read a rotary potentiometer
Read analog input A0 and print position from 0 to 1023 at 115200 baud. On this USB-powered Uno, ground is near 0 and the 5V supply is near 1023; a centred linear potentiometer gives roughly 512.
Beginner · 25 minutes
-
6
Measure light with an LDR
Read the sensor voltage divider on A0, average eight samples and print reading at 115200 baud.
Beginner · 25 minutes
-
7
Watch temperature change with a thermistor
Read the sensor voltage divider on A0, average eight samples and print reading at 115200 baud.
Beginner · 25 minutes
-
8
Play a melody on the piezo
Play the notes of a scale on a passive piezo connected through 100 ohms to D8.
Beginner · 25 minutes
-
9
Read the joystick and its button
Read joystick X on A0 and Y on A1. Read its active-low push switch on D2. Print x, y and pressed values.
Beginner · 25 minutes
-
10
Measure distance with ultrasound
Trigger the HC-SR04 on D7 and time ECHO on D6. Convert the round-trip time to centimetres and print cm at 115200 baud.
Beginner · 25 minutes
-
11
Set the SG90 servo angle
Attach a positional servo on D9 and start at 90 degrees. Accept serial commands angle:30 through angle:150 and report the commanded angle every 100 milliseconds.
Beginner · 25 minutes
-
12
Switch LEDs with NPN transistors
Alternate two LEDs using low-side NPN switches. Drive the PN2222 base from D8 and BC547 base from D9 through separate one kilohm resistors.
Intermediate · 25 minutes
-
13
Build a high-side PNP switch
Use D8 to control a BC557 high-side LED switch. LOW turns it on; HIGH turns it off.
Intermediate · 25 minutes
-
14
See how a diode controls current direction
Blink a resistor-limited red LED through a forward-biased 1N4001 diode on D8.
Beginner · 25 minutes
-
15
Watch a capacitor charge and discharge
Switch D8 every five seconds. Charge and discharge 10 microfarads through 100 kilohms and plot its A0 voltage.
Intermediate · 25 minutes
-
16
Explore the resistor assortment
Measure a divider with a fixed 10 kilohm resistor to 5V and a test resistor to ground. Print the ADC count and approximate test resistance.
Beginner · 25 minutes
-
17
Reverse a DC motor with the L293D
Drive one DC motor through the L293D. Enable on D9 controls PWM; D7 and D8 select direction. Stop before changing direction.
Intermediate · 25 minutes
-
18
Turn a stepper with the ULN2003 board
Half-step a 5V 28BYJ-48 through a ULN2003 board. Use D8–D11 for IN1–IN4. Move 512 half-steps each way and release the coils at rest.
Intermediate · 25 minutes
-
19
Switch a low-voltage LED with a relay
Toggle a relay module on D7 every 1.5 seconds. Its normally open contact switches a resistor-limited 5V LED. Set ACTIVE_LOW to match the supplied module.
Intermediate · 25 minutes
-
20
Control eight LEDs with a 74HC595
Shift a walking bit and alternating patterns into a 74HC595 using D11 data, D12 clock and D8 latch.
Intermediate · 25 minutes
-
21
Count on a single seven-segment display
Drive segments A, B, C, D, E, F, G and DP from D2 through D9 using separate one-kilohm resistors. Count from zero to nine on a common-cathode display.
Intermediate · 25 minutes
-
22
Drive a four-digit display with MAX7219
Use a MAX7219 to multiplex a four-digit common-cathode display. Connect DIN to D11, CLK to D13 and LOAD to D10, and count from 0 to 9999.
Advanced · 45 minutes
-
23
Draw patterns on the 8 × 8 matrix
Drive a row-anode, column-cathode 8×8 matrix with a MAX7219 in no-decode mode. Alternate a smile pattern and a diagonal.
Advanced · 45 minutes
-
24
Write to the LCD1602
Use the LiquidCrystal library in 4-bit mode. RS=D12, E=D11 and data D4–D7=D5,D4,D3,D2. Print a greeting and elapsed seconds.
Intermediate · 25 minutes
-
25
Measure motion with the MPU6050
Read the MPU6050 over I2C at address 0x68 using A4 SDA and A5 SCL. Disable the Uno internal pull-ups, wake the chip, choose the ±2g accelerometer range and print ax, ay and az in g.
Intermediate · 25 minutes
-
26
Use the shield, headers and workbench accessories
Blink the Uno built-in LED after inspecting the kit accessories. The battery snap remains disconnected.
Beginner · 25 minutes