4.61 out of 5
4.61
1707 reviews on Udemy

Arduino Programming and Hardware Fundamentals with Hackster

Learn electrical engineering basics to build circuits and program Arduino to make wearables, robots, and IoT devices
Instructor:
Shawn Hymel
6,468 students enrolled
English [Auto-generated] More
Master the fundamentals of Arduino programming with C/C++
Build functioning circuits on a breadboard
Control sensors, robots, and Internet of Things (IoT) devices using Arduino
Write programs that perform basic math, light up LEDs, and control motors
Design circuits and write code for your own project

Learn the Arduino platform and programming language to create robots, interactive art displays, electronic toys, home automation tools, and much more. This course was created in collaboration with Hackster.

Master the skills needed to bring your projects to life through electronics.

  • Learn to program in Arduino (C/C++)
  • Build electronics that sense and react to the environment
  • Remotely log data to an Internet of Things (IoT) platform
  • Use the Internet to control your Arduino from anywhere in the world

A versatile tool for prototyping, playing, and making

Arduino is both a hardware platform and programming language. By learning how to build circuits and code, you can add a new level of interactivity to your projects, prototype potential products, and gain new skills (while hopefully having fun).

The Arduino programming language is based on a combination of C and C++. With an understanding of these coding fundamentals, you will be able to more easily learn new languages, such as Java, Python, JavaScript, C#, and Swift, which are in high demand in the job market.

Course Overview

The first version of Arduino was released in 2003 and has exploded in popularity among makers, hobbyists, and tinkerers, who build everything from animatronic sculptures to interactive wearables. Professional engineers and entrepreneurs sometimes start with an Arduino to create a prototype before developing a finished product. The iconic blue board has even found its way into classrooms, where educators use it to teach programming, electronics, critical thinking, and problem solving skills.

I designed this course with the absolute beginner in mind: if you do not have any experience with programming or electronics, that’s OK! The first few sections walk you through the basics behind programming in C/C++ as part of the Arduino framework as well as how to build simple circuits that flash lights and spin motors. Following that, we continue our adventure into making noise, sensing the environment, and building a robot. Finally, we dive into the world of IoT, where we learn how to pass messages over the Internet, which allows us to do things like turn on a light with our smartphone!

Each video lecture is designed to give you one building block of knowledge. Almost every lecture is followed by a hands-on exercise where I ask you to expand on that building block or combine several previous blocks. I provide solutions to each exercise to help you learn. Additionally, most of the sections contain a project that challenges you to synthesize many of the concepts found in that section and from previous sections.

Upon completing this course, you will have the skills and knowledge needed to create fun and useful Arduino projects.

Introduction

1
Prologue
2
The Road Ahead
3
What is Arduino?
4
Using the Simulator (Tinkercad)
5
Required Parts (for Hands-On)
6
Installing the Arduino IDE (for Hands-On)
7
Getting to Blink
8
Challenge: Change Blink
9
Solution: Change Blink
10
Debugging with Serial
11
Challenge: Say Your Name over Serial
12
Solution: Say Your Name over Serial

Programming Basics

1
Introduction: Programming in Arduino
2
Syntax, Program Flow, and Comments
3
Literals, Variables, and Data Types
4
Arithmetic Operators
5
Challenge: Count with a Variable
6
Solution: Count with a Variable
7
Conditional Statements
8
Challenge: Fizz
9
Solution: Fizz
10
Loops
11
Challenge: Countdown and Wait
12
Solution: Countdown and Wait
13
Writing Functions
14
Challenge: power()
15
Solution: power()
16
Scope
17
Challenge: Sum Digits
18
Solution: Sum Digits
19
Arrays and Strings
20
Challenge: Compute the Average
21
Solution: Compute the Average
22
Finding and Fixing Bugs
23
Challenge: Fix All the Bugs!
24
Solution: Fix All the Bugs!
25
Using the String Object
26
Challenge: L33t Sp34k
27
Solution: L33t Sp34k
28
Reading Serial Input
29
Challenge: Combine First and Last Name
30
Solution: Combine First and Last Name
31
Random Numbers
32
Challenge: Dice Roller
33
Solution: Dice Roller

Electrical Engineering Basics

1
Introduction: What is a Circuit?
2
Using a Breadboard
3
Reading a Schematic
4
Applying Ohm's Law
5
Challenge: Find the Right Resistor
6
Series vs. Parallel Resistors
7
Challenge: Compute Equivalent Resistance
8
Solution: Compute Equivalent Resistance
9
How to Read the Resistor Code
10
Challenge: Translate Some Resistors
11
Solution: Translate Some Resistors
12
Voltage Dividers
13
Challenge: Make 3V from 5V
14
Solution: Make 3V from 5V
15
Diodes
16
Challenge: Reverse Polarity Protection
17
Solution: Reverse Polarity Protection
18
LEDs
19
Challenge: Find the Limiting Resistor
20
Solution: Find the Limiting Resistor
21
Debugging Circuits

Fun with LEDs

1
Introduction: What is GPIO?
2
Controlling LEDs
3
Challenge: FizzBlink
4
Solution: FizzBlink
5
Pulse Width Modulation
6
analogWrite()
7
Challenge: Color Mixer
8
Solution: Color Mixer
9
Using a Shift Register
10
Challenge: Simple Larson Scanner
11
Solution: Simple Larson Scanner
12
Including a Library
13
Using NeoPixels
14
Challenge: Fun Patterns
15
Solution: Fun Patterns
16
Project: Advanced Larson Scanner

User Input

1
Introduction: User Input
2
Switches
3
Challenge: LED Selector
4
Solution: LED Selector
5
Buttons
6
Challenge: Manual Blink
7
Solution: Manual Blink
8
External Pull-Up Resistor
9
Challenge: Toggle Button
10
Solution: Toggle Button
11
Internal Pull-Up Resistor
12
Challenge: Push to Count
13
Solution: Push to Count
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.6
4.6 out of 5
1707 Ratings

Detailed Rating

Stars 5
1026
Stars 4
516
Stars 3
138
Stars 2
18
Stars 1
10
8a8bae4d65839ca703a34620f2312155
30-Day Money-Back Guarantee

Includes

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