# ESP-IDF tutorial series: Object oriented programming in C

DevFeed: [ESP-IDF tutorial series: Object oriented programming in C](<https://devfeed.tech/articles/esp-idf-tutorial-series-object-oriented-programming-in-c-13731.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2025/10/oop_with_c/>)

Author: John Lee

Published: 2025-10-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [Object-oriented programming (OOP)](<https://devfeed.tech/topics/oop.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c](<https://devfeed.tech/tags/c.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp32c3](<https://devfeed.tech/tags/esp32c3.md>), [object](<https://devfeed.tech/tags/object.md>), [oop](<https://devfeed.tech/tags/oop.md>), [programming](<https://devfeed.tech/tags/programming.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

## AI overview

This tutorial explains how ESP-IDF applies object-oriented programming principles in C using structs, opaque pointers, handles, function pointers, and modular design. It also discusses encapsulation, reusable components, and examples involving HTTP servers and I²C buses.

## Source excerpt

This article explains how ESP-IDF brings object-oriented programming principles into C by using structs, opaque pointers, and handles to enforce encapsulation and modularity. It shows how components like HTTP servers and I²C buses are managed through handles that represent distinct objects for configuration and operation, and compares this approach to Python and C++.