Introduction to object-oriented programming with Arduino (Udemy.com)
A hands-on tutorial with lots of small OOP-Arduino/ESP32 projects to participate in.
Created by: Markus Edenhauser
Last updated July 2022
What you will learn
- 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
How it compares
Against the other 295 rated Udemy courses in Arduino on CourseDuck:
- Rating4.4 out of 5higher than 50% of them
- Reviews30#275 of 296 by number of reviews
- Length5.8 hourslonger than 54% of them
- Last updatedJuly 2022earlier than 61% of them
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
Instructor Details
- 4.4 Rating
30 Reviews
Markus Edenhauser
Markus Edenhauser, geboren 1985 in Tirol, ist Werkmeister für Elektrotechnik und hat zwei Masterabschlüsse in Wirtschaftsinformatik und systemischem Coaching. Er verbindet technische Architektur mit strukturiertem Denken und entwickelt Systeme, die nachvollziehbar und reproduzierbar bleiben.
Als Autor und Dozent veröffentlicht er Fachbücher und Inhalte rund um Linux, Embedded und Open Source – mit Fokus auf Systemverständnis statt Tool-Hype.
Sein Ansatz: nicht nur zeigen, was funktioniert, sondern erklären, warum es funktioniert – damit Technik bewusst beherrschbar wird.
More courses by Markus Edenhauser
Node-RED: IoT projects with ESP32, MQTT and Docker (2023)
4.4 (216 Reviews)
Provider: Udemy
Time: 10.1h
$84.99
Mastering hardware protocols with ESP32 and Arduinos (2023)
4.6 (43 Reviews)
Provider: Udemy
Time: 6h
$79.99
Control a LED Matrix via web interface with Arduino ESP32 (2021)
4.3 (26 Reviews)
Provider: Udemy
Time: 2.4h
$64.99
More Arduino courses
Learn to Build a Computer (PC) in 2026 - all types!
4.9 (245 Reviews)
Provider: Udemy
Time: 6.1h
$74.99
Raspberry Pi For Beginners - 2026 Complete Course
4.8 (3,105 Reviews)
Provider: Udemy
Time: 10.6h
$89.99
Ultimate Guide to Raspberry Pi : Tips, Tricks and Hacks (2023)
4.8 (2,363 Reviews)
Provider: Udemy
Time: 5.2h
$69.99
Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL (MCU3) (2026)
4.8 (487 Reviews)
Provider: Udemy
Time: 8.1h
$79.99
Arduino Step by Step: Getting Started (2024)
4.7 (8,714 Reviews)
Provider: Udemy
Time: 21.4h
$159.99
Reviews
By Walter Riordan on 5/13/2025
Nice overview for the introduction
By Thomas Gonzales on 12/11/2023
thanks for the promo code
By Ellard Postma on 2/14/2023
The course provides a good insight into the advantages of OOP. It provides some experience to use OOP with Arduino like microcontrollers.
By Marty van den Biggelaar on 10/30/2022
Goed verstaanbaar inhoudelijk voldoet het aan wat ik zocht
By Antoni Subirats on 9/5/2022
No he donat la màxima puntuació ja que al meu entendre falta una mica d'estructura teòrica inicial (anàlisi del problema a resoldre) abans de començar a programar. Tot i això, el professor domina amb expertesa la temàtica i el codi que va comentat mentre avança el projecte s'entén perfectament. Penso que sense uns mínims coneixements de POO (OOP in english) el curs és més difícil de seguir pels principiants. Dit això, agrair l'esforç del Markus ja que m'ha permès aprofundir en la POO d'una manera pràctica amb l'entorn Arduino. Gràcies!
By Jonatan Rembrandt on 7/10/2022
Completly new to me. looking forward to test this concept on my projects.
By Eljas Lohengrin on 6/8/2022
really good overview of OOP
By Achan Adzo on 6/2/2022
finally I got in touch with OOP. thanks
By Nicomachus Hroogar on 5/25/2022
Really good basic example!
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 88 / 100









