4.47 out of 5
411 reviews on Udemy

Arduino Bootcamp : Learning Through Projects

Build 15+ complete Arduino projects from scratch! A car controlled using an app, a cell phone, games and much much more!
Lee Assam
13,442 students enrolled
English [Auto-generated]
Build a remote-controlled car you can drive with a smart phone app
Build your own cell phone that you can make/receive calls and send/receive text messages with
Build games using the Arduino incorporating light, sound and joystick controllers
Understand components like ultrasonic sensors, motor drivers, servos, transistors, bluetooth/wifi/gsm modules
Understand many common electronic components and how they work
Have the confidence to build complex electronics projects
Learn how to prototype electronics projects
Be a confident maker and prototyper

This is a hands-on, projects-based approach to learning the Arduino platform catered to all levels of experience. In this course, you will build projects such as:

  • An Arduino car that can be remotely driven using a smart phone app
  • Your very own Arduino phone that you can make/receive phone calls with and send/receive text messages
  • Your own Universal Arduino Remote that can copy and playback IR signals from any electronic device
  • An Arduino Online Weather Station that connects to the internet to retrieve and display weather information based on your location
  • Arduino game projects using light, sound and joysticks 
  • Much much more…

No previous programming or electronics knowledge is required for this course! All electronics concepts and programming for each project will be explained step-by-step in detail.

You will quickly learn and become proficient with Arduino in this bootcamp by building complete projects from scratch. Here is the approach that is taken for each project:

  • A detailed background of all the electronics principles and operation of the electrical components for each project will first be discussed
  • The wiring of components and layout of the project will then be covered in the circuit diagram
  • Detailed step-by-step videos will then show how you how to wire up and assemble the components for the project
  • The code will be uploaded to demo the project and how it works
  • A detailed line-by-line code review will then describe how the software and hardware components play together
  • You will get the complete picture and it is a much better way to learn Arduino by creating full working projects from scratch!

Along the way, you will learn about and become extremely proficient with the following components and understand exactly how they work as they will be incorporated in projects:

  • Breadboards
  • LEDs
  • Active and Passive Buzzers
  • Switches
  • Potentiometers
  • Transistors
  • Ultrasonic Sensors
  • Seven Segment LEDs (single and four digit)
  • Infrared Receivers
  • Joysticks
  • 8×8 Matrix LEDs
  • Shift Registers
  • DC Motors
  • Servos
  • LCD Screens
  • Bluetooth Modules
  • Wifi and GSM Shields
  • And much much more…

The course is broken up into a Simple Projects section, an Intermediate Projects section and an Advanced Projects section allowing you to progress to or start from any level based on how comfortable you are with Arduino.

If you are new to Arduino, the first lessons will get you quickly up to speed on what the platform is and how to use it. You can then progress to simple projects which get you comfortable with basic electrical components.

For those already familiar with Arduino who want to take their skills to the next level, you can jump straight to the intermediate projects section. There, we will focus on making game-type projects using the Arduino and even an infrared repeater that can allow you to copy, store, and playback any IR signal, just like your own universal remote.

Next, for those that might be already comfortable with Arduino, there is an advanced projects section where we tackle projects like an online weather station, remote-controlled car that you can drive with a smart phone app, and a working phone that can make actual calls and send text messages and many more.

I have always believed that project-based learning is the best approach where you actually learn by doing and building something that actually works. This is the approach I am taking in this course. I will explain all the electronics principles involved with each project, show you how to wire up the circuits and give detailed line-by-line code reviews on how it all works. 

Don’t just take my word for it, here are what past students are saying about this course!

This is really a nice course with some great projects and use of add- on devices beyond most simple Arduino courses. The instructor is very easy to understand and does a great job. The only thing I would prefer is more projects and less watching jumpers getting plugged. 🙂 Don’t hesitate on this purchase if buying on special. I hope he updates the content so I get more stuff to watch! ~ Johnnie Norsworthy

Top notch Arduino course! Way better than a few of the other highly rated Arduino courses I have taken on Udemy. The projects range from easy to challenging and the instructor explains everything involved in great detail. Don’t think twice about joining this course. I have not seen better projects in any other Arduino course! Cheers! ~ Cody Willis

Lee is doing a great job of an instructor. I have no electrical background at all and can follow the course pretty easy. Lee is also super fast on answer your questions ~ Dat Ngyen

Loved this course! Instructor is clear and to the point! Can’t wait to see if he adds more projects to the course. ~ Joan Brixby

Learned so much! Excellent course! The projects I did were really fun. I think i am going to get the instructor’s Raspberry Pi Bootcamp course too! ~ Renny Becher

