We may earn an affiliate commission when you visit our partners.
Course image
Dr. Peter Dalmaris

Course last updated on December 2024

This update introduces advanced lectures on using the Wokwi simulator, a powerful tool that enhances your ability to design, debug, and analyze Arduino projects in a virtual environment. With these new lessons, you’ll explore professional-grade features that make learning and prototyping more efficient.

The new Section 49: Wokwi Simulator takes your simulation skills to the next level, focusing on advanced applications and tools. Here’s a breakdown of the new lectures:

Read more

Course last updated on December 2024

This update introduces advanced lectures on using the Wokwi simulator, a powerful tool that enhances your ability to design, debug, and analyze Arduino projects in a virtual environment. With these new lessons, you’ll explore professional-grade features that make learning and prototyping more efficient.

The new Section 49: Wokwi Simulator takes your simulation skills to the next level, focusing on advanced applications and tools. Here’s a breakdown of the new lectures:

• Wi-Fi with ESP32: Learn how to simulate and experiment with Wi-Fi functionality using the ESP32 microcontroller in Wokwi.

• What Is This Section About?: A brief overview of how this section expands on simulator concepts.

• Wokwi Refresher: A recap of foundational Wokwi concepts, building on knowledge from Arduino Step by Step Getting Started.

• Shift Register with 8 LEDs: An example project demonstrating how to simulate a shift register to control multiple LEDs efficiently.

• SD Card Datalogger: Learn to simulate data storage projects, including writing to and reading from an SD card.

• Interactive Debugger: Explore Wokwi’s built-in debugging tools to pinpoint and resolve issues in your code.

• Logic Analyzer: A two-part deep dive into using the logic analyzer for signal analysis and SPI protocol decoding.

About this course

Welcome to Tech Explorations Arduino Step by Step Getting Serious, where you will extend your knowledge of Arduino components and techniques and build up new skills in the largest, and the most comprehensive course on the Web.

Arduino is the world's favorite electronics learning and prototyping platform. Millions of people from around the world use it to learn electronics, engineering, programming, and create amazing things, from greenhouse controllers to tree climbing robots remotely controlled lawnmowers. 

It is a gateway to a career in engineering, a tool for Science, Technology, Engineering, and Mathematics education, a vehicle for artistic and creative expression.

The course is split into 40 sections and over 250 lectures spanning more than 30 hours of video content. 

In each section, you will learn a specific topic. 

Each topic contains:

  • multiple examples of code

  • wiring schematics

  • demonstrations of a completed circuit

  • alternative scenarios

Peter, the instructor, and designer of this course, helps you understand the code and the circuit wiring by walking you through them, step by step and explaining every line of code and every wire of the circuit. 

Students have access to:

  • The course repository, which contains all of the sketch code, wiring schematics and external resource links, which Peter keep up-to-date and correct

  • The course discussion Forum, where you can ask questions. Peter monitors this Forum regularly and responds to your questions

  • The Tech Explorations Makers Club private Facebook group where students can discuss their gadget ideas. Use this group to ask questions that don't fit within the context of the course, discuss your projects or help others

This course contains:

  • 39 hours of brand new video content 

  • 12 hours of retouched video content (which I will be replacing in regular intervals with brand new content)

  • 49 sections with totally reorganised content

  • More than 300 lectures (and counting)

  • Over 100 new and updated sketches (and counting)

  • Over 50 new circuit schematics (and counting)

  • New course repository, reorganised so that sketches, schematics and lecture external resources are easy to find (access everything at one place)

Here are some of the topics that you will learn about in this course (for a full list, please look at the course curriculum):

  • Advanced environment, motion, position and GPS sensors.

  • Using the Wokwi online simulator to develop Arduino projects in your browser, without real hardware. 

  • New ways to receive input from the user with keypads, potentiometers, and encoders.  

  • New ways to provide feedback to the user, with color screens, complete with a touch-sensitive surface.

  • Awesome ways to configure LEDs, monochrome or color. 

  • Use matrix or LED strips, display text, graphics, and animation.

  • Create motion with various kinds of motors and controllers.

  • Networking with Ethernet and Wifi. Communications with Bluetooth, Bluetooth Low Energy, 

  • Communications with highly-reliable packet-based radio, and simple, ultra low-cost radio for less critical applications

  • Multiplying your Arduino's ability to control external devices with shift registers and port expanders.

  • Much, much more (for a full list, please look at the course curriculum)

