node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org ยป


I2C Logo

ioBroker adapter for I2C

NPM version Downloads Travis GitHub issues

Communicates with devices connected to the local system using the I2C bus.

This adapter should work on Linux boards like the Raspberry Pi, C.H.I.P., BeagleBone or Intel Edison.


Before installing, please read the installation guide of the i2c-bus module.

Especially make sure, that you have properly configured and enabled I2C on your system (if needed):

After you have enabled and configured I2C, you can install this adapter via ioBroker Admin:

  1. Start the adapter (it must run for the discovery to work)
  2. Open instance config dialog
  3. Press the "Search Devices" button to discover all connected I2C devices - this will take some time, be patient!
  4. Configure all found devices in their respective tabs.
  5. Save the configuration (this will restart the adapter)


Bus Number

This is the number of the I2C bus/adapter to open, 0 for /dev/i2c-0, 1 for /dev/i2c-1, ...

On Raspberry Pi 3, this is "1".

Supported Devices

The following devices are currently supported. The numbers in parenthesis are the known addresses of the device in hexadecimal format (without the read bit).

MCP23017 16-Bit I/O Expander (20-27)

Not yet implemented.

PCF8574 8-Bit I/O Expander (20-27)

Not yet implemented.

PCF8574A 8-Bit I/O Expander (38-3F)

Not yet implemented.


Compatibility has been tested with Raspberry Pi 3.

Bug Reports and Feature Requests

Please use the GitHub repository to report any bugs or request new features.

If you require a missing devcies, please provide the type of IC (brand, model, ...) and its address(es) as reported in the adapter configuration.


  • Support interrupts instead of only polling for MCP23017 and PCF8574



  • (UncleSamSwiss) Added support for MCP23017.


  • (UncleSamSwiss) Added support for inverting PCF8574 inputs and outputs.


  • (UncleSamSwiss) Initial version


This project is based on the i2c-bus NPM module. Thanks to fivdi for his great modules!