# Introducing ESP-IDF button component

DevFeed: [Introducing ESP-IDF button component](<https://devfeed.tech/articles/introducing-esp-idf-button-component-13748.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/02/component-introduction-button/>)

Author: John Lee

Published: 2026-02-18T00: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>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [ESP32](<https://devfeed.tech/topics/esp32.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [adc](<https://devfeed.tech/tags/adc.md>), [blog](<https://devfeed.tech/tags/blog.md>), [callback](<https://devfeed.tech/tags/callback.md>), [community-software](<https://devfeed.tech/tags/community-software.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp-idf-component](<https://devfeed.tech/tags/esp-idf-component.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [examples](<https://devfeed.tech/tags/examples.md>), [gpio](<https://devfeed.tech/tags/gpio.md>), [home-automation](<https://devfeed.tech/tags/home-automation.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [iot](<https://devfeed.tech/tags/iot.md>), [practitioner](<https://devfeed.tech/tags/practitioner.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [wi-fi](<https://devfeed.tech/tags/wi-fi.md>)

## AI overview

This tutorial introduces the ESP-IDF button component and shows how to handle physical buttons in ESP32 projects. It covers GPIO buttons, ADC button matrices, event detection, software debouncing, callbacks, thread safety, low-power support, and a basic GPIO example.

## Source excerpt

Learn how to use the ESP-IDF button component to handle GPIO buttons with event detection, debouncing, and callbacks. A step-by-step guide with practical code examples.