Il protocollo x10 utilizza la linea elettrica come mezzo di comunicazione.
Le trasmissioni x10 sono sincronizzate per lo zero crossing della tensione alternata.
L'obbiettivo potrebbe essere quello trasmettere il più vicino possibile al punto di zero crossing, all'interno dei 200 microsecondi.
I dispositivi X-10 riconoscono quando trasmettere o ricevere le informazioni X-10, verificando il passaggio per lo zero.
Un “1” binario è rappresentato da un burst di 1 millisecondo di durata, alla frequenza di 120 Khz.
Uno “0” binario è rappresentato dall'assenza di un burst di 120 Khz di frequenza.
Questi burst da 1 millisecondo potrebbero essere trasmessi 3 volte, prima di essere perfettamente sincronizzati col punto di zero crossing.
Un messaggio x10 completo è composto da uno start code (1110), seguito da l'house code, dal key code e da un suffisso.
Il messaggio può essere : messaggio indirizzo o messaggio comando; la tipologia è definita dal key code, che può essere sia un indirizzo di unità che un codice di funzione.
Un messaggio indirizzo definisce l'indirizzo per l'unità, a seconda del key code (che in questo caso è un indirizzo); un messaggio comando definisce quale operazione deve svolgere l'unità indirizzata.
Per trasmettere l'house code e il key code sono neccessari due zero crossing, per trasmettere ogni bit sotto forma di coppia complementare.
Ad esempio se si vuole trasmettere l'house code B, che è rappresentato come 1110, il codice trasmesso è 11100001, poichè è composto da una coppia complementare di bit.
Lo start code viene invece trasmesso originale, viene rappresentato con 1110.
Il Key code è composto da 5 bit, utilizza 10 bit per la trasmissione come coppia complementare.
L'ultimo bit del key code è sempre 1 per l'indirizzo e 0 per il codice di funzione, dunque quest'ultimo bit può essere utilizzato come suffisso che permette il riconoscimento del codice chiave come indirizzo o codice di funzione.
Una completa trasmissione di codice è composta da 11 cicli di tensione, i primi 2 cicli rappresentano lo start code, i successivi 4 l'house code e gli ultimi 5 rappresentano entrambe indirizzo e codice di funzione.
Ogni messaggio è trasmesso 2 volte, e tra le 2 trasmissioni passano 6 zero crossing, ossia 3 cicli completi di tensione.
Bright e dim sono eccezioni, e non effettuano pause durante la trasmissione, vengono trasmessi consecutivamente senza che si attendano i 6 zero crossig.
Proprio per questa ridondanza di trasmissione, il protocollo x10 è abbastanza sicuro ma lento, infatti è poco adatto per applicazioni che neccessitano la velocità di trasmissione, come applicazioni audio o video.
Stato dell'arte sulle applicazioni e il software disponibile su Linux per interfacciarsi e gestire sistemi domotici basati sullo standard X10