We may earn an affiliate commission when you visit our partners.
Course image
Shawn Hymel and ~ Hackster.io ~

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.

Read more

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.

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Set up the Arduino software or simulator, copy code from examples, and modify them to control an LED or print a string.
Prologue
The Road Ahead
Read more
What is Arduino?
Using the Simulator (Tinkercad)
Required Parts (for Hands-On)
Installing the Arduino IDE (for Hands-On)
Getting to Blink
Challenge: Change Blink
Solution: Change Blink
Debugging with Serial
Challenge: Say Your Name over Serial
Solution: Say Your Name over Serial
Write Arduino programs from scratch that will perform basic math, execute loops, call functions, and manipulate arrays and Strings.
Introduction: Programming in Arduino
Syntax, Program Flow, and Comments
Literals, Variables, and Data Types
Arithmetic Operators
Challenge: Count with a Variable
Solution: Count with a Variable
Conditional Statements
Challenge: Fizz
Solution: Fizz
Loops
Challenge: Countdown and Wait
Solution: Countdown and Wait
Writing Functions
Challenge: power()
Solution: power()
Scope
Challenge: Sum Digits
Solution: Sum Digits
Arrays and Strings
Challenge: Compute the Average
Solution: Compute the Average
Finding and Fixing Bugs
Challenge: Fix All the Bugs!
Solution: Fix All the Bugs!
Using the String Object
Challenge: L33t Sp34k
Solution: L33t Sp34k
Reading Serial Input
Challenge: Combine First and Last Name
Solution: Combine First and Last Name
Random Numbers
Challenge: Dice Roller
Solution: Dice Roller
Describe what makes up a circuit, read a schematic, build functioning circuits on a breadboard, and use Ohm's Law to calculate the required resistor given a voltage and current
Introduction: What is a Circuit?
Using a Breadboard
Reading a Schematic
Applying Ohm's Law
Challenge: Find the Right Resistor
Series vs. Parallel Resistors
Challenge: Compute Equivalent Resistance
Solution: Compute Equivalent Resistance
How to Read the Resistor Code
Challenge: Translate Some Resistors
Solution: Translate Some Resistors
Voltage Dividers
Challenge: Make 3V from 5V
Solution: Make 3V from 5V
Diodes
Challenge: Reverse Polarity Protection
Solution: Reverse Polarity Protection
LEDs
Challenge: Find the Limiting Resistor
Solution: Find the Limiting Resistor
Debugging Circuits
Turn LEDs on and off through code, adjust the brightness and intensity of LEDs, install and use the NeoPixel library.
Introduction: What is GPIO?
Controlling LEDs
Challenge: FizzBlink
Solution: FizzBlink
Pulse Width Modulation
analogWrite()
Challenge: Color Mixer
Solution: Color Mixer
Using a Shift Register
Challenge: Simple Larson Scanner
Solution: Simple Larson Scanner
Including a Library
Using NeoPixels
Challenge: Fun Patterns
Solution: Fun Patterns
Project: Advanced Larson Scanner
Understand reading digital signals and respond to buttons, switches, and knobs.
Introduction: User Input
Switches
Challenge: LED Selector
Solution: LED Selector
Buttons
Challenge: Manual Blink
Solution: Manual Blink
External Pull-Up Resistor
Challenge: Toggle Button
Solution: Toggle Button
Internal Pull-Up Resistor
Challenge: Push to Count
Solution: Push to Count

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Appropriate for complete beginners
The videos are accompanied by hands-on exercises to help you retain knowledge
Provides a solid foundation in programming fundamentals and electronics
Helps you develop practical skills by building projects
Covers a comprehensive range of topics, from basic programming to IoT
Teaches the fundamentals of C/C++ programming

Save this course

Save Arduino Programming and Hardware Fundamentals with Hackster to your list so you can find it easily later:
Save

Reviews summary

Hackster hardware foundations

According to students, Arduino Programming and Hardware Fundamentals with Hackster is a great foundational course. A notable takeaway is that the instructor is regarded very highly, students say he has an awesome dude-like face.
Students love the instructor.
"I can't quite put my finger on it but there is something about the dude's face that just makes the whole experience awesome."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Arduino Programming and Hardware Fundamentals with Hackster with these activities:
Review basic electronics concepts
Strengthen your foundational understanding of electronics by reviewing basic concepts and terminology.
Browse courses on Electronics
Show steps
  • Gather resources like textbooks, online courses, or articles.
  • Review topics such as Ohm's law, resistors, capacitors, and breadboards.
  • Solve practice problems or build simple circuits to reinforce your understanding.
