Capacitive Sense - mcaple/tmk_keyboard GitHub Wiki

Atmel QTouch

QTouch Library Peripheral Touch Controller: http://ww1.microchip.com/downloads/en/DeviceDoc/atmel-42195-qtouch-library-peripheral-touch-controller_user-guide.pdf

QMatrix

http://ww1.microchip.com/downloads/en/DeviceDoc/qmatrix_white_paper_100.pdf

http://ww1.microchip.com/downloads/en/DeviceDoc/qt60248_402.pdf

MEMO

Atmel QMatrix
Burst length
    number of charge pulses in a burst measurement
    Increasing BL increases signal resolution and sensitivity.
Sampling Resistor
    discharges Sampling Capacitor(Cs) and controls discharge slope.
    Increasing Rsmp increases sensitivity.   
X-Y 
    X transmitter, burst, drive line         
    Y receiver, sense line                   
    YA port: charge transfer control(top)   
    YB port: ADC mux input(bottom)           
self/mutual capacitance sense               
    self                                     
    mutual
ATMEL QTouch Library                         
    supports GCC tool chain                 
    works with AVR with 2K flash(QTouch only)
QTouch                                       
    self                                     
    a button per two pins                   
QMatrix                                     
    mutual                                   
    http://www.atmel.com/products/TouchSolutions/bsw/qmatrix.aspx
QTouchADC                                   
    QTouchADC only requires 1-series resistor and 1-pin per channel. No other external components are required.
    QTouchADC offers faster acquisition times with shorter burst lengths, resulting in lower power consumption.
    Also can be used promixity sensing.     
    http://www.atmel.com/products/TouchSolutions/bsw/qtouchadc.aspx
Charge transfer                             
QTouch Composer                             
    extension for Atmel Studio 6             
                                             
                                             
3.3 Tracking Base Capacitance Value         
http://www.ti.com/lit/an/slaa379/slaa379.pdf
TI explains a patent expired method here. (not mutual sensing)
                                             
Calibrating                                 
    compensate capacitance drift             
http://www.embedded.com/design/prototyping-and-development/4008781/Getting-in-touch-with-capacitance-sensor-algorithms

QTouch and QMatrix Sesitivity Tuning: http://www.atmel.com/images/qtan0062.pdf
    X-Y electrode design(capacitance)       
    Bust length                             
    Sampling Capacitor Cs = 4.7-10nF         
    Sampling Resistor Rsmp = 470K(220K-1M)Ohm
Sensor Design Guide                         
    http://www.atmel.com/images/doc10752.pdf
Promixity sensing                           
    http://www.atmel.com/Images/doc10760.pdf
    QTouch 180mm                             
    QTouchADC 250mm                         
    QMatrix 50mm

Arduino Library

A QTouch-compatible library for SAMD: https://github.com/adafruit/Adafruit_FreeTouch

Disscussion: https://forums.adafruit.com/viewtopic.php?f=8&p=610501

Keyboard controller using QMatrix

https://geekhack.org/index.php?topic=76040.0

source code: https://github.com/tmk/capsense_qmatrix

Topre capsense TP1684

This is resource for analyze Topre capsense method(TP1684).

Waveforms of TP1684 and signal charts of scan switches. http://imgur.com/a/jat2a

Resources

mTouch Theory
http://ww1.microchip.com/downloads/en/DeviceDoc/93064A.pdf

Capacitive sensing library for Arduino
http://playground.arduino.cc/Main/CapacitiveSensor?from=Main.CapSense

How Oscilloscope Probes Affect Your Measurement Input capacitance of Probes really affect circuit of capacitive sensor. http://www.tek.com/dl/51W_30013_0_MR_Letter_0.pdf

Analog Devices CapTouch
http://www.analog.com/media/en/technical-documentation/data-sheets/AD7147.pdf

IBM patent: Keyboard multiple switch assembly: http://www.google.co.ug/patents/US4274752

xwhatsit's explanation on IBM method: http://deskthority.net/f-o-r-s-a-l-e-f58/xwhatsit-s-grand-unified-ibm-capsense-usb-controller-thread-t7993-120.html#p165846

Model F keyboards and the 8048 http://www.halicery.com/Hardware/Intel%208042%20and%208048/Notes%20on%20IBM%20Model%20F%20Keyborads.html

xwhatsit's Grand Unified IBM Capsense USB controller thread: https://geekhack.org/index.php?topic=58138.0

Designing a custom Topre board(attheicearcade): http://deskthority.net/workshop-f7/designing-a-custom-topre-board-t11734.html

DPH capsense controller: https://geekhack.org/index.php?topic=52922.0