Arduino Bootcamp

Tags: Arduino

Build 15+ complete Arduino projects from scratch, a car controlled using an app, cell phone, games, LEDs, sensors, sound

Last updated 2022-01-10 | 4.4

- 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

What you'll 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

* Requirements

* 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 needed
* 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.

Description

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. 

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.

Who this course is for:

  • No previous electronics or programming knowledge required
  • Someone who is interested in learning about the Arduino platform
  • Someone interested in building cool projects
  • Someone interested in learning about electronics
  • Electronics hobbyist
  • Students
  • Makers or Inventors

Course content

8 sections • 70 lectures

Welcome Message and Helpful Tips Preview 01:49

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

Parts List Preview 00:56

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.


Introduction to the Arduino Preview 06:15

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 Preview 02:24

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

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 Preview 03:57

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

Installing Additional Third Party Arduino Libraries Preview 06:04

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 Preview 11:36

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 Preview 08:38

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

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 Preview 08:45

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

Learning Objectives:

  • Functions
  • Arithmetic Operations
  • Structs

Controlling an LED with a Push Button Switch Preview 09:42

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 Preview 08:40

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

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

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 Preview 10:37

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 Preview 11:23

    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 2 Preview 16:28

    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

    Buzzer Sound Recall Game - Part 1 Preview 12:57

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

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

    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 Preview 15:13

    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 Preview 10:41

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

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

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

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

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

    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!

    Stopwatch - Part 1 - Controlling a 4 Digit Segment Display Preview 18:32

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

    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 Preview 10:58

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

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

    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

    Servos

    Pan-Tilt Assembly Control - Part 3 - Frame Assembly Preview 11:17

    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 Preview 12:13

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

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

    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

    Shields

    Online Weather Station - Part 3 - Final Assembly Preview 14:07

    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 Preview 04:39

    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 Preview 17:32

    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 Preview 09:55

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

    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 Preview 10:25

    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 Preview 12:51

    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 Preview 00:38

    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 Preview 11:57

    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 Preview 13:55

    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 Preview 15:07

    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 Preview 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! You should now have a good grasp of the Arduino Platform.

    How to Apply External Power In Arduino Projects Preview 03:10

    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? Preview 03:33

    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 more? Preview 02:38

    Bonus Coupons for other courses