Git Product home page Git Product logo

esphome-capacitive-touch-panel's Introduction

esphome-capacitive-touch-panel

3d render 3d render

A DIY capacitive touch panel based on the mpr121. Consisting of two PCBs, the main PCB where all the logic is located such as the mpr121, an esp8266, a buzzer, and one PCB where the buttons are located. Both are connected using 12 pin headers.

construction

construction

Front panel PCB

construction

The front panel has 12 copper areas/pad on it for the individual buttons and can be customized for a different button layout. Each pad is connected through the pin headers with each one input to the mpr121 located on the logic PCB.

Logic module PCB

The logic module PCB houses the mpr121, a buzzer for optional auditory feedback and an esp8266 nodemcu.

Build your own

⚠️Disclaimer⚠️

Firstly at the moment, the panel has a bit of a learning curve and isn't 100% intuitive if you use it the first time, but you can get the hang of it fairly quickly and after that, nearly all your inputs are registered.

Secondly, this is the first "thing" that I created myself and published, also I am fairly new to all of this. I have nearly no experience in designing PCBs and do not really understand how capacitive touch recognition works. So I don't want to be responsible if you are going to build it yourself and can't guarantee that it works if you build it, but I am willing to help you to debug!

BOM

  • esp8266 NodeMCU Lolin
  • buzzer
  • MPR121 Breakout
  • Logic module & Front panel PCB
  • Glass / Acrylic Glass 100 x 100 x 2 mm
  • 12 Header pins

PCBs

If you don't want to order the PCBs yourself (I ordered them from jlcpcb), I have a few spare ones that I could sell you for cheap. If you are designing your own front panel PCB, I would be happy if you would share your design!

images

3d render 3d render

3d render 3d render

ko-fi

esphome-capacitive-touch-panel's People

Contributors

j-a-g-r avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

esphome-capacitive-touch-panel's Issues

Failed to communicate with MPR121

I have ordered all the parts to make the ESP8266 touch panel, including the custom PCBs from JLCPCB. Unfortunately, I am experiencing great difficulties getting the ESP8266 to recognize the MPR121. I receive the error Communication with MPR121 failed!. I have included all relevant information below:

Logs at the bottom

Components I have used:

Steps I have taken to troubleshoot so far:

  • Various combinations of ESPs and MPR121s
  • Reserved IP address for ESP
  • Soldering all connections
  • Using a breadboard to test the connections
  • Trying different pins on the ESP8266 to connect the SDA/SCL pins on the MPR121 (and updating the new pins in the code)

I am perplexed by this issue and hope someone can help. Thank you for your time.

Logs:

[I][app:029]: Running through setup()...
[I][i2c.arduino:161]: Performing I2C bus recovery
[C][esp8266_pwm:017]: Setting up ESP8266 PWM Output...
[C][mpr121:011]: Setting up MPR121...
[E][component:112]: Component mpr121 was marked as failed.
[C][wifi:037]: Setting up WiFi...
[D][wifi:373]: Starting scan...
[D][wifi:388]: Found networks:
[I][wifi:431]: - 'MyWifiName' [redacted]▂▄▆█
[D][wifi:433]:     Channel: 3
[D][wifi:434]:     RSSI: -57 dB
[I][wifi:431]: - 'MyWifiName' [redacted]▂▄▆█
[D][wifi:433]:     Channel: 3
[D][wifi:434]:     RSSI: -67 dB
[I][wifi:431]: - 'MyWifiName' [redacted]▂▄▆█
[D][wifi:433]:     Channel: 1
[D][wifi:434]:     RSSI: -78 dB
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[D][wifi:436]: - [redacted] [redacted]▂▄▆█
[I][wifi:248]: WiFi Connecting to 'MyWifiName'...
[I][wifi:505]: WiFi Connected!
[C][wifi:353]:   Local MAC: [redacted]
[C][wifi:354]:   SSID: [redacted]
[C][wifi:355]:   IP Address: 192.168.1.43
[C][wifi:356]:   BSSID: [redacted]
[C][wifi:358]:   Hostname: 'touchpanel3'
[C][wifi:360]:   Signal strength: -67 dB ▂▄▆█
[C][wifi:364]:   Channel: 3
[C][wifi:365]:   Subnet: 255.255.255.0
[C][wifi:366]:   Gateway: 192.168.1.1
[C][wifi:367]:   DNS1: 192.168.1.1
[C][wifi:368]:   DNS2: 0.0.0.0
[D][wifi:514]: Disabling AP...
[C][ota:085]: Over-The-Air Updates:
[C][ota:086]:   Address: touchpanel3.local:8266
[C][api:025]: Setting up Home Assistant API server...
[I][app:062]: setup() finished successfully!
[I][app:102]: ESPHome version 2022.6.2 compiled on Jul 20 2022, 16:08:51
[I][app:104]: Project jagr.touch_panel version 0.1
[C][wifi:491]: WiFi:
[C][wifi:353]:   Local MAC: [redacted]
[C][wifi:354]:   SSID: [redacted]
[C][wifi:355]:   IP Address: 192.168.1.43
[C][wifi:356]:   BSSID: [redacted]
[C][wifi:358]:   Hostname: 'touchpanel3'
[C][wifi:360]:   Signal strength: -67 dB ▂▄▆█
[C][wifi:364]:   Channel: 3
[C][wifi:365]:   Subnet: 255.255.255.0
[C][wifi:366]:   Gateway: 192.168.1.1
[C][wifi:367]:   DNS1: 192.168.1.1
[C][wifi:368]:   DNS2: 0.0.0.0
[C][logger:275]: Logger:
[C][logger:276]:   Level: DEBUG
[C][logger:277]:   Log Baud Rate: 115200
[C][logger:278]:   Hardware UART: UART0
[C][i2c.arduino:038]: I2C Bus:
[C][i2c.arduino:039]:   SDA Pin: GPIO0
[C][i2c.arduino:040]:   SCL Pin: GPIO4
[C][i2c.arduino:041]:   Frequency: 50000 Hz
[C][i2c.arduino:044]:   Recovery: bus successfully recovered
[I][i2c.arduino:054]: Results from i2c bus scan:
[I][i2c.arduino:056]: Found no i2c devices!
[C][esp8266_pwm:022]: ESP8266 PWM:
[C][esp8266_pwm:023]:   Pin: GPIO14
[C][esp8266_pwm:024]:   Frequency: 1000.0 Hz
[C][mpr121:064]: MPR121:
[C][mpr121:065]:   Address: 0x5A
[E][mpr121:068]: Communication with MPR121 failed!
[C][rtttl:018]: Rtttl
[C][captive_portal:088]: Captive Portal:
[C][mdns:084]: mDNS:
[C][mdns:085]:   Hostname: touchpanel3
[C][ota:085]: Over-The-Air Updates:
[C][ota:086]:   Address: touchpanel3.local:8266
[W][ota:094]: Last Boot was an unhandled reset, will proceed to safe mode in 7 restarts
[C][api:138]: API Server:
[C][api:139]:   Address: touchpanel3.local:6053
[C][api:143]:   Using noise encryption: NO

Contact details

Merry Christmas!

Sadly I didn't found any contact details of you. You wrote down, that you are selling some of the PCBs?

How can I contact you?
Can you tell me your mail address or something similar?

Thank you
Nico

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.