IQS156 ProxSense capacitive touch sensor

The IQS156 ProxSenseâ„¢ IC is a fully integrated sensor with market leading sensitivity provides a minimalist implementation ready for use in a large range of applications specialized applications.

Main Features

  • 6 Channel input device
  • I2C data output
  • ATI: Automatic tuning to optimum sensitivity
  • Supply Voltage 3V to 5.5V
  • 8 Power Modes (6µA min)
  • Internal voltage regulator and
  • Large proximity detection range
  • Automatic drift compensation
  • Development and Programming tools available (VisualProxSense and USBP Small outline MSOP-10)

Applications

  • White goods and appliances
  • Office equipment, toys, sanitary ware
  • Flame proof, hazardous environment Human Interface Devices
  • Proximity detection that enables
  • Wake-up from standby applications
  • Replacement for electromechanical switches
  • GUI trigger on proximity detection

I2Cdevlib Device Source and Documentation

There is no library code or documentation for this device at this time.

Example Code

There is no available example code for this device at this time.

I2C Data Capture Dumps

Help and FAQ

There are no questions and answers given for this device at this time.

Do you have a question that isn't answered here or elsewhere in the source code, documentation, or examples for this device? Ask away!

Register Map

 R/WBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
[0x00] PRODUCT_NUM

Product Number (PRODUCT_NUM @ 0x00)

Register Bitfields

  • [7:0] PRODUCT_NUM
RO[7:0] PRODUCT_NUM

PRODUCT_NUM @ 0x00

PRODUCT_NUM [7:0]

Always 0x11 for IQS156.
[0x01] VERSION_NUM

Version Number (VERSION_NUM @ 0x01)

Register Bitfields

  • [7:0] VERSION_NUM
RO[7:0] VERSION_NUM

VERSION_NUM @ 0x01

VERSION_NUM [7:0]

Always 0x10 for IQS156.
[0x10] PROX_STATUS

Proximity System Status (PROX_STATUS @ 0x10)

Register Bitfields

  • [4] NP_SEGMENT
  • [3] LOW_POWER
  • [2] ATI_BUSY
  • [1] RF_NOISE
  • [0] ZOOM
RO [4] NP_SEGMENT[3] LOW_POWER[2] ATI_BUSY[1] RF_NOISE[0] ZOOM
[0x31] PROXIMITY_0RO[7] SHOW_RESET [0] CH0
[0x35] TOUCH_0RO [6] CH6[5] CH5[4] CH4[3] CH3[2] CH2[1] CH1 
[0x39] HALT_0RO [6] CH6[5] CH5[4] CH4[3] CH3[2] CH2[1] CH1[0] CH0
[0x3D] CHAN_NUM

Channel Number (CHAN_NUM @ 0x3D)

Register Bitfields

  • [7:0] CHAN_NUM
RO[7:0] CHAN_NUM

CHAN_NUM @ 0x3D

Channel Number (CHAN_NUM [7:0])

[0x42] CUR_SAMPLE_H

Current Sample High Byte (CUR_SAMPLE_H @ 0x42)

Register Bitfields

  • [15:0] CUR_SAMPLE - Current Sample
RO[15:0] CUR_SAMPLE

CUR_SAMPLE_H @ 0x42

Current Sample (CUR_SAMPLE [15:0])

[0x43] CUR_SAMPLE_L

Current Sample Low Byte (CUR_SAMPLE_L @ 0x43)

RO
[0x83] LT_AVG_H

Long-Term Average High Byte (LT_AVG_H @ 0x83)

Register Bitfields

  • [15:0] LT_AVG - Long-Term Average
RO[15:0] LT_AVG

LT_AVG_H @ 0x83

Long-Term Average (LT_AVG [15:0])

[0x84] LT_AVG_L

Long-Term Average Low Byte (LT_AVG_L @ 0x84)

RO
[0xC4] COMP_CH0

Channel 0 Compensation Setting (COMP_CH0 @ 0xC4)

Register Bitfields

  • [5:0] COMP - Compensation
R/W [5:0] COMP

COMP_CH0 @ 0xC4

Compensation (COMP [5:0])

Can set the current samples outside the ATI routine limit if "ATI OFF" is not set. This event will trigger re-ATI.
[0xC5] COMP_CH1

Channel 1 Compensation Setting (COMP_CH1 @ 0xC5)

Register Bitfields

  • [5:0] COMP - Compensation
R/W [5:0] COMP

COMP_CH1 @ 0xC5

Compensation (COMP [5:0])

Can set the current samples outside the ATI routine limit if "ATI OFF" is not set. This event will trigger re-ATI.
[0xC6] COMP_CH2

Channel 2 Compensation Setting (COMP_CH2 @ 0xC6)

Register Bitfields

  • [5:0] COMP - Compensation
R/W [5:0] COMP

COMP_CH2 @ 0xC6

Compensation (COMP [5:0])

Can set the current samples outside the ATI routine limit if "ATI OFF" is not set. This event will trigger re-ATI.
[0xC7] COMP_CH3

Channel 3 Compensation Setting (COMP_CH3 @ 0xC7)

Register Bitfields

  • [5:0] COMP - Compensation
R/W [5:0] COMP

COMP_CH3 @ 0xC7

Compensation (COMP [5:0])

Can set the current samples outside the ATI routine limit if "ATI OFF" is not set. This event will trigger re-ATI.
[0xC8] COMP_CH4

Channel 4 Compensation Setting (COMP_CH4 @ 0xC8)

Register Bitfields

  • [5:0] COMP - Compensation
R/W [5:0] COMP

COMP_CH4 @ 0xC8

Compensation (COMP [5:0])

Can set the current samples outside the ATI routine limit if "ATI OFF" is not set. This event will trigger re-ATI.
[0xC9] COMP_CH5

Channel 5 Compensation Setting (COMP_CH5 @ 0xC9)

Register Bitfields

  • [5:0] COMP - Compensation
R/W [5:0] COMP

COMP_CH5 @ 0xC9

Compensation (COMP [5:0])

Can set the current samples outside the ATI routine limit if "ATI OFF" is not set. This event will trigger re-ATI.
[0xCA] COMP_CH6

Channel 6 Compensation Setting (COMP_CH6 @ 0xCA)

Register Bitfields

  • [5:0] COMP - Compensation
R/W [5:0] COMP

COMP_CH6 @ 0xCA

Compensation (COMP [5:0])

Can set the current samples outside the ATI routine limit if "ATI OFF" is not set. This event will trigger re-ATI.
[0xCB] MULT_CH0

Multiplier Setting (MULT_CH0 @ 0xCB)

Register Bitfields

  • [4:3] SENS - Sensitivity Multiplier
  • [2:0] COMP - Compensation Multiplier
The Multiplier Setting register sets the Multiplier values for each channel, which determines the sensitivity, and compensation to reach ATI routine target.
R/W [4:3] SENS

MULT_CH0 @ 0xCB

Sensitivity Multiplier (SENS [4:3])

[2:0] COMP

MULT_CH0 @ 0xCB

Compensation Multiplier (COMP [2:0])

[0xCC] TTH_CH1

CH1 Touch Threshold (TTH_CH1 @ 0xCC)

Register Bitfields

  • [7:5] TTH
  • [4:0] MULT
R/W[7:5] TTH[4:0] MULT
[0xCD] TTH_CH2

CH2 Touch Threshold (TTH_CH2 @ 0xCD)

Register Bitfields

  • [7:5] TTH
  • [4:0] MULT
R/W[7:5] TTH[4:0] MULT
[0xCE] TTH_CH3

CH3 Touch Threshold (TTH_CH3 @ 0xCE)

Register Bitfields

  • [7:5] TTH
  • [4:0] MULT
R/W[7:5] TTH[4:0] MULT
[0xCF] TTH_CH4

CH4 Touch Threshold (TTH_CH4 @ 0xCF)

Register Bitfields

  • [7:5] TTH
  • [4:0] MULT
R/W[7:5] TTH[4:0] MULT
[0xD0] TTH_CH5

CH5 Touch Threshold (TTH_CH5 @ 0xD0)

Register Bitfields

  • [7:5] TTH
  • [4:0] MULT
R/W[7:5] TTH[4:0] MULT
[0xD1] TTH_CH6

CH6 Touch Threshold (TTH_CH6 @ 0xD1)

Register Bitfields

  • [7:5] TTH
  • [4:0] MULT
R/W[7:5] TTH[4:0] MULT
[0xD2] PROX_TH_CH0

Proximity Sensitivity Settings (PROX_TH_CH0 @ 0xD2)

Register Bitfields

  • [5:0] PROX_TH
R/W [5:0] PROX_TH
[0xD3] TTH_RANGE

Touch Treshold Range Selection (TTH_RANGE @ 0xD3)

Register Bitfields

  • [6] CH6
  • [5] CH5
  • [4] CH4
  • [3] CH3
  • [2] CH2
  • [1] CH1
R/W [6] CH6[5] CH5[4] CH4[3] CH3[2] CH2[1] CH1 
[0xD4] PROX_SETTINGS0

ProxSense Module Settings 0 (PROX_SETTINGS0 @ 0xD4)

Register Bitfields

  • [6] ATI_OFF
  • [5] PARTIAL_ATI
  • [1:0] BASE
R/W [6] ATI_OFF

PROX_SETTINGS0 @ 0xD4

ATI_OFF [6]

If this bit is set, the ATI routine will not be able to run.
[5] PARTIAL_ATI

PROX_SETTINGS0 @ 0xD4

PARTIAL_ATI [5]

Disables the Base bits to set the base value for the Prox Channel.
 [1:0] BASE

PROX_SETTINGS0 @ 0xD4

BASE [1:0]

Options

  • 0 = 200
  • 1 = 50
  • 2 = 150
  • 3 = 250
Controls the base value for the ATI routine of the Prox channel, if Partial ATI = 0.
[0xD5] PROX_SETTINGS1

ProxSense Module Settings 1 (PROX_SETTINGS1 @ 0xD5)

Register Bitfields

  • [5] ND_LEVEL
  • [4] ND_ON
  • [3] FORCE_HALT
  • [2] REDO_ATI
  • [1] RESEED
R/W [5] ND_LEVEL

PROX_SETTINGS1 @ 0xD5

ND_LEVEL [5]

Options

  • 0 = 25mV
  • 1 = 50mV
Selects the noise detect level.
[4] ND_ON

PROX_SETTINGS1 @ 0xD5

ND_ON [4]

Enables the noise detection.
[3] FORCE_HALT

PROX_SETTINGS1 @ 0xD5

FORCE_HALT [3]

Options

  • 0 = LTA normal
  • 1 = LTA halted
Forces the Long Term Average to stop being calculated.
[2] REDO_ATI

PROX_SETTINGS1 @ 0xD5

REDO_ATI [2]

Forces the ATI routine to run when a '1' is written into this bit position. ATI OFF in D4 should not be set.
[1] RESEED

PROX_SETTINGS1 @ 0xD5

RESEED [1]

All channels are reseeded when a '1' is written into this bit position. The LTA’s are set to 8 counts above the current samples.
 
[0xD6] PROX_SETTINGS2

ProxSense Module Settings 2 (PROX_SETTINGS2 @ 0xD6)

Register Bitfields

  • [7] ACK_RESET
  • [6] WDT_OFF
  • [5] SYNC_ON
  • [4:3] HALT
  • [2:0] LP
R/W[7] ACK_RESET

PROX_SETTINGS2 @ 0xD6

ACK_RESET [7]

Clears the "RESET" indication flag.
[6] WDT_OFF

PROX_SETTINGS2 @ 0xD6

WDT_OFF [6]

Disables the watchdog timer.
[5] SYNC_ON[4:3] HALT

PROX_SETTINGS2 @ 0xD6

HALT [4:3]

Options

  • 0 = 20 seconds
  • 1 = 40 seconds
  • 2 = Never
  • 3 = Permanent
Sets the Halt time for the LTA (time before recalibration).
[2:0] LP

PROX_SETTINGS2 @ 0xD6

LP [2:0]

Options

  • 0 = 9ms
  • 1 = 128ms
  • 2 = 256ms
  • 3 = 384ms
  • 4 = 512ms
  • 5 = 768ms
  • 6 = 1s
  • 7 = 2s
Controls the charge cycle time.
[0xD7] CHAN_ACTIVE

Channel Enable (CHAN_ACTIVE @ 0xD7)

Register Bitfields

  • [6] CH6
  • [5] CH5
  • [4] CH4
  • [3] CH3
  • [2] CH2
  • [1] CH1
  • [0] CH0
R/W [6] CH6[5] CH5[4] CH4[3] CH3[2] CH2[1] CH1[0] CH0
[0xD8] DEFAULT_COMMS_POINTERR/W[7:0] DEFAULT_COMMS_POINTER
[0xFC] DIRECT_ADDRR/W[7:0] DIRECT_ADDR
[0xFD] DIRECT_DATAR/W[7:0] DIRECT_DATA