This course is not appropriate for people new to the Arduino. It will not teach you about the basics of the Arduino, like how to use the Arduino IDE, blink an LED or create a simple sketch and circuit. If you are a new Arduino maker, you should consider taking the Tech Explorations Arduino Step by Step Getting Started course first.

Apart from a basic understanding of the Arduino, a student of this course must be willing to work hard. You can't learn serious skills without serious work. There are a lot of courses out there that promise you a fun and easy learning experience. This is not one of them. I promise you a lot of hard work ahead.

What about tools and parts? 

Other than a few essential tools and parts that you can learn about in the first section of the course (which is free to watch) I only ask that you come with an appetite to learn and a willingness to work hard. The course features a large variety of parts, but you don't need (and you shouldn't) get them all to begin learning. In fact, getting all of these parts too early is not a good idea. Watch the free lecture to understand why in the first section of this course.

Should you join right now?

Watch the free lectures in the first section of this course before you choose to join. They contain valuable information that will help you decide if this is the right course for you. 

I look forward to learning with you.

Enroll now

What's inside

Learning objectives

  • Use communications technologies like wifi, ble, and radio
  • Use servo, dc and stepper motors with various controllers
  • Use lcd, oled and tft screens with buttons and touch interfacese
  • Store data in external storage like sd cards and eeprom
  • Optimise a sketch to minimise memory footprint, reduce power consumption and increase performance
  • Control large loads like relays and lights
  • Improve button reliability with hardware debouncing
  • Much more, please see curriculum for a full listing

Syllabus

Introduction to this course
What is this course about?
Is this course right for you?

Each lecture in this course contains several resources:

1. Videos

2. Sketches

3. Schematics

4. External resources

From time to time, I update them in order to correct errors and improve the quality of the course. 

In this video, I will demonstrate how to find and access these resources quickly and get to the learning part without frustration!

Read more

This course features a large number of components and tools, and a few software applications.

The downloadable PDF file that you can download from this lecture contains an exhaustive list, broken down by section.

You do not need to have all of the parts before starting the course! This is actually not a good idea! Instead, ensure that you have the basic tools, parts and software that are listed at the top of the first page of the list. Then, only acquire the parts needed for the particular sections that you actually want to complete.

You have life-time access to this course, so do not feel in a hurry to do everything immediately! Take your time, enjoy learning, and get into each section in depth.

This is lecture 490a.

This is lecture 490b.

This is lecture 490c.

This is lecture 490d.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Expands on foundational Arduino skills, making it suitable for learners who have completed a beginner course or have equivalent experience
Covers advanced topics like networking with Ethernet and Wifi, which are essential for IoT projects and more complex applications
Includes a section on using the Wokwi simulator, which allows learners to prototype and test their projects without needing physical hardware
Requires a willingness to work hard, suggesting a deep dive into complex concepts and hands-on projects that demand dedication and effort
Teaches how to optimize sketches for memory footprint and power consumption, which is useful for embedded systems with limited resources
Features content updated as of December 2024, indicating that the course is actively maintained and incorporates current tools and techniques

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Comprehensive advanced arduino projects course

