porting over Arudino Interface to work with I2C