Note this guide was written for MicroPython.org firmware and not Adafruit CircuitPython firmware. This guide is not maintained and is probably no longer working! We're only maintaining CircuitPython libraries at this time, but you can run CircuitPython libraries on MicroPython using Adafruit_Blinka - check that out here https://github.com/adafruit/Adafruit_Blinka

Some MicroPython boards support the ability to act as an I2C 'secondary' or peripheral.  This means they can be assigned an I2C address and listen for requests from other I2C devices.  You could use this for example if you're creating a sensor in MicroPython that exposes its data to other boards with I2C.

Currently the pyboard is the only board that supports I2C secondary mode.  In particular the ESP8266 MicroPython port does not currently support I2C secondary mode.  Check out the pyboard documentation for more details on I2C secondary mode usage.

This guide was first published on Sep 14, 2016. It was last updated on Mar 08, 2024.

This page (I2C Secondary) was last updated on Mar 08, 2024.

Text editor powered by tinymce.