According to learners, this course offers an exceptionally comprehensive and deep dive into advanced Arduino concepts and projects. Students highlight the practical, hands-on approach with clear explanations for building circuits and writing code. Many appreciate the vast amount of material, covering numerous sensors, displays, motors, and communication methods. The instructor's detailed, step-by-step teaching style is frequently praised. Recent reviews particularly value the inclusion of the Wokwi simulator section. While widely praised for its depth, students note that the course requires significant effort and is definitely not for absolute beginners, strongly reinforcing the stated prerequisite.
Recent update adds valuable Wokwi simulator content.
"The new section on the Wokwi simulator is a fantastic addition, allowing practice without hardware."
"I really appreciate the detailed lectures on using Wokwi for debugging and complex setups."
"Using the Wokwi simulator helps tremendously, especially for experimenting with newer concepts like ESP32 Wi-Fi."
"The logic analyzer and debugger features covered in the Wokwi section are very powerful tools."
Provides useful sketches, schematics, and external links.
"The provided code sketches and wiring diagrams are invaluable resources."
"Having all the materials easily accessible in the repository is a great help."
"The external resources and datasheets linked are well-curated and useful."
"I found the provided files made it much easier to follow along and build the projects."
Focuses on practical application with numerous projects.
"I love the hands-on nature of the course; building the circuits and seeing them work is very rewarding."
"Each section provides practical examples and projects that solidify the concepts."
"The demonstrations and wiring schematics provided were extremely helpful for the practical exercises."
"Applying the concepts immediately with real hardware makes learning effective."
Instructor explains complex topics clearly and step-by-step.
"Peter is an excellent instructor, explaining complex topics in a way that is easy to follow."
"His step-by-step approach to coding and circuit building is fantastic."
"The explanations are clear, concise, and build upon each other effectively."
"I really appreciate how he walks through every line of code and every connection."
Covers a wide range of advanced topics and components.
"The course covers a huge array of topics, from sensors and displays to communications and motors."
"I was amazed by the sheer volume of components and concepts explained in detail."
"Provides a deep dive into components I wouldn't have explored otherwise, truly getting serious."
"The breadth of the syllabus is incredible; there's so much valuable knowledge packed in."
Not suitable for beginners; prerequisite knowledge is essential.
"As stated, this course is definitely not for beginners; you need a solid foundation first."
"Make sure you have taken the 'Getting Started' course or have equivalent basic knowledge."
"If you don't know the basics, you will struggle with the pace and complexity."
"It assumes you are comfortable with the Arduino IDE and basic programming."

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 Step by Step Getting Serious with these activities:
Review Arduino Fundamentals
Reinforce foundational Arduino concepts to ensure a solid base for the advanced topics covered in this course. This will help you better understand the more complex projects and techniques.
Show steps
  • Review the basics of Arduino programming syntax and structure.
  • Practice writing simple sketches to control LEDs and read sensor values.
  • Familiarize yourself with basic electronic components like resistors, capacitors, and diodes.
Explore 'Programming Arduino: Getting Started with Sketches'
Solidify your understanding of Arduino programming fundamentals with clear explanations and practical examples. This book will help you write more effective and efficient sketches.
Show steps
  • Acquire a copy of 'Programming Arduino: Getting Started with Sketches' by Simon Monk.
  • Read the chapters covering basic programming concepts, such as variables, data types, and control structures.
  • Work through the example sketches, modifying them to experiment with different functionalities.
  • Compare the programming techniques presented in the book with those taught in the course.
Read 'Arduino Cookbook'
Supplement course material with practical examples and solutions to common Arduino challenges. This book will help you troubleshoot and implement various functionalities more effectively.
Show steps
  • Obtain a copy of 'Arduino Cookbook' by Michael Margolis.
  • Browse the table of contents to identify relevant chapters based on course topics.
  • Read through the selected chapters, paying attention to code examples and explanations.
  • Experiment with the code examples and adapt them to your own projects.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Build a Weather Station
Apply knowledge of sensors, data logging, and displays to create a functional weather station. This project integrates multiple concepts from the course and provides hands-on experience with real-world applications.
Show steps
  • Gather necessary components: BME280 sensor, Arduino board, display (LCD/OLED), and SD card module.
  • Connect the components according to the wiring diagrams.
  • Write Arduino code to read sensor data, store it on the SD card, and display it on the screen.
  • Test and calibrate the weather station to ensure accurate readings.
Document Your Projects
Reinforce learning by creating detailed documentation for each Arduino project you undertake. Explaining your code and design choices solidifies understanding and improves communication skills.
Show steps
  • Choose an Arduino project you've completed.
  • Write a detailed description of the project's purpose and functionality.
  • Create a wiring diagram illustrating the connections between components.
  • Explain the code, line by line, highlighting key algorithms and techniques.
  • Share your documentation on a blog, forum, or social media platform.
Optimize Sketch Memory Usage
Improve your ability to write efficient code by practicing techniques to minimize memory footprint. This is crucial for complex projects and resource-constrained environments.
Show steps
  • Select a complex Arduino sketch from the course or your own projects.
  • Analyze the sketch to identify areas where memory usage can be reduced.
  • Implement optimization techniques such as using PROGMEM for storing constant data, using smaller data types, and avoiding dynamic memory allocation.
  • Measure the memory usage before and after optimization to quantify the improvement.
