Use Cases
External Contact
The ioButton (only the LoRaWAN version) supports connecting an external dry contact between GND and SDA/GPIO1.
The input behavior depends on whether the contact is configured as Normally Open (NO) or Normally Closed (NC):
- NO contact: the input is internally pulled up continuously and reacts immediately when the contact is closed.
- NC contact: the input is normally polled at a configurable interval to reduce power consumption. This increases the reaction time.
- Disable low-power polling: for NC contacts, polling can be disabled so that the input reacts immediately.
- NO contact held closed: if an NO contact remains closed continuously, the ioButton automatically switches to polling mode after a configurable number of uplinks. When the contact opens again, the device automatically returns to immediate detection.
Connecting the External Contact
The pin header (J2, screw terminal) has the following layout. The pin assignment is also marked on the PCB.
| Pin | Function |
|---|---|
| 1 | GND |
| 2 | SCL / GPIO0 |
| 3 | SDA / GPIO1 |
| 4 | VCC |
For an external NO (Normally Open) or NC (Normally Closed) contact, use:
| Pin | Connection |
|---|---|
| 1 | GND |
| 3 | SDA / GPIO1 |
Important: Connect the external contact only between GND (pin 1) and SDA/GPIO1 (pin 3). Do not connect the contact to VCC.
Configuration
The following configurations are recommended best practices for common use cases.
NO Contact
Recommended for battery-powered applications.
- Open the ioTracker Configurator.
- Go to Detection switch.
- Set Active to
true. - Keep the remaining settings at their default values.
This configuration provides immediate detection when the NO contact is closed while keeping power consumption low.
NC Contact Without External Power
Use this configuration when the NC contact is not powered externally and battery life is important.
- Open the ioTracker Configurator.
- Go to Detection switch.
- Set Active to
true. - Set Normally closed input to
true. - Set Poll time in seconds to
20.
The input is checked every 20 seconds. This reduces power consumption but means that a change in the contact state may take up to the configured polling interval to be detected.
NC Contact With External Power
Use this configuration when the NC contact is externally powered and immediate detection is required.
- Open the ioTracker Configurator.
- Go to Detection switch.
- Set Active to
true. - Set Normally closed input to
true. - Set Disable low-power polling to
true.
With low-power polling disabled, the input is monitored continuously and changes to the contact state are detected immediately.
Configuration Overview
| Use case | Active | Normally closed input | Poll time | Disable low-power polling |
|---|---|---|---|---|
| NO contact | true |
false |
Default | false |
| NC contact without external power | true |
true |
20 s |
false |
| NC contact with external power | true |
true |
Not relevant | true |
Power Consumption and Reaction Time
There is a trade-off between power consumption and reaction time:
- Continuous monitoring provides the fastest reaction time but consumes more power.
- Low-power polling reduces power consumption but introduces a delay before a contact change is detected.
- For battery-powered devices, use an NO contact where possible.
- For an NC contact, use low-power polling unless immediate detection is required and the available power budget allows continuous monitoring.
Automatic Polling for a Permanently Closed NO Contact
An NO contact is normally monitored continuously. However, if the contact remains closed for a configurable number of uplinks, the ioButton automatically switches to polling mode.
This prevents a permanently closed contact from causing unnecessary power consumption.
As soon as the contact opens again, the ioButton automatically returns to its normal continuous-monitoring behavior. The next time the contact closes, detection is therefore immediate.