If you already have an Arduino or by purchasing an Arduino Kit (about $35 US), you will get most of the components needed to complete at least 80% of the course. The more advanced projects will require some additional parts but they are all really affordable. A detailed parts list by project and for the course is provided once you join the course, with links to online suppliers that are kept up to date. You can buy all the parts at once or select which advanced projects you want to work on and obtain only the specific additional components you need based on your electronics collection.


Welcome Message and Helpful Tips

Welcome to the Arduino Bootcamp course. This video gives some helpful tips for being successful in this course.

Parts List

This is a comprehensive parts list for the course. There is a list of parts by project as well as individual listing of parts. Whenever possible, I try to provide a few purchase options for a part from different online retailers.

Buying an Arduino kit is a great idea since a lot of the parts we are using come bundled in a kit. A kit can possibly help you to complete 80 - 85% of this course. I have placed links to a few kits in the parts list.

A kit is also a good investment if you are serious about learning electronics as it comes with a good base of electrical components to start with.

If you have an online electronics retailer that you prefer especially based on your location, please feel free to use them as well.

If any of the links are broken, please let me know and I will get them corrected. I try to keep this list as up to date as possible.

Basic Concepts

Introduction to the Arduino

Before we begin our journey into the world of Arduino, let us talk a bit about the Arduino platform so you can have a better understanding of what it is, and how it works.

Learning Objectives:

  • What is Arduino
  • Some characteristics of the Arduino Uno
  • Some other flavors of Arduino
  • Become familiar with the Arduino website
  • How programs get loaded onto Arduino
Installing the Arduino IDE

I will be demonstrating the process of installing the Arduino IDE for Windows and the MAC.

An overview of the Arduino IDE and how to upload code to your Arduino

A description of the Arduino IDE, the various features, how to use them and how to upload your programs to the Arduino micro-controller.

Understanding the Structure of your Arduino Program

This lecture describes the various functions and pieces that make up an Arduino program.

Installing Additional Third Party Arduino Libraries

This lecture explains what third party libraries are in Arduino and how you go about obtaining them, installing them in the Arduino IDE and incorporating them into your projects.

How to Use a Breadboard and Basic Wiring Concepts

This lecture will introduce you to a breadboard which is an important tool that is used in prototyping and working with your Arduino. You will also be shown the difference between series and parallel circuits.

Let's create our first project

Our first Arduino project will show how you can control and LED using the Arduino.

Learning Objectives:

  • How an LED works
  • How to wire an LED in a circuit
  • Using the pinMode() function
  • Using the digitalWrite() function
  • Using the delay() function
Helpful Programming Concepts - Part 1

For those new to programming, this lecture will dive into some helpful programming concepts that you need to know in order to understand Arduino programs.

Learning Objectives:

  • Variables
  • Constants
  • Global variables vs Local variables
  • Arrays
  • Looping
    • For loop
    • If Else loop
    • Switch statement
Helpful Programming Concepts - Part 2

This is part 2 of some helpful programming concepts that will help you better understand Arduino programs.

Learning Objectives:

  • Functions
  • Arithmetic Operations
  • Structs

Simple Projects

Controlling an LED with a Push Button Switch

In this project, we will use a push button switch to control an LED. When the push button switch is pressed, the LED will light. It will continue to stay lit when the switch is engaged and once it is released, the LED will then go out and stop being lit.

Learning Objectives:

  • How an LED works
  • How to wire an LED in a circuit
  • How a push button switch works
  • How to connect a push button switch in a circuit
  • Using the digitalRead() function
Controlling an LED with a switch
Controlling a Piezo Buzzer with a Push Button Switch

In this lecture, we will show how a push button switch can be used to control a piezo buzzer. When the push button switch is pressed, the buzzer will sound. It will continue to sound once the switch is engaged and when it is released, the buzzer will stop.

Learning Objectives:

  • How a Piezo Buzzer works
  • How to wire a Piezo Buzzer in a circuit
  • The difference between an active buzzer and a passive buzzer
  • Using the tone() function
  • Using the noTone() function
Controlling a Piezo Buzzer
Using a Potentiometer to Adjust LED Brightness

In this project, by adjusting the value of the resistance of a potentiometer, we will make an LED brighter and dimmer. We will be using a process known as pulse width modulation (pwm) to accomplish this.

Learning Objectives:

  • What is a potentiometer?
  • How to connect a potentiometer in a circuit
  • How to take an analog reading using the Arduino
  • Understanding pulse width modulation (PWM) and how it works
  • Using the analogRead() function
  • Using the analogWrite() function
  • Using the map() function
Using a potentiometer
Controlling a CPU Fan - Part 1 - User Input Control

