Summary
Overview
This lesson plan will introduce your students to physical computing: the process of building circuits and programming a microcontroller (an Arduino UNO®) to interact with them. The lesson is broken into seven activities that will walk your students through the basics of setting up the Arduino and interacting with circuit parts like LEDs, buttons, and resistors. This introductory material will help prepare your students for more advanced Arduino projects.
Learning Objectives
- Learn how to write and upload code to an Arduino
- Learn how to build a circuit on a breadboard
- Learn how to debug (troubleshoot) a circuit
- Learn to use Arduino functions for digital input and output
- Learn to use Arduino functions for analog input and output
Materials
To complete the activities in this lesson, each group of students will need following materials.
- Electronics Kit for Arduino, available from our partner Home Science Tools®
-
Windows or Mac computer. See this page if you have a Chromebook. Your computer will need:
- Access to the Arduino IDE, either installed local version or web-based editor (note that Chromebooks can only use the web version). Watch this video for a comparison of the two options.
- USB port. The Science Buddies kit comes with a USB-A to B cable. The "B" end plugs into the Arduino and the "A" end plugs into your computer. You will need an adapter or different cable if your computer only has USB-C ports. Watch this video to learn about the different types of cables and adapters.
Background Information for Teachers
This section contains a quick review for teachers of the science and concepts covered in this lesson.The Arduino UNO (Figure 1) is a microcontroller board that is widely used in the hobbyist, maker, and educational communities. It allows people with no formal engineering training to get started with their own electronics and robotics projects. It is designed to make prototyping electronics projects easy. You can quickly take apart your project, build a new circuit, and upload a new program.

Figure 1. An Arduino UNO.
Unlike a computer with an operating system where you can install programs, browse the web, and play games, a microcontroller only runs one program at a time. Microcontrollers are frequently used to interface with hardware like sensors, lights, and motors, and are usually dedicated to a specific task. Microcontrollers are embedded in many of the devices and appliances that we use every day. Because of their physical interaction with hardware and their typically embedded nature, working with microcontrollers is sometimes referred to as physical computing or embedded computing.
This lesson will introduce your students to the basics of working with an Arduino: writing and uploading programs, building simple circuits, and interfacing with inputs and outputs like buttons and LEDs. This sets the stage for more advanced projects like building robots, drones, voice-controlled appliances, and more.
Additional Background Links
- How to Use an Arduino, Science Buddies
- Language Reference, Arduino
Prep Work (time varies)
- Make sure your classroom computers are set up so students can use the Arduino IDE. There are several different options. To install the IDE locally, follow the instructions on the Arduino software page for the correct operating system. Follow these getting started instructions to use the web-based editor (this will require students to create an online account). If your students use Chromebooks, see the Arduino Chrome App page.
- If you are new to working with Arduino, you should go through all seven activities in this lesson yourself before you do the lesson with students.
- You may wish to organize small parts (LEDs, resistors, etc.) so they are easily accessible for students.
- You may wish to print out some of the appendices from the downloadable PDFs for each activity, which include circuit diagrams and example code.
Teacher Tool Box
Engage (15 minutes)
How you introduce this lesson to students will vary depending on where it fits in your curriculum. You may use it as part of a broader computer science or engineering series, or you may wish to introduce it with a specific context or motivation, like drones or autonomous cars. Either way, make sure you get students excited about the cool things they can build once they learn how to use an Arduino.
You might want to give students an open-ended prompt, such as asking about a device or machine they would like to build if they had the knowledge and materials. Then explain that this lesson will help them get started on that path.
Explore (5 hours)
The lesson is broken into seven separate activities for students to complete alone or in small groups:
- Setup: First-time use and setup of the Arduino, running a built-in example program to blink the onboard LED.
- Blinking an LED: Build a circuit on a breadboard and write a program to blink an external LED using a digital output.
- Debugging: Learn how to troubleshoot (systematically identify problems) and fix a circuit when it is not working properly.
- Tinkercad (optional): Use an online circuit simulator that lets you run Arduino code in a web browser. This is especially useful for remote learning, or if you want students to practice without worrying about breaking or losing parts.
- Using a Button: Use a button as a digital input to control an LED.
- LED Fading: Use an analog output to control the brightness of an LED.
- Using a Potentiometer: Use a potentiometer and an analog input to make a dimmer switch for an LED.
Each activity has a step-by-step video in the How to Use an Arduino playlist.
Each video has a corresponding PDF. The PDFs are written for teachers — they contain learning objectives, a step-by-step walkthrough that matches the steps in the video, assessment opportunities, and appendices with circuit diagrams and example code. You can choose whether you want your students to follow along with the videos at their own pace or whether you will guide them through the material.
You may wish to print out some of the appendices as references for the students, but be aware that some appendices provide solutions to challenges presented in the videos — so do not give students the entire PDF.
This is the first activity video in the lesson. The rest of the videos can be assigned to students one by one from our How to Use an Arduino tutorial page.
Reflect (15 minutes)
After completing all of the activities, circle back to how you introduced the lesson. Explain that students have learned the basics of using digital and analog inputs and outputs with the Arduino. Even though they only worked with simple hardware (e.g., buttons and LEDs), the same concepts extend to more advanced hardware, like sensors and motors that are used in robots, drones, autonomous cars, and other devices.
You may wish to ask students what they want to learn next so they can pursue additional explorations with Arduino, especially if they will be tackling their own open-ended projects.
Assess
See the activity PDFs for assessment opportunities for each part of the lesson.
Make Career Connections
Discussing or reading about these careers can help students make important connections between the in-class lesson and STEM job opportunities in the real world.
Lesson Plan Variations
- You can add stretch goals or challenges to some of the activities. Here are a few suggestions:
- For Activity 2, have students add multiple LEDs and program an animation or "LED chase" sequence.
- For Activity 5, have students add two buttons and only turn the LED on when both buttons are held down.
- Add a culminating project that uses multiple LEDs along with buttons and potentiometers to control the timing or type of animation/sequence.
















