A method for sending messages from a first device to a second device via an intermediate device, wherein the first and second devices communicate using first and second communication protocols respectively, the first and second communication protocols being different, the method comprising: initializing a first port at the intermediate device for communicating with the first device using the first communication protocol; initializing a second port at the intermediate device for communicating with the second device using the second communication protocol; sending any first messages received at the first port from the first device to the second port for translation into the second communication protocol and transmission to the second device; translating any second messages received at the second port from the second device from the second communication protocol to the first communication protocol and sending the translated messages to the first port for transmission to the first device; wherein the second communication protocol comprises the Inter-Integrated Circuit, I 2 C, communication protocol; wherein to facilitate communication with the second device, the method further comprises defining a START bit at the intermediate device, wherein a previous start value of the START bit in a previous frame of the first communication protocol and a current start value of the START bit in a current frame of the first communication protocol are used together to indicate four states of functionality for an I 2 C bus; wherein to prepare communication with the second device, the method further comprises using a next transaction field of the first communication protocol to indicate what data is to be transferred in a next command in a next frame of the first communication protocol, thereby increasing transfer speed; and wherein the combination of the previous start value of the START bit, the current start value of the START bit and the next transaction field are used to define different sequences of I 2 C bus messages to be sent on the I 2 C bus. initializing a first port at the intermediate device for communicating with the first device using the first communication protocol; initializing a second port at the intermediate device for communicating with the second device using the second communication protocol; sending any first messages received at the first port from the first device to the second port for translation into the second communication protocol and transmission to the second device; translating any second messages received at the second port from the second device from the second communication protocol to the first communication protocol and sending the translated messages to the first port for transmission to the first device; wherein the second communication protocol comprises the Inter-Integrated Circuit, I 2 C, communication protocol; wherein to facilitate communication with the second device, the method further comprises defining a START bit at the intermediate device, wherein a previous start value of the START bit in a previous frame of the first communication protocol and a current start value of the START bit in a current frame of the first communication protocol are used together to indicate four states of functionality for an I 2 C bus; wherein to prepare communication with the second device, the method further comprises using a next transaction field of the first communication protocol to indicate what data is to be transferred in a next command in a next frame of the first communication protocol, thereby increasing transfer speed; and wherein the combination of the previous start value of the START bit, the current start value of the START bit and the next transaction field are used to define different sequences of I 2 C bus messages to be sent on the I 2 C bus.