Contribute to an Arduino Library
Deepen your understanding of Arduino libraries and contribute to the open-source community. This activity involves analyzing existing libraries, identifying bugs or areas for improvement, and submitting your contributions.
Show steps
  • Browse the Arduino library repository on GitHub.
  • Choose a library that interests you and is relevant to the course topics.
  • Analyze the library's code to understand its functionality and identify potential issues.
  • Fix a bug, add a new feature, or improve the documentation.
  • Submit your changes as a pull request to the library's repository.

Career center

Learners who complete Arduino Step by Step Getting Serious will develop knowledge and skills that may be useful to these careers:
Hobbyist Maker
A Hobbyist Maker engages in creative projects involving electronics, engineering, and programming as a leisure activity. This course is ideal for a hobbyist, offering comprehensive coverage of the Arduino platform and its many possibilities. The course teaches how to create interactive projects by combining a microcontroller with different sensors, displays, and motors. The learning resources provided, which include code examples, wiring schematics, and external resource links make this course an excellent resource. The Wokwi simulator can be used to experiment with different ideas prior to building them in the real world.
Embedded Systems Engineer
An Embedded Systems Engineer designs, develops, and tests software and hardware for embedded systems, which are computer systems with a dedicated function within a larger system or product. This course, with its focus on Arduino and its peripherals, provides a practical understanding of how to interface with hardware components and develop embedded software. The course covers various sensors, displays, and communication protocols, all essential knowledge for anyone wanting to work in embedded design. Furthermore, the inclusion of the Wokwi simulator in this course is invaluable for debugging and testing designs before physical implementation, mimicking the workflow of a professional engineer.
Internet of Things Developer
An Internet of Things Developer creates and manages devices and systems that connect to the internet. This course provides a foundation for this role, as it extensively covers microcontrollers, sensors, and wireless communication. Course participants will learn to connect devices to the internet, a critical aspect of IoT projects. The course's practical applications involving network communications like Wi-Fi and Bluetooth are essential for anyone looking to enter the IoT field. The simulator section introduces the skills that a seasoned internet of things developer would utilize.
Robotics Engineer
A Robotics Engineer designs, builds, and programs robots for various applications. This course directly supports this role by teaching how to interface with sensors, use motors, and manage communication protocols, all essential building blocks for robotics. The coverage of motion control using different kinds of motors and controllers, as well as networking with WiFi and Bluetooth, provides a solid foundation for robotics development. The course’s hands-on approach to building circuits and writing code also mirrors the practical nature of robotics engineering. Taking this course will help build skills needed to control and manage a robotic system.
Prototype Developer
A Prototype Developer builds functional models and prototypes of products or systems and this course directly relates to this field of work. The course content provides a plethora of knowledge that is essential for hardware and software prototypes. This course discusses how to control electronics using microcontrollers, how to interface with different sensors and actuators, and how to simulate designs all of which are valuable as a prototype developer. The course’s focus on practical application, with multiple examples of code, wiring schematics and demonstrations, makes this a good option for those interested in the development of functioning prototypes using microcontrollers and related technologies.
Hardware Engineer
A Hardware Engineer is responsible for the design, development, and testing of physical hardware components and systems. This course helps build a foundation for this role by providing a strong basis in digital electronics and embedded systems. The practical exercises involving wiring schematics, circuit demonstrations, and multiple examples of code provide a taste of the day-to-day tasks of a hardware engineer. The course's extensive coverage of various input methods, display technologies, communications and control devices, is valuable in hardware design. This course’s emphasis on the Wokwi simulator furthers engineering practices.
Firmware Engineer
A Firmware Engineer develops the low-level software that controls hardware devices. This course is particularly helpful for aspiring firmware engineers. It builds skills in programming microcontrollers and interacting with different hardware components. This course introduces learners to a range of sensors, actuators, and communication protocols, all critical components in many embedded systems. The course's emphasis on practical coding and circuit design will translate directly to success in this role. The focus on using the Wokwi simulator provides invaluable experience in debugging firmware prior to hardware deployment.
Mechatronics Engineer
A Mechatronics Engineer integrates mechanical, electrical, and software engineering principles in the design of advanced systems. This course builds a foundation in the essential electrical and software aspects, with practical skills in using sensors, actuators, and control systems. The course’s focus on microcontrollers, motors, and various communication methods complements the mechanical engineering aspects of mechatronics. This course will help you build working systems and program electronic components with an eye towards mechatronic applications. Learning to use the Wokwi simulator is also an important skill for any mechatronics engineer.
Product Developer
A Product Developer is involved in the entire lifecycle of a product, from ideation to launch. This course is helpful since it provides practical experience in building electronic prototypes. You gain skills in hardware interfacing, microcontroller programming, and system design. The course covers many technologies and hardware components that are found in modern electronic products. By learning to use sensors, screens, and communication interfaces, you will be prepared to build working prototypes that can then be brought to market. This course's practical, hands-on approach to product development can be very beneficial.
Automation Engineer
An Automation Engineer designs, develops, and implements automated systems, often in industrial settings. This course may be useful as it covers many foundational concepts that are directly relevant to the field, such as using sensors and actuators, as well as working with control systems. The variety of components covered, like environment sensors, motion sensors, and motors along with communications protocols like WiFi and Bluetooth can be leveraged for automation projects. The skills gained in this course will provide a practical knowledge of embedded systems that goes beyond theoretical knowledge, giving a student an advantage in this role.
Electrical Engineer
An Electrical Engineer designs, develops, and tests electrical equipment and systems. This course may be useful as it provides hands-on experience working with circuits, microcontrollers, and other electronic components. The course introduces a wide range of sensors, display technologies, and communication protocols that are widely used in electrical engineering projects. The practical exercises, such as building circuits and writing code, are valuable experience that directly aligns with the work of an electrical engineer. Moreover, the course’s inclusion of the Wokwi simulator, which supports hardware simulation, may enhance the toolkit of any electrical engineer.
Electronic Technician
An Electronic Technician maintains, troubleshoots, and repairs electronic equipment and systems. This course may be helpful as it provides experience working with a wide range of electronic components and circuits that are common in a technician role. The course covers sensors, displays, communication protocols, and more, offering a broad base of knowledge in various electronic systems. The practical skill set of building circuits, coding, and debugging may aid an electronics technician in understanding the systems they work with. The Wokwi simulator may be useful in the analysis of electrical systems as well.
Technology Educator
A Technology Educator teaches technology related topics in schools or universities. This course may be helpful for an educator as it provides the practical skills necessary to explain the function of microcontrollers and electronic circuits. This course covers a variety of topics, including the use of sensors, motors, communication protocols, and display technologies. By taking this course, an educator can add a hands-on component to their class, giving students a practical experience in addition to theoretical knowledge. The Wokwi simulator makes it possible to demonstrate circuit behavior in a visual and easily understandable way.
Control Systems Engineer
A Control Systems Engineer designs and implements systems that regulate processes, often in industrial settings, using feedback mechanisms. This course can be beneficial as it teaches how to work with sensors, actuators, and feedback control, all core principles of control systems. You will learn how to interface with a variety of sensors, control motors, and use communication methods, all skills relevant to the role. The course’s focus on practical applications and hands-on projects provides a real-world foundation for those looking to work in the field. This course's focus on hardware and programming may be of interest to a control systems engineer.
Research Engineer
A Research Engineer conducts research and development for new technologies or scientific applications. This course may be useful as it provides a versatile foundation for working with different types of electronic hardware. You will also learn how to program and control them. The course offers experience in a plethora of sensors, communication technologies, and feedback devices, which are commonly used in many research applications in engineering, physics, and chemistry. The course’s practical nature and emphasis on experimentation and simulation can enhance the skills of a research engineer, especially when exploring new concepts and devices. This course will be useful as a starting point for many research endeavors.

Reading list

We've selected two 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 Step by Step Getting Serious.
Provides practical solutions and code snippets for common Arduino challenges. It serves as a valuable reference for troubleshooting and implementing various functionalities. The 'Arduino Cookbook' offers a wide range of recipes, from basic to advanced, making it suitable for both beginners and experienced users. It can be used as a companion to the course, providing additional examples and explanations.
Is an excellent resource for understanding the fundamentals of Arduino programming. It provides clear explanations and practical examples to help you write effective sketches. While the course covers advanced topics, this book can serve as a valuable reference for reinforcing basic concepts and exploring alternative programming approaches. It's particularly useful for students who want to deepen their understanding of the Arduino programming language.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser