Introduction to object-oriented programming with Arduino

person icon Markus Edenhauser

Introduction to object-oriented programming with Arduino

A hands-on tutorial with lots of small OOP-Arduino/ESP32 projects to participate in.

updated on icon Updated on Sep, 2023

language icon Language - English

person icon Markus Edenhauser

architecture icon Arduino,Development,Mobile Development

Lectures -72

Resources -1

Duration -5.5 hours


30-days Money-Back Guarantee

Training 5 or more people ?

Get your team access to 19,000+ top Tutorialspoint courses anytime, anywhere.

Course Description

Especially in the development of microcontrollers we often work with libraries, for example to control hardware components. The advantages of flexible and efficient source code design will be introduced to you in this course.

An ESP32 is used in the entire course, but all the examples (except the last one with the Website/Webserver and WIFI), exercises and explanations can be done with any Arduino.

Once you have completed this course, you will be able to…

  • …create your own object-oriented programs and libraries

  • …program reusable source code

  • … create clean source code architecture for flexible programming and adaptation

  • … code generalized classes and provide the libraries

  • … implement the basic concepts of OOP for your own projects and apply them immediately.

  • … save time for cumbersome programming. Because of the given conceptual design, your self-written code is easier to adapt.

  • … maintain your own code better even after a longer period of time.

What we go through in the course:

  • Basics of object-oriented programming in the Arduino environment. We will go through the essential contents of OOP step by step. We will get right into practical examples.

  • Practical example: Own LED class. Many different functions and interfaces.

  • Practical example 2: Galton board with marble elevator and evaluation of 12 IR sensors.

  • Practical example 3: Headlamp with only one(!) button, two LEDs and three light modes.

  • Practical example: Rock, paper, scissors game. We develop this small game. We compete against the bot and play to win two games. The logic is triggered by a web server on the ESP32 (with server side events).

My approach in the course:

  • None (ok, only very few) slides/PowerPoints. We start in the basics immediately with a practical example. Also the theory can be tested immediately on the Arduino with the Serial Monitor and thus immediately better understood.

  • The practical projects are developed together in step-by-step instructions.

  • Together means in this context that I demonstrate the code, depending on the task, and you can follow me along with the source code.

  • All codes are available for download on the platform, so you can get to the result without frustration.

  • No rambling explanations or theory monologues, we get right to work in the basics chapter.

Benefit from my years of experience and get the key skills in microcontroller development.

I'm looking forward to see you in class

Markus Edenhauser

Who this course is for:

  • Anyone who wants to deepen their knowledge of object-oriented programming (OOP) in the Arduino environment.
  • Developers who are interested in taking their code to the next level.
  • All of you who want to understand, apply and write OOP themselves
  • All of you who want to create their own libraries


What will you learn in this course:

  • The structure of a class

  • What data encapsulation is and how we implement this concept

  • Creation and use of constructors

  • Overloading constructors and functions (polymorphism)

  • Inheritance of classes

  • Use and adaptation of inherited classes

  • Interaction of headers and CPP files

  • Control of servo motors, infrared sensors, LEDs.

  • Use of Visual Studio Code / Platform IO (with Arduino IDE also possible)

  • Provide of own libraries for external developers

  • Creation of individual libraries for own use

  • Best practices in object oriented programming of microcontrollers

  • Many practical examples which are built up step by step


What are the prerequisites for this course?

  • First experiences in Arduino development (millis, pinMode, data types).

  • Basics C++ in the Arduino environment

  • A lot can be simulated with the online simulators, but you will have a greater learning success if you rebuild the practical examples with the hardware components.

  • Everything about OOP is taught in this course

  • First experience with the ESP32 is advantageous

Introduction to object-oriented programming with Arduino


Check out the detailed breakdown of what’s inside the course

7 Lectures
  • play icon Introduction to this course 02:29 02:29
  • play icon About me 01:56 01:56
  • play icon Download code snippets 00:44 00:44
  • play icon List of components 01:37 01:37
  • play icon Practical experience vs. theory 01:10 01:10
  • play icon Prerequisites for this course 02:46 02:46
  • play icon Disclaimer 01:45 01:45
7 Lectures
Short introduction to object-oriented programming
11 Lectures
Individual LED Class
9 Lectures
IR sensors using the Galton board as an example
9 Lectures
Headlamp - Button short/long click
12 Lectures
Rock Paper Scissors
14 Lectures
Publish your OOP source code as Arduino library
1 Lectures
2 Lectures

Instructor Details

Markus Edenhauser

Markus Edenhauser

Bringing IT and People together

I am Markus Edenhauser from Austria/Tyrol. I have professional experience in electrical engineering & finance industry as well as in the non-profit sector. My experiences range from IT auditor and trainer for it-topics, head of department for finance and technology to personnel management. Nowadays I develop funny things with microcontrollers for IoT devices #smarthome.

Education: Foreman in Electrical Engineering, Train the Trainer and Bachelor & Master degree in Business Informatics and Master degree in Coaching, Organizational & Human Resources Development.

I am looking forward to welcoming you in my courses.


Course Certificate

User your certification to make a career change or to advance in your current career. Salaries are among the highest in the world.

sample Tutorialspoint certificate

Our students work
with the Best

Related Video Courses

View More

Annual Membership

Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses

Subscribe now
People having fun around a laptop

Online Certifications

Master prominent technologies at full length and become a valued certified professional.

Explore Now
People having fun around a laptop

Talk to us