Documentation to set up Boron as an i2c slave to access LTE modem

I am new to the particle platform and am trying to figure out how to set up the Boron as an I2C slave so that I can use it as a modem to my Adafruit Feather M0.

First, is this possible?

If so, I haven’t found documentation that helps me understand what firmware needs to be loaded on the Boron to enable this. I found a link to I2CSlaveRK, but it doesn’t mention the overall firmware load. It is also over 2 years old, so I want to verify that it works on the Boron.

Any suggestions or guidance are welcome. Or, if there are examples to follow that would be even better.


As an aside… why would you want to use the Boron as a peripheral to a feather, when the Boron itself has a controller you can use as well?

Yes, this question came up before in another thread I found. In my case I intend to use Azure IoT Hub and don’t want to use the Particle service as an intermediary. As far as I can tell, I can’t use the Azure libraries on this platform.

So while the Boron may have plenty of power and capability, the other issue supersedes it in my case.

If I’m looking at it incorrectly, I’m definitely open to change.

As a secondary issue, I don’t like the Particle Web IDE and VS Code is unnecessarily complicated for my simple needs vs the Arduino IDE.

Setting up a Boron as I2C slave doesn’t involve a lot more than Wire.begin(desiredAddress) and registering two callback functions via Wire.onReceive() and Wire.onRequest().

But on the way you may run into this issue

However, you won’t be able to directly access the LTE modem. You’d need to go through the means provided via the communication objects provided via device OS and once you got that sorted, you’d be able to run the Azure IoT Hub stuff on the Boron itself already.