Arduino Bootcamp : Learning Through Projects
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:
- Active and Passive Buzzers
- Ultrasonic Sensors
- Seven Segment LEDs (single and four digit)
- Infrared Receivers
- 8×8 Matrix LEDs
- Shift Registers
- DC Motors
- 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 to the Arduino Bootcamp course. This video gives some helpful tips for being successful in this course.
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.
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.
- 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
I will be demonstrating the process of installing the Arduino IDE for Windows and the MAC.
A description of the Arduino IDE, the various features, how to use them and how to upload your programs to the Arduino micro-controller.
This lecture describes the various functions and pieces that make up an 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.
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.
Our first Arduino project will show how you can control and LED using the Arduino.
- How an LED works
- How to wire an LED in a circuit
- Using the pinMode() function
- Using the digitalWrite() function
- Using the delay() function
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.
- Global variables vs Local variables
- For loop
- If Else loop
- Switch statement
This is part 2 of some helpful programming concepts that will help you better understand Arduino programs.
- Arithmetic Operations
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.
- 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
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.
- 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
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.
- 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
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.
- 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
We will build on our previous lesson and learn how to control the speed of a CPU fan by using a push button switch.
- Will build upon our previous circuit
- Using a button to control our fan
- Understanding the internal pullup resistor via INPUT_PULLUP on the Arduino
In this project, you will learn what interrupts are and how they can be applied to your electronics projects.
- What are interrupts
- How to setup an interrupt in Arduino using the attachInterrupt() function
- Reacting to interrupts
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.
- How to incorporate interrupts as an important process of detecting and reacting to events
- You will be introduced to the random() function
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.
- How to incorporate several components in a circuit
- 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
In Part 2 of this project, we will focus on uploading the code, executing the demo and doing a thorough code walkthrough.
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.
- How an ultrasonic sensor (HC-SR04) works
- The pinouts and how to connect an ultrasonic sensor in a circuit
- How the pulseIn() function works
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.
- 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
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.
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.
- 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
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.
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.
- 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
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.
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!
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.
- How to connect a 4 digit seven segment display in a circuit
- Controlling the 4 digit seven segment display in code
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.
- Understand how a shift register works
- Using a shift register to control the 4 digit seven segment display
- Using the shiftOut() function
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.
- How to use the stopwatch third party library
- Create a functioning stopwatch
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.
- 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
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.
- How servos work
- How to connect and control servos with the Arduino
- How to use the Servo library to control servos
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.
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.
- How all the components can be combined to create a pan-tilt assembly
- Wii nunchuk for control
- Pan-Tilt swivel assembly
- How to control the assembly with positional readings taken from the 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.
- How to connect an LCD with your Arduino
- How to communicate with the display in code to show text
- Using the Liquid Crystal Library
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.
- 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
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.
- 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
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.
- What are DC motors
- How they operate
- How we control the speed and direction of dc motors
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.
- What are motor drivers
- Why they are important
- How they work
- How they can be combined with the Arduino to control our DC motors
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.
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.
- 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
In this lecture, we will assemble the frame of our remote controlled car (chassis, two motors and three wheels).
- How to assemble the frame of our car
- How to connect the Bluetooth Module, Arduino, Motor Driver and Motors
In this lecture, we wire up all the electronic components for our car ( motor driver, bluetooth shield, Arduino and motors).
This lesson will give instructions on how to download the Android App that is necessary to control the 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!
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.
- The components needed to make your open source phone
- How they are connected together
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.
- How to perform phone tests
- How to make calls and send text messages
- Ideas for enhancing the project
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.
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.
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 the Raspberry Pi?