Skip to content
UdemyArduinoPaid courseIntermediate levelCertificate

Arduino OOP (Object Oriented Programming) (Udemy.com)

Learn how to use OOP with Arduino through a step by step project.

Created by: Edouard Renard

Last updated November 2025

icon
What you will learn

  • Master Arduino OOP (Object Oriented Programming)
  • Write a class for any Arduino component or functionality you want
  • Package a class as an easy-to-use Arduino library
  • Make your code easier to read and scalable
  • Create clear interfaces for other developers to use
  • Use a class inside another class
  • Combine classes together to exponentially increase the possibilities of your programs, without writing more code
  • Learn naming conventions for Arduino OOP code
  • Clearly organize your code in different files
  • Learn the best practices from the start
  • Practice a lot with hands-on lessons

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 94 / 100

icon
Course Description

You want to write Arduino code that you can easily read, modify, and share with other Arduino developers?

Or you already know OOP (Object Oriented Programming) and you want to know how to apply it to Arduino?

At the end of this course you will be able to:

  • Write clean Arduino code with OOP for any hardware component or functionality.

  • Rewrite your own projects using OOP.

  • Create a clean and super easy-to-use OOP Arduino library.

The course works for any Arduino board.


→ Why this course?


From what I’ve seen, OOP is not frequently used with Arduino (on libraries, yes, but from most users, no).

I noticed this when I got started using the Arduino and created a few projects. My initial background was in software engineering, not electronics engineering, so I had a good foundation with OOP, applied to desktop software or web development.

When coming to the Arduino, my thought was: why not use OOP on the Arduino (since it’s possible!). I know not many people do it, but it’s going to make my programs much more scalable and easy to read.

And it worked great. Now, when I write Arduino programs, I almost always use OOP.

Seeing that there is a lack of structured resources on the Internet to learn how to write OOP code for Arduino, I decided to create this course.

I have packaged several years of my experience into this course, so you can learn the most important stuff, directly starting with the best practices, and all that in just a few hours.


→ How do I teach in this course?


Well, this Arduino OOP course is 100% project focused and 100% practical. Throughout the different sections, we are going to write a complete Arduino project, step by step.

Everything is hands-on (no copy and paste!), so you can directly practice with me on each video. For some of the sections I have also included some challenges for you, so you can practice on your own and develop parts of the project by yourself, using the previous knowledge you got.

No distracting fluff, just a step by step process, directly going to the point, and making you practice on the key points so you can then apply the knowledge to your own projects.


→ What will you learn/do?


Here’s a very quick overview of the course:

  • Create a first class (for an LED component)

  • Organize the class, separate the interface from the implementation

  • Your turn: write OOP code for a push button

  • Create a class to make an LED blink (how to use a class inside another class)

  • Your turn: create the final TrafficLight class with the high level logic, while using all the previous classes you’ve created

Note: this course is not an in-depth OOP course for C++, where I explain all the different possibilities and features of OOP. No, this is a practical course on how to apply OOP to Arduino code. Be reassured though, you don’t need to know OOP before taking the course, the first few lessons will help you grasp the main concepts through practice.

The course is entirely focused on programming, although we’ll use a hardware circuit with a few basic components. I’ll explain to you exactly what components you need (in a free preview lecture at the beginning), and then how to create the circuit in 10 minutes. And after this, back to the code!

On top of that, I will also teach you the process I use to write OOP code, and the best practices you can implement right now.


Now, don’t wait any longer and start this Arduino OOP journey with this course! After taking this course, you won’t believe how you could have waited so long to discover OOP with Arduino. Your programs will look much cleaner, modular, and easy to read.


Oh, and you also get a 30 days money-back guarantee if you’re not fully satisfied. So just get started now, and if I don’t deliver on what I said, please do get the refund.

See you in the course! :)



Note - This course is not for you if:

  • You’re a complete Arduino beginner and have never written a program before.

  • You’re an anti-OOP purist. Sorry, not for you!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Edouard Renard

Hi, I’m Edouard. I am a software engineer and robotics teacher. I'm also the author of the "ROS 2 from Scratch" book.

I really enjoy teaching new technologies to people, and making complex stuff easy to understand. My method is simple, and contains only 3 words : Step By Step. I know how hard it can be to learn a new topic and just be lost in an ocean of information, without knowing what to do. In my courses, I make sure that you learn one step at a time, through practicing, and that you also learn the best practices.