Read 'Arduino: A Quick-Start Guide'
Expand your understanding of Arduino fundamentals and get a head start on the course material by reading this introductory book.
Show steps
  • Purchase or borrow the book.
  • Read through the chapters covering basic concepts and setup.
  • Take notes and highlight important sections.
Identify potential Arduino mentors in your community
Seek guidance and support from experienced Arduino enthusiasts by identifying potential mentors.
Browse courses on Arduino
Show steps
  • Attend Arduino meetups or workshops to connect with people.
  • Look for online forums or communities dedicated to Arduino.
  • Reach out to individuals whose projects or contributions align with your interests.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Create a simple LED blinking circuit
Get hands-on experience with Arduino hardware and basic electronics by building a simple LED blinking circuit.
Browse courses on LEDs
Show steps
  • Gather necessary components like LED, resistor, and wires.
  • Connect the components to the Arduino board following a circuit diagram.
  • Write an Arduino program to blink the LED.
  • Upload the program to the Arduino board and test the circuit.
Follow Arduino tutorials on Instructables or Hackster.io
Enhance your practical skills by following step-by-step tutorials to build Arduino projects.
Browse courses on Arduino
Show steps
  • Explore websites like Instructables or Hackster.io for Arduino tutorials.
  • Select tutorials that align with your interests and skill level.
  • Follow the instructions and build the projects yourself.
Form a study group with classmates
Enhance your learning experience by collaborating with peers, discussing concepts, and working on projects together.
Browse courses on Arduino
Show steps
  • Reach out to classmates and form a study group.
  • Establish regular meeting times and a communication channel.
  • Discuss course material, share resources, and work on projects collaboratively.
Solve Arduino programming exercises
Solidify your understanding of Arduino programming concepts by solving coding exercises and challenges.
Show steps
  • Find online coding exercises or join coding platforms.
  • Choose exercises aligned with the topics covered in the course.
  • Attempt to solve the exercises on your own.
  • Review solutions and compare your approach.
Attend a local Arduino meetup or workshop
Connect with other Arduino enthusiasts, share knowledge, and learn from their experiences.
Browse courses on Arduino
Show steps
  • Search for Arduino meetups or workshops in your area.
  • Register or RSVP to attend the event.
  • Participate in discussions, ask questions, and share your own projects.
Build an Arduino project and document your process
Deepen your understanding of Arduino by designing and building a project from scratch, and then documenting your process.
Browse courses on Arduino
Show steps
  • Brainstorm project ideas and choose one to work on.
  • Gather necessary components and plan the project.
  • Build the project and test its functionality.
  • Document your process, including code, schematics, and any challenges encountered.

Career center

