#include void setup() { Wire.begin(8); // join i2c bus with address #8 Serial.begin(9600); // start serial for output Wire.onRequest(requestEvent); // register event } void loop() { delay(100); } // function that executes whenever data is requested by master // this function is registered as an event, see setup() void requestEvent() { Serial.println("received a request from I2C"); Wire.write("hello "); // respond with message of 6 bytes // as expected by master Serial.println("Sent complete"); }