X10 (工業規格)
60 Hz の交流電源では、電圧波形がゼロと交差するポイント(位相が 0°の時点だが、それを含む200μ秒の期間)で 120kHz のバーストを 1ミリ秒間乗せることで '1' を表現し、直後にパルスのない期間を設ける。'0' を表す場合は逆にゼロ交差ポイントでパルスのない期間を設け、その直後にパルスを乗せる。さらに確実性を増すため、メッセージは常に2回送信される。ライン制御なども考慮すると、データ転送レートは約 20 ビット毎秒となる。このように X10 は非常に低速であるため、機器の電源ON/OFFなどの非常に簡単な制御だけを行うようになっている。
メッセージ(パケット)の開始を示すため、データフレームの前には必ず start code と呼ばれるパルス列(パルス、パルス、パルス、パルス無し、すなわち 1110)が送られる。その直後に letter code/house code (A-P) が送られ、function code が送られる。function code は unit code を指定する場合と command を指定する場合があり、最後のビットが '0' ならば unit code、'1' ならば command を表す。start code、letter code、function code の列が X10 の frame であり、データパケットの最小単位となる。
メッセージは常に2回送られ、ノイズによって受信できない場合に対処している。
アドレスからアドレス、アドレスからコマンド、コマンドからコマンドへと移る際、データフレームは 6 個のゼロ("000000")で明確に分離される。これにより受信側デコーダのシフトレジスタがリセットされる。