I am passionate about robotics. I found that it’s amazing how many cool projects you can do with a robot, when you have the required programming knowledge!

I also co-founded a robotics startup in 2016, building a complete robotic arm, from scratch, with Arduino, Raspberry Pi, Ubuntu and ROS. Thus, I am aware of things that work and things that don’t work, thanks to a lot of practice. This will save you precious time and make you progress faster.

icon
More courses by Edouard Renard

$84.99

$89.99

$89.99

$74.99

$84.99

$19.99

icon
More Arduino courses

Free

$74.99

$19.99

$44.99

$159.99

$49.99

icon
Reviews

4.7

358 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Ymyr Games on 5/27/2026

Sir your videos are very easy to get. Can you make more videos for OOP with different sensors and can you make videos on IoT/esp32/ amd if you know python can you make python intermediate to advance course. I'm stuck at beginner level. I cant find a course that has the clearer explanation. most of courses are jumping into a different concept, giving examples that are too advance for what is teaching. I find your courses easy to understand.

By Zakaria El Khamsi on 9/6/2025

Very comprehensive and easy course; i did his course on Arduino for beginners it was amazing, and this adds up to what i learnt from it and i can understand now how OOP works for arduino. However i would like to suggest if possible to add the Parent and child's inheritence because it would be a good one to know about and make the code even more easier to understand than the code you've provided, 5 Stars over here

By Alan Mahone on 8/1/2025

The course was good and satisfied my original goal of learning OOP. Would take the course again. Suggested improvement. The code was at times difficult to follow due to the same labeling of some of the objects. Suggest possible implementing a flow chart in the code development. Thanks again. Will probably go thru the course again. Lots of good stuff.

By Stefan Wurlitzer on 1/3/2025

The course is excellent - it is a pity that I cannot give 5 stars. The presented method for building classes using other classes does only reliable work with classes you made by yourself. For example, if you want to use temperature sensors DS18B20 with 1wire bus in your own class you will fail – you need an initialization list (this also applies to many other libraries). I struggled a long time since I followed the course method 1:1. Thus, the applicability of this course to “real” projects is not 100% given.

By Bertil Andersson on 6/2/2023

This Arduino OOP course is great if you want to start to learn OOP. There is a lot written about OOP for C++ but usually you loose the interest because it becomes too theoretical, but with this course you get your hands on from start

By Antoni Subirats on 9/1/2022

Edouard ha fet un gran treball amb aquest curs. Certament no és per "beginers" però es pot seguir perfectament i realment aprendre molt. Ben organitzat, ben explicat i amb un projecte acabat que realment et clarifica (al menys a mi) conceptes de la OOP. No explica pas la teoria de la OOP i per tant tenir algunes nocions és força important per aprofitar més el curs. Gràcies!

By John Caraway on 5/25/2022

This course was about right in level for me. I had not done a state engine in arduino before and hadn't used enum either. However, by watching the step-by-step videos I was able to finish the course anyway. Now I will go back and re-build the entire project without using the step-by-step guidance. Some of the instructors pronunciation was off for my location (USA). For example, power sounded like pour (or poor) in the lecture. Power should have a sound like POW or the ou sound in OUCH.

By Rodrigo Coimbra Batista on 4/20/2022

Ótimo curso. Realmente precisa um pouco de base em arduino antes de iniciar, mas um pouco de base já é o bastante para se ter um grande crescimento. Ótimo professor, explica bem sem complicar. Assisti o curso quase de uma vez só, é viciante, dá para aprender de forma super tranquila e já pôr em prática. Meu projeto ficou muito mais limpo e funcional depois desse curso. Recomendo

By Andrew D'Arcy-Evans on 3/1/2022

I really enjoyed taking this course. I've been interested in applying OOP to Arduino for ages and this has taken me through the process step-by-step. I was also introduced to state machines for the first time, so I feel I've learned a number of new techniques. I will take the advice and re-code the project from scratch on my own now. I've signed up to the C++ course to improve my knowledge further - I like your teaching style.

By Luke Anderson on 1/10/2022

Excellent course covering how to program Arduino using OOP. Content delivered clearly with plenty of opportunities to try on your own to solidify concepts. I feel like I am now able to write my future projects, and rewrite existing projects to be more maintainable.

Showing all 10 reviews on CourseDuck

Read all 358 reviews on Udemy