Skip to content

Support I2C slave mode #2482

@renne

Description

@renne
  • What hardware you are using
    Ai Thinker ESP8266-12F

The WiFi of the ESP8266 is great if you don't want to install cables. Like all radio systems it is not tamper-free and can be disabled by jammers e.g. sending disconnect packets. For security appliances good old cables are necessary. On my search for an easy to install bus system I realized only differential buses are reliable and I wanted to use a CAN bus. The drawback: CAN controllers usually use SPI which costs a lot of GPIOs on the ESP8266. So why not use the I2C as a long range bus system? Just connect a CAN-transceiver to SDA and SCL on the ESP8266 and I2C can handle long distances e.g. in a house.

As there should be only one master on an I2C bus I suggest to support I2C slave mode in Tasmota. That way Tasmota can use WiFi for non-critical high-volume data (e.g. environment sensors) and differential I2C for critical low-volume data (e.g. door/window contacts, motion detectors, glass breakage detectors, smoke detectors, gas detectors, ...).

NXP Application note AN10364 chapter 2. Using a differential signal technique to carry the SDA and SCL signals
Expressif forum discussion
esp8266/Arduino Support for I2C slave mode issue
esp8266/Arduino repository pull request

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleAction - Issue left behind - Used by the BOT to call for attention

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions