We may earn an affiliate commission when you visit our partners.
Course image
Ian Harris

The Arduino is an open-source computer hardware/software platform for building digital devices and interactive objects that can sense and control the physical world around them. In this class you will learn how the Arduino platform works in terms of the physical board and libraries and the IDE (integrated development environment). You will also learn about shields, which are smaller boards that plug into the main Arduino board to perform other functions such as sensing light, heat, GPS tracking, or providing a user interface display. The course will also cover programming the Arduino using C code and accessing the pins on the board via the software to control external devices. Please note that this course does not include discussion forums.

Read more

The Arduino is an open-source computer hardware/software platform for building digital devices and interactive objects that can sense and control the physical world around them. In this class you will learn how the Arduino platform works in terms of the physical board and libraries and the IDE (integrated development environment). You will also learn about shields, which are smaller boards that plug into the main Arduino board to perform other functions such as sensing light, heat, GPS tracking, or providing a user interface display. The course will also cover programming the Arduino using C code and accessing the pins on the board via the software to control external devices. Please note that this course does not include discussion forums.

Upon completing this course, you will be able to:

1. Outline the composition of the Arduino development board

2. Describe what it means to program the board's firmware

3. Read board schematics

4. Install Arduino IDE

5. Describe what "shields" are and how they are used

6. Specify the role of libraries in the use of shields

7. Compile and run a program

8. Name C Variables and Types

9. Name common C operators

10. Use conditionals and loops

11. Explain functions, their definition and invocation

12. Explain the implications of global variables

13. Undertake the Arduino build process

14. Describe the role of the tools behind the IDE

15. Describe how to invoke functions in classes

16. Explain the structure of an Arduino sketch

17. Access the pins of the Arduino

18. Differentiate between digital and analog pin

19. Debug embedded software

20. Explain the importance of controllability and observability in the debugging process

21. Describe common debugging architectures for embedded systems

22. Explain how the UART Serial communication protocol works

23. Describe how the Arduino Serial library performs serial communication

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Arduino Environment
This module provides an introduction to the Arduino environment which is composed of three things: the Arduino board, the Arduino IDE, and the Arduino-compatible shields together with their libraries. We first investigate the board, discussing all of its main components, inputs, and outputs. We discuss how each component is used and we examine the board schematic to see how they are connected. We then discuss the Arduino Integrated Development Environment (IDE) which is used primarily to write, compile, and upload code. We survey the interface of the IDE and discuss how to install and use it. We also examine the use of shields to extend the functionality of an Arduino-based system. We discuss how shield libraries provide a useful abstraction to facilitate programming.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Strengthens an existing foundation in Arduino and C for intermediate learners
Ideal for beginners to build a strong foundation in Arduino and C
Covers a wide range of topics, including Arduino environment, C programming, and debugging embedded software
Provides hands-on labs and interactive materials for practical learning
Taught by an experienced instructor with industry expertise
Requires students to have basic computer literacy and programming experience

Save this course

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

Reviews summary

Introduction to arduino and c programming

According to learners, this course serves as a great introduction for beginners to the Arduino platform and C programming. Students praise the clear explanations of hardware basics, the IDE, and fundamental C concepts, finding the pace just right for novices with no prior experience. Many feel it provides a solid foundation. However, multiple reviewers note that the C programming section is too brief and the debugging module is limited, insufficient for more complex projects. A significant drawback highlighted by students is the lack of a discussion forum, making it difficult to get help when stuck. The course also requires purchasing Arduino hardware (hardware required), which adds cost.
Requires purchasing Arduino hardware kit.
"Requires purchasing Arduino hardware."
"Need to buy an Arduino kit."
"The requirement for hardware is expected, but adds a barrier."
"Requires specific hardware, which adds cost."
Projects aid understanding and application.
"The projects were helpful in applying what I learned. A very positive experience."
"The introduction to C was sufficient for me to start writing simple sketches. The projects were helpful..."
"I learned a lot about the Arduino ecosystem and how to write my first programs. Excited to build more projects!"
Concepts are explained simply and clearly.
"The explanations are clear and easy to follow."
"Excellent course for beginners. The instructor explains everything step-by-step, making complex topics understandable."
"Everything is explained clearly and precisely. The pace is just right..."
"I appreciated the focus on understanding the hardware components and how they interact with the software."
Excellent starting point for novices.
"This course is a great introduction to Arduino and the C programming language. It covers the basics of the Arduino platform, including the board, IDE, and shields."
"Excellent course for beginners. The instructor explains everything step-by-step, making complex topics understandable."
"Absolutely perfect for a complete novice. The content is well-structured, and the lectures are easy to digest."
"The pace is just right for someone with no prior experience in electronics or programming. I learned a lot about the Arduino ecosystem..."
Debugging content is insufficient.
"I was hoping for more extensive coverage of C programming and debugging techniques. The debugging module felt very limited."
"The debugging module is almost useless."
"Debugging is barely covered. The debugging section could definitely be expanded."
"The debugging techniques covered are minimal and not very practical."
C section lacks depth for some learners.
"The C programming section is a bit too brief for my taste, I feel it only scratches the surface. More depth or examples in C would be beneficial..."
"The C programming is very basic - if you know any programming language already, you might find this part too simple."
"Very poor course. The C programming section is inadequate, jumping from basics to slightly more complex concepts without proper buildup..."
"The C programming part is a bit rushed and simplistic if you are planning anything beyond simple blink examples."
Lack of support forum is a major issue.
"Also, the lack of any discussion forum makes it hard to get help when stuck."
"having no forum to ask questions is a major drawback."
"The lack of interactive support (forum) is terrible."
"I struggled to apply what was taught. Also, having no forum to ask questions is a major drawback."

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 The Arduino Platform and C Programming with these activities:
Practice writing Arduino sketches
Complete a series of exercises and challenges to improve your skills in writing Arduino sketches.
Show steps
  • Find a set of Arduino practice exercises or challenges
  • Work through the exercises, writing and testing each sketch
  • Debug any errors that you encounter