In this project you will be learn how to control the speed of a CPU fan by getting input from the user. You will also learn about transistors and how to incorporate an npn transistor in our project. You will also be introduced to the Serial Monitor in Arduino for debugging and accepting user input.

Learning Objectives:

  • What is a transistor
  • The different ways a transistor can be used
  • How an NPN transistor works
  • Using the Serial Monitor on the Arduino IDE
  • How to accept and process keyboard input in your Arduino Programs
CPU Fan Control with User Input
Controlling a CPU Fan - Part 2 - Button Speed Control

We will build on our previous lesson and learn how to control the speed of a CPU fan by using a push button switch.

Learning Objectives:

  • Will build upon our previous circuit
  • Using a button to control our fan
  • Understanding the internal pullup resistor via INPUT_PULLUP on the Arduino

    CPU Fan Control with a Button
    LED Reaction Game - Part 1 - Interrupt Demo

    In this project, you will learn what interrupts are and how they can be applied to your electronics projects.

    Learning Objectives:

    • What are interrupts
    • How to setup an interrupt in Arduino using the attachInterrupt() function
    • Reacting to interrupts
    LED Reaction Game
    LED Reaction Game - Part 2

    In this project, you will learn how to incorporate interrupts to create an LED reaction game. The objective is to push the button at the precise time that a red LED flashes. It is a tricky game as other LEDs are also flashing and the times the LEDs are lit as well as off is all random. The game is highly addictive.

    Learning Objectives:

    • How to incorporate interrupts as an important process of detecting and reacting to events
    • You will be introduced to the random() function

    Intermediate Projects

    Buzzer Sound Recall Game - Part 1

    In Part 1 of this project we will focus on wiring up the components for our game and clarify how debouncing on the switches will be handled.

    Learning Objectives:

    • How to incorporate several components in a circuit
      • LEDs
      • Push Button Switches
      • Piezo Buzzers
    • What is debouncing and how it can be handled in your electronics projects
    • How to install and use a third party library which handles debouncing for switches
    Buzzer Sound Recall
    Buzzer Sound Recall Game - Part 2

    In Part 2 of this project, we will focus on uploading the code, executing the demo and doing a thorough code walkthrough.

    Ultrasonic Sensor Alarm

    This project introduces us to the HC-SR04 Ultrasonic Sensor. We will be creating an alarm circuit with a buzzer and warning LEDs. You will understand how an ultrasonic sensor works and how to interact with it in code. This is a very handy addition to your electronics projects for obstacle avoidance.

    Learning Objectives:

    • How an ultrasonic sensor (HC-SR04) works
    • The pinouts and how to connect an ultrasonic sensor in a circuit
    • How the pulseIn() function works
    Ultrasonic Sensor
    Digital Dice - Part 1

    In this project we will be building a digital version of a dice. In part 1, we will learn in detail how a seven segment display works and how to connect it in a circuit. We will also learn the difference between common anode and common cathode seven segment displays.

    Learning Objectives:

    • How a seven segment display works
    • How to connect a seven segment display in a circuit
    • The difference between a common anode and a common cathode seven segment display
    Digital Dice
    Digital Dice - Part 2

    We will complete our digital dice project by connecting a push button switch to perform the roll. We will also step through the code in detail so you will understand how the software interacts with the hardware.

    Infrared Repeater - Part 1 - Infrared Record and Playback

    In this project, we will discuss how infrared technology works and how you can incorporate it into your projects to inexpensively take your project into wireless mode. We will show how you can receive and playback IR signals using an IR Receiver and IR LED.

    Learning Objectives:

    • How infrared receivers and LEDs work
    • How to connect them in a circuit
    • Introduction to the popular IRremote library
    • How to record and playback signals
    • EEPROM for storing data even when the Arduino is turned off
      • get() and put() methods
    Infrared Repeater - Part 2 - Controlling your Electronic Devices

    In this project, we will be creating an IR Repeater. You can store up to three IR signals from any remote and have them persisted even when power is removed from the circuit. You can then playback these IR signals at any time. You have your own Universal remote that can record anything! You will also be introduced to EEPROM on Arduino to see how this handy memory feature can be used.

    Infrared Concepts
    Joystick LED Matrix Game - Part 1 - Getting Readings from a Joystick

    In this project, we will learn how to connect a thumb joystick in your electronic circuits and take readings to determine the position of the joystick and if the joystick button(s) were pressed.

    Learning Objectives:

    • How to connect a thumb joystick in a circuit
    • How to take readings from a thumb joystick in code
    • How an 8x8 LED Matrix display works
    • Using a Max7219 Dot Matrix Module to control the 8 x8 LED Matrix display
    Joystick LED Matrix Game - Part 2 - Using an LED Matrix

    In this project, we will introduce an 8 x 8 LED Matrix which is connected to a Max7219 Dot Matrix module. We will see how to use third party libraries to control the LED matrix and will use the joystick to move a dot around on the matrix.

    Matrix LED
    Joystick LED Matrix Game - Part 3 - Putting it all together

    In this project, we will complete our Joystick LED Matrix Game. The object of the game is to catch all the falling balls with your platform before they reach the bottom of the display. You control your platform by using the joystick. If you can catch all the falling balls within the specified time window, you win the game!

    Advanced Projects

    Stopwatch - Part 1 - Controlling a 4 Digit Segment Display

    In the first part of this project, we will be learning how to connect a 4 digit seven segment display in a circuit. You will also learn how to send digits to be shown on the display in code using the Arduino.

    Learning Objectives:

    • How to connect a 4 digit seven segment display in a circuit
    • Controlling the 4 digit seven segment display in code
    Stopwatch - Part 2 - Using a Shift Register for the 4 Digit Segment Display

    This project introduces the concept of shift registers and how they can be used to reduce the number of pins that a micro-controller ultimately needs to send data to circuit components. We will be including a shift register to control our four digit seven segment display.

    Learning Objectives:

    • Understand how a shift register works
    • Using a shift register to control the 4 digit seven segment display
    • Using the shiftOut() function
    Shift Registers
    Stopwatch - Part 3 - Completing the Project

    In this project, we will complete our stopwatch. We will use the 4 digit seven segment display, a shift register and a push button switch together in one circuit. The switch will control our stopwatch by enabling us to start, stop and reset the stopwatch at any time.

    Learning Objectives:

    • How to use the stopwatch third party library
    • Create a functioning stopwatch
    Pan-Tilt Assembly Control - Part 1 - Hacking a Wii Nunchuk

    In this project, we will learn how to interface with a Wii Nunchuk using the Arduino. We will be incorporating the Nunchuk adapter and the ArduinoNunchuk library to take readings from the Nunchuk.

    Learning Objectives:

    • How to interface a Wii nunchuk and the Arduino using a nunchuk adapter
    • How to take measurements from the nunchuk
    • Using the Arduino Nunchuk library
    Interfacing the Wii Nunchuk with Arduino
    Pan-Tilt Assembly Control - Part 2 - Servos

    In this project, we will learn how to control servos using the Arduino. You will also get an understanding of how servos work and how two servos can be controlled at the same time in a circuit.

    Learning Objectives:

    • How servos work
    • How to connect and control servos with the Arduino
    • How to use the Servo library to control servos
    Pan-Tilt Assembly Control - Part 3 - Frame Assembly

    In this lecture, we will learn how to assemble the frame for our pan-tilt assembly. The completed assembly will use two servos, one for the panning motion and the other for the tilting motion. The frame can ultimately be used to house a camera for your car or robot electronics projects so that you can control the direction that the camera is pointing.

    Pan-Tilt Assembly Control - Part 4 - Controlling with the Wii Nunchuk

    In this project, we will control our pan-tilt assembly with our Wii Nunchuk. This brings together all the concepts that we have learned so far. Positional readings are taken from the Nunchuk and are used to control the direction of rotation of the pan and tilt servos on the frame assembly.

    Learning Objectives:

    • How all the components can be combined to create a pan-tilt assembly
      • Servos
      • Wii nunchuk for control
      • Pan-Tilt swivel assembly
    • How to control the assembly with positional readings taken from the nunchuk
    Online Weather Station - Part 1 -Using a 1602 LCD Screen to Display Information

    In this project, we will learn how to connect a 1602 LCD screen to the Arduino to display information. The LCD is a great addition to your projects allowing you to display information and even create a menu driven interface that can help drive user interactivity with your circuit.

    Learning Objectives:

    • How to connect an LCD with your Arduino
    • How to communicate with the display in code to show text
    • Using the Liquid Crystal Library
    Online Weather Station - Part 2 - Using a Wifi Shield to Connect to a Network

    Shields form an important part of the Arduino Ecosystem. In this project, you will learn about shields in general and specifically about the Wifi shield that allows you to take your project into wireless mode. You will learn how to connect to a Wifi network using WPA network security and also we will be connecting to the Weather Underground API to retrieve weather information.

    Learning Objectives:

    • About the Arduino Wifi shield
    • How to use the shield to connect to a network
    • About the shield ecosystem in Arduino
    • Connecting to the Weather Underground API to retrieve weather information
    Online Weather Station - Part 3 - Final Assembly

    In this project, we will complete our online weather station project. We will be incorporating an Arduino Wifi shield and an LCD to retrieve weather information from the Weather Underground API and will then display this information on the LCD. You can customize weather information for your city/state or even your country/city if you are outside of the US.

    Learning Objectives:

    • How to integrate the Wifi shield and an LCD to create an online weather station
    • Extracting and displaying weather information on the LCD from the Weather Underground API
    Remote Controlled Car - Part 1- Understanding DC Motors

    Before we begin to dive into our car project, it helps to understand an important component which allows our car to move, the dc motor.

    In this lecture we will be discussing dc motors so you will have a better understanding of  the underlying electronics principles of how they work and how they can be controlled.

    Lecture Objectives:

    • What are DC motors
    • How they operate
    • How we control the speed and direction of dc motors
    DC Motors
    Remote Controlled Car - Part 2-1 - Using a Motor Driver

    In this lecture, we will discuss motor drivers, what they are and why they are important for the successful operation of our car project. We will also learn how to connect a motor driver to the Arduino and we will be controlling two dc motors using an Arduino.

    Learning Objectives:

    • What are motor drivers
    • Why they are important
    • How they work
    • How they can be combined with the Arduino to control our DC motors
    Motor Drivers
    Remote Controlled Car - Part 2-2 - Using a Motor Driver - Demo and Code Review

    In this lecture, we will upload the code to test out our motor driver circuit. A code review will then be performed so you will understand how the driver is used to control the motors.

    Remote Controlled Car - Part 3 - Understanding Bluetooth connectivity

    In this lecture we dive into Bluetooth technology and how we apply it to our car project. You will also be introduced to the HC-05 suite of Bluetooth modules for Arduino and we will see how we interface it to our circuit.

    Learning Objectives:

    • What is Bluetooth
    • How this technology will be used in our project
    • Understanding the Bluetooth Module HC-05
    • How to connect the Bluetooth Module to our Arduino
    Bluetooth Technology
    Remote Controlled Car - Part 4-1 - Assembling our Car

    In this lecture, we will assemble the frame of our remote controlled car (chassis, two motors and three wheels).

    Learning Objectives:

    • How to assemble the frame of our car
    • How to connect the Bluetooth Module, Arduino, Motor Driver and Motors
    Remote Controlled Car - Part 4-2 - Assembling our Car

    In this lecture, we wire up all the electronic components for our car ( motor driver, bluetooth shield, Arduino and motors).

    Downloading the Android App for the Remote Controlled Car

    This lesson will give instructions on how to download the Android App that is necessary to control the car.

    Remote Controlled Car - Part 5 - Controlling via an Android App

    In this lecture, we will be testing out our Car by uploading the necessary code to our Arduino and using an Android app to control the car!

    Open Source Phone - Part 1 - Understanding the Parts and Assembly

    In this lecture, we will describe the parts that we need to construct our phone. We will will also work on assembling the components and connecting our circuit to the Arduino.

    Learning Objectives:

    • The components needed to make your open source phone
    • How they are connected together
    Open Source Phone - Part 2 - Making a Call, Sending SMS, Tune in FM Frequencies

    Now that we have we have assembled our phone, this lecture will will focus on testing it out. We will validate that our SIM is inserted correctly and that we are connected to a cell tower from our Arduino test program, and then we will make and receive a call and send and retrieve text messages! We will also demonstrate how to tune into an FM frequency so we can listen to the radio.

    Learning Objectives:

    • How to perform phone tests
    • How to make calls and send text messages
    • Ideas for enhancing the project


    Closing Comments

    Thank you for allowing me to be part of your journey through the Arduino Bootcamp. I hope you enjoyed the course and best wishes in your future projects! You should now have a good grasp of the Arduino Platform.

    Bonus Content

    How to Apply External Power In Arduino Projects

    In this lecture, we will understand the various ways that external power can be applied to the Arduino especially for projects that have more robust power requirements.

    Many different models exist for Arduino. Which one should you use and why?

    In this lecture, we will describe the difference between a few of the most popular Arduino models so you will understand what the technical spec differences are.

    We will also discuss scenarios for why you may want to use one board over another.

    Want to learn about Raspberry Pi?

    Want to learn about the Raspberry Pi?

    You can view and review the lecture materials indefinitely, like an on-demand channel.
    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
    4.5 out of 5
    411 Ratings

    Detailed Rating

    Stars 5
    Stars 4
    Stars 3
    Stars 2
    Stars 1
    30-Day Money-Back Guarantee


    9 hours on-demand video
    5 articles
    Full lifetime access
    Access on mobile and TV
    Certificate of Completion