# Porting a library to an ESP-IDF component

DevFeed: [Porting a library to an ESP-IDF component](<https://devfeed.tech/articles/porting-a-library-to-an-esp-idf-component-13732.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2025/10/porting-external-library-as-component/>)

Author: John Lee

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

Content type: tutorial

Language: en

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

Topics: [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [Library](<https://devfeed.tech/topics/library.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Code](<https://devfeed.tech/topics/code.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Template](<https://devfeed.tech/topics/template.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [blog](<https://devfeed.tech/tags/blog.md>), [build](<https://devfeed.tech/tags/build.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [code](<https://devfeed.tech/tags/code.md>), [component](<https://devfeed.tech/tags/component.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp-idf-component](<https://devfeed.tech/tags/esp-idf-component.md>), [esp-idf-extension-for-vs-code](<https://devfeed.tech/tags/esp-idf-extension-for-vs-code.md>), [esp32-c3](<https://devfeed.tech/tags/esp32-c3.md>), [esp32c3](<https://devfeed.tech/tags/esp32c3.md>), [github](<https://devfeed.tech/tags/github.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [porting](<https://devfeed.tech/tags/porting.md>), [repo](<https://devfeed.tech/tags/repo.md>), [testing](<https://devfeed.tech/tags/testing.md>)

## AI overview

This tutorial explains how to port an external library into a reusable ESP-IDF component. Using tinyexpr, it covers obtaining the source code, creating a test project and component, configuring the build system, resolving compatibility issues, and testing on an ESP32-C3 board.

## Source excerpt

This article shows how to port an external library into an ESP-IDF project by converting it into a reusable component. Using tinyexpr as an example, it covers obtaining the source code, creating a new project, building a component, configuring the build system, and testing on hardware.