Show all one activities

Career center

Learners who complete The Arduino Platform and C Programming will develop knowledge and skills that may be useful to these careers:
Embedded Systems Engineer
Embedded Systems Engineers design, develop, and test embedded systems, which are computer systems that are designed to be part of a larger system. They work on projects such as medical devices, automotive systems, and industrial automation. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in embedded systems.
Robotics Engineer
Robotics Engineers design, build, and test robots, which are machines that are capable of carrying out a complex series of actions automatically. They work on projects such as manufacturing robots, medical robots, and military robots. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in robotics.
Control Systems Engineer
Control Systems Engineers design, develop, and test control systems, which are systems that are used to control the behavior of a physical system. They work on projects such as aircraft control systems, automotive control systems, and industrial control systems. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in control systems.
Mechatronics Engineer
Mechatronics Engineers design, develop, and test mechatronic systems, which are systems that combine mechanical, electrical, and computer engineering. They work on projects such as robots, medical devices, and manufacturing systems. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in mechatronics systems.
Electronics Engineer
Electronics Engineers design, develop, and test electronic circuits and systems. They work on projects such as computers, cell phones, and medical devices. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in electronics.
Computer Engineer
Computer Engineers design, develop, and test computer systems. They work on projects such as desktops, laptops, and servers. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in computer systems.
Software Engineer
Software Engineers design, develop, and test software applications. They work on projects such as operating systems, web applications, and mobile applications. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in software development.
Web Developer
Web Developers design, develop, and test websites and web applications. They work on projects such as e-commerce websites, social networking websites, and mobile websites. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in web development.
Mobile Developer
Mobile Developers design, develop, and test mobile applications. They work on projects such as games, social networking apps, and productivity apps. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in mobile development.
Data Scientist
Data Scientists use data to solve problems and make decisions. They work on projects such as fraud detection, customer segmentation, and predictive analytics. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in data science.
Business Analyst
Business Analysts use data to help businesses make better decisions. They work on projects such as market research, financial analysis, and operations analysis. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in business analysis.
Product Manager
Product Managers are responsible for the development and launch of new products. They work on projects such as new features, new products, and new markets. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in product development.
Project Manager
Project Managers are responsible for the planning and execution of projects. They work on projects such as software development projects, construction projects, and marketing projects. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in project management.
Technical Writer
Technical Writers create technical documentation, such as user manuals, white papers, and training materials. They work on projects such as software documentation, hardware documentation, and medical documentation. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in technical writing.
Teacher
Teachers teach students in a variety of subjects, such as math, science, and history. They work in schools, colleges, and universities. This course may be useful in helping you develop the skills and knowledge needed to be successful in this role, as it provides an introduction to the Arduino platform and C programming, which are commonly used in teaching.

Reading list

We've selected 14 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 The Arduino Platform and C Programming.
Concise guide to using the Arduino platform for electronics projects. It covers the basics of the Arduino hardware and software, and includes step-by-step instructions for building several projects.
Practical guide to programming the Arduino platform. It covers the basics of Arduino programming, and includes step-by-step instructions for building several projects.
Comprehensive introduction to the C programming language. It covers the basics of C syntax and programming concepts, and includes exercises and projects to help readers learn the material.
Practical guide to programming the STM32 microcontroller. It covers the basics of STM32 programming, and includes step-by-step instructions for building several projects.
Comprehensive introduction to embedded systems. It covers the basics of embedded systems hardware and software, and includes case studies to help readers learn the material.
Comprehensive introduction to embedded systems design. It covers the basics of embedded systems hardware and software, and includes case studies to help readers learn the material.
Comprehensive introduction to microcontrollers. It covers the basics of microcontroller architecture, programming, and applications.
Comprehensive guide to the ARM Cortex-M0 microcontroller. It covers the basics of the Cortex-M0 architecture, programming, and applications.
Comprehensive introduction to data structures and algorithms. It covers a wide range of topics, from basic data structures to advanced algorithms.
Classic reference on algorithms. It covers a wide range of topics, from basic algorithms to advanced algorithms such as dynamic programming and graph algorithms.

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