Learners who complete Arduino Programming and Hardware Fundamentals with Hackster will develop knowledge and skills that may be useful to these careers:
Electronics Engineer
Electronics Engineers design, develop, test, and manufacture electronic devices and systems. They work on a wide range of products, from consumer electronics to medical devices. Electronics Engineers use their knowledge of electronics to ensure that electronic devices and systems operate safely and efficiently. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of electronics and programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Electronics Engineers.
Electrical Engineer
Electrical Engineers design, develop, test, and supervise the installation of electrical systems and equipment. They work on a wide range of projects, from small residential buildings to large industrial facilities. Electrical Engineers use their knowledge of electricity and electronics to ensure that electrical systems operate safely and efficiently. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of electronics and programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Electrical Engineers.
Computer Hardware Engineer
Computer Hardware Engineers design, develop, and test computer hardware. They work on a wide range of products, from personal computers to supercomputers. Computer Hardware Engineers use their knowledge of electronics and computer architecture to ensure that computer hardware operates safely and efficiently. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of electronics and programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Computer Hardware Engineers.
Robotics Engineer
Robotics Engineers design, develop, and test robots. They work on a wide range of robots, from small personal robots to large industrial robots. Robotics Engineers use their knowledge of electronics, computer science, and mechanical engineering to ensure that robots operate safely and efficiently. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of electronics and programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Robotics Engineers.
Software Developer
Software Developers design, develop, and test software applications. They work on a wide range of applications, from mobile apps to enterprise software. Software Developers use their knowledge of computer science and programming to ensure that software applications operate safely and efficiently. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Software Developers who want to work on embedded systems.
Systems Analyst
Systems Analysts design, develop, and implement computer systems. They work with users to understand their needs and then design and develop systems that meet those needs. Systems Analysts use their knowledge of computer science, programming, and business to ensure that computer systems operate safely and efficiently. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Systems Analysts who want to work on embedded systems.
Industrial Designer
Industrial Designers design and develop products that are both functional and aesthetically pleasing. They work on a wide range of products, from furniture to medical devices. Industrial Designers use their knowledge of design, engineering, and ergonomics to ensure that products are safe, efficient, and easy to use. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of electronics and programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Industrial Designers who want to work on products that incorporate electronics.
Product Designer
Product Designers design and develop products that meet the needs of users. They work on a wide range of products, from consumer electronics to medical devices. Product Designers use their knowledge of design, engineering, and marketing to ensure that products are safe, efficient, and easy to use. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of electronics and programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Product Designers who want to work on products that incorporate electronics.
Electrical Technician
Electrical Technicians install, maintain, and repair electrical systems and equipment. They work on a wide range of projects, from small residential buildings to large industrial facilities. Electrical Technicians use their knowledge of electricity and electronics to ensure that electrical systems operate safely and efficiently. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of electronics and programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Electrical Technicians.
Robotics Technician
Robotics Technicians install, maintain, and repair robots. They work on a wide range of robots, from small personal robots to large industrial robots. Robotics Technicians use their knowledge of electronics, computer science, and mechanical engineering to ensure that robots operate safely and efficiently. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of electronics and programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Robotics Technicians.
Electronics Technician
Electronics Technicians install, maintain, and repair electronic devices and systems. They work on a wide range of products, from consumer electronics to medical devices. Electronics Technicians use their knowledge of electronics to ensure that electronic devices and systems operate safely and efficiently. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of electronics and programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Electronics Technicians.
Computer Hardware Technician
Computer Hardware Technicians install, maintain, and repair computer hardware. They work on a wide range of products, from personal computers to supercomputers. Computer Hardware Technicians use their knowledge of electronics and computer architecture to ensure that computer hardware operates safely and efficiently. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of electronics and programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Computer Hardware Technicians.
Mechanical Engineer
Mechanical Engineers design and develop mechanical systems. They work on a wide range of products, from cars to airplanes. Mechanical Engineers use their knowledge of physics, mathematics, and engineering to ensure that mechanical systems operate safely and efficiently. Arduino Programming and Hardware Fundamentals with Hackster can help you build a foundation in these areas by teaching you the basics of electronics and programming. The course will also teach you how to design and build simple circuits, which is a valuable skill for Mechanical Engineers who want to work on products that incorporate electronics.
Engineering Manager
Engineering Managers oversee the work of engineers and other technical staff. They are responsible for planning, organizing, and directing engineering projects. Engineering Managers use their knowledge of engineering and management to ensure that projects are completed on time, within budget, and to the required quality standards. Arduino Programming and Hardware Fundamentals with Hackster may be useful for Engineering Managers who want to learn more about electronics and programming. The course can help Managers understand the technical challenges that their teams face and make better decisions about project planning and execution.
Engineering Educator
Engineering Educators teach engineering courses at colleges and universities. They are responsible for developing and delivering course content, grading student work, and advising students. Engineering Educators use their knowledge of engineering and education to prepare students for careers in engineering. Arduino Programming and Hardware Fundamentals with Hackster may be useful for Engineering Educators who want to learn more about electronics and programming. The course can help Educators develop new course content or update existing content to reflect the latest advances in technology.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Arduino Programming and Hardware Fundamentals with Hackster.
This text focuses on a project-based approach to learning Arduino programming and could be an excellent supplement to the course's project-focused learning style.
With a focus on robotics and gadgets, this book would be a great resource for those in the course who wish to focus on the robotics elements, particularly as described in the course overview.
This cookbook-style reference text offers very practical advice and code solutions, and it could come in handy for reference and as a supplement to the course's hands-on exercises.
Focuses on the fundamental principles and practices of Arduino programming and electronics. It could serve as a useful background or reference text for related topics in this course.
Massimo Banzi, the co-founder of Arduino, himself wrote this introductory book. It could thus come in handy as a supplemental text to help course takers build a foundational understanding of Arduino.
This Arduino-based project book is good for beginners and experienced learners alike, and the projects may be useful learning tools outside of this course.
This beginner-friendly electronics text provides practical advice and knowledge, making it a useful supplemental text to understand the electronics components and principles in this course.
This very detailed reference book would be particularly useful as a reference text for advanced topics covered by this course.
This encyclopedic electronics text would be an excellent reference text for advanced topics covered by this course and could provide broad background and context.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Arduino Programming and Hardware Fundamentals with Hackster.
Building Internet of Things Projects with Arduino IOT...
Most relevant
Introduction to the Internet of Things
Most relevant
Crash Course Arduino and Microcontroller Development
Most relevant
Simulating Power Electronic Circuits using Python
Most relevant
The Complete Basic Electricity & Electronics Course
Most relevant
Circuit Design, Simulation and PCB Fabrication Bundle
Most relevant
Exploring AWS IoT
Most relevant
The Theory Behind Electronics - A Beginners Guide
Most relevant
Arduino : Electronics circuit, PCB Design & IOT...
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser