mirror of
https://github.com/nopnop2002/esp-idf-mpr121.git
synced 2025-12-16 17:34:31 +03:00
664a93ac09dd35f825086d16809f0870903b140e
esp-idf-mpr121
MPR121 Capacitive Touch Driver for esp-idf.
I ported from here.
Software requirements
ESP-IDF V4.4/V5.x.
ESP-IDF V5.0 is required when using ESP32-C2.
ESP-IDF V5.1 is required when using ESP32-C6.
Hardware requirements
MPR121 Capacitive Touch switch.
Installation
git clone https://github.com/nopnop2002/esp-idf-mpr121
cd esp-idf-mpr121
idf.py set-target {esp32/esp32s2/esp32s3/esp32c2/esp32c3/esp32c6}
idf.py menuconfig
idf.py flash
Configuration
Wirering
| MPR121 | ESP32 | ESP32-S2/S3 | ESP32-C2/C3/C6 | |
|---|---|---|---|---|
| SCL | -- | GPIO19 | GPIO12 | GPIO6 |
| SDA | -- | GPIO18 | GPIO11 | GPIO5 |
| IRQ | -- | GPIO15 | GPIO18 | GPIO4 |
| GND | -- | GND | GND | GND |
| VCC | -- | 3.3V | 3.3V | 3.3V |
__Note:__It is recommended to add external pull-up resistors for SDA/SCL pins to make the communication more stable, though the driver will enable internal pull-up resistors.
You can change it to any pin using menuconfig.
Screen Shot
Supports multiple simultaneous touches.
I (55786) MAIN: electrode 0 was just touched
I (55786) MAIN: electrode 1 was just touched
I (55786) MAIN: electrode 2 was just touched
I (55786) MAIN: electrode 3 was just touched
I (58446) MAIN: electrode 0 was just released
I (58446) MAIN: electrode 1 was just released
I (58446) MAIN: electrode 2 was just released
I (58446) MAIN: electrode 3 was just released
How to use this component in your project
Create idf_component.yml in the same directory as main.c.
YourProject --+-- CMakeLists.txt
+-- main --+-- main.c
+-- CMakeLists.txt
+-- idf_component.yml
Contents of idf_component.yml.
dependencies:
nopnop2002/mpr121:
path: components/mpr121
git: https://github.com/nopnop2002/esp-idf-mpr121.git
When you build a projects esp-idf will automaticly fetch repository to managed_components dir and link with your code.
YourProject --+-- CMakeLists.txt
+-- main --+-- main.c
| +-- CMakeLists.txt
| +-- idf_component.yml
+-- managed_components ----- nopnop2002__mpr121
Reference
Languages
C
98.8%
CMake
1.1%
Makefile
0.1%
