Arduino Bootcamp : Learning Through Projects
4.6 (70 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
10,347 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Arduino Bootcamp : Learning Through Projects to your Wishlist.

Add to Wishlist

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!
4.6 (70 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
10,347 students enrolled
Created by Lee Assam
Last updated 7/2017
Curiosity Sale
Current price: $10 Original price: $100 Discount: 90% off
30-Day Money-Back Guarantee
  • 9.5 hours on-demand video
  • 4 Articles
  • 31 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • 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
View Curriculum
  • Be curious about Arduino
  • Have the desire to build fun, cool and exciting projects as a way to learn Arduino
  • Prefer a hands-on approach to learning
  • No previous electronics or programming knowledge required
  • All electronics and programming principles will be taught from scratch
  • Arduino Uno Microcontroller
  • Arduino Start Up Kit will be helpful (connecting wires, breadboard, resistors, push button switches etc.) A kit will get you through at least 80% of the course.

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
  • 8x8 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. 

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.

Who is the target audience?
  • No previous electronics or programming knowledge required
  • Someone who is interested in learning about Arduino.
  • Someone interested in building cool projects
  • Someone interested in learning about electronics
  • Electronics hobbyist
  • Students
  • Makers or Inventors
Students Who Viewed This Course Also Viewed
Curriculum For This Course
51 Lectures
2 Lectures 02:33

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

Preview 01:50

This is a comprehensive parts list for the course. There is a list of parts by project as well as individual listing of parts. Where 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.

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

Parts List
Basic Concepts
9 Lectures 01:08:37

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
Preview 06:18

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

Installing the Arduino IDE

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

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

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

Understanding the Structure of your Arduino Program

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.

Installing Additional Third Party Arduino Libraries

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.

Preview 11:37

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
Let's create our first project

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 1

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

Learning Objectives:

  • Functions
  • Arithmetic Operations
  • Structs
Helpful Programming Concepts - Part 2
Simple Projects
7 Lectures 01:28:37

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 Push Button Switch

Controlling an LED with a switch
1 question

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 with a Push Button Switch

Controlling a Piezo Buzzer
2 questions

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 to Adjust LED Brightness

Using a potentiometer
3 questions

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
Preview 14:16

CPU Fan Control with User Input
3 questions

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

    Controlling a CPU Fan - Part 2 - Button Speed Control

    CPU Fan Control with a Button
    2 questions

    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 - Part 1 - Interrupt Demo

    LED Reaction Game
    3 questions

    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
    LED Reaction Game - Part 2
    Intermediate Projects
    10 Lectures 02:34:35

    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 Game - Part 1

    Buzzer Sound Recall
    1 question

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

    Buzzer Sound Recall Game - Part 2

    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
    Preview 19:50

    Ultrasonic Sensor
    2 questions

    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 - Part 1

    Digital Dice
    2 questions

    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.

    Digital Dice - Part 2

    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 1 - Infrared Record and Playback

    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 Repeater - Part 2 - Controlling your Electronic Devices

    Infrared Concepts
    2 questions

    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 1 - Getting Readings from a Joystick

    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.

    Preview 14:12

    Matrix LED
    2 questions

    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!

    Joystick LED Matrix Game - Part 3 - Putting it all together
    Advanced Projects
    20 Lectures 04:14:04

    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 1 - Controlling a 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
    Stopwatch - Part 2 - Using a Shift Register for the 4 Digit Segment Display

    Shift Registers
    2 questions

    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
    Stopwatch - Part 3 - Completing the Project

    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
    Pan-Tilt Assembly Control - Part 1 - Hacking a Wii Nunchuk

    Interfacing the Wii Nunchuk with Arduino
    2 questions

    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 2 - Servos

    1 question

    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 3 - Frame Assembly

    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
    Pan-Tilt Assembly Control - Part 4 - Controlling with the Wii Nunchuk

    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 1 -Using a 1602 LCD Screen to Display Information

    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 2 - Using a Wifi Shield to Connect to a Network

    2 questions

    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
    Online Weather Station - Part 3 - Final Assembly

    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
    Remote Controlled Car - Part 1- Understanding DC Motors

    DC Motors
    3 questions

    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
    Remote Controlled Car - Part 2-1 - Using a Motor Driver

    Motor Drivers
    2 questions

    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 2-2 - Using a Motor Driver - Demo and Code Review

    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
    Remote Controlled Car - Part 3 - Understanding Bluetooth connectivity

    Bluetooth Technology
    2 questions

    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-1 - Assembling our Car

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

    Remote Controlled Car - Part 4-2 - Assembling our Car

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

    Downloading the Android App for the Remote Controlled Car

    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!

    Preview 11:59

    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 1 - Understanding the Parts and Assembly

    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
    Open Source Phone - Part 2 - Making a Call, Sending SMS, Tune in FM Frequencies
    1 Lecture 00:57

    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!

    Closing Comments
    Bonus Content
    2 Lectures 06:46

    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.

    How to Apply External Power In Arduino Projects

    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

    Many different models exist for Arduino. Which one should you use and why?
    About the Instructor
    Lee Assam
    4.6 Average rating
    81 Reviews
    10,405 Students
    2 Courses
    Maker, Software Developer, University Instructor

    Hi, I am Lee Assam. I bring to the table 18+ years of programming, development and IT experience. I have a Bachelor’s degree in Electrical and Computer Engineering and a Master’s Degree in Computer Science. 

    I teach at Universities on topics ranging from Software Development to Electrical Engineering and prototyping. I like coming up with new ideas and prototyping them using the Arduino and Raspberry Pi platforms.

    My passion and hobby is Arduino and the Internet of Things. I have been playing around with the Arduino and the Raspberry Pi platforms since their inception, and I use my Electrical Engineering background coupled with software development skills to create and develop exciting projects. I prefer a hands-on, project-based learning approach and use my teaching background to make concepts fun and entertaining, while at the same time educational and informative.