Il existe des modules contrôleurs et d'autres récepteurs.
Les modules contrôleurs permettent d'envoyer des ordres en X10 sur le réseau filaire à destination des récepteurs : centrale domotique, récepteur radio convertissant les ordres radio en X10, interface informatique (PC en USB ou série), programmateur horaire, module universel (contact sec pour capteur), module d'échange pour les systèmes non X10, etc.
Les modules récepteurs reçoivent les ordres X10 et actionnent l'élément raccordé (lumière, volet, chauffage ou tout appareil sur une prise X10 tel que cafetière, machine à laver...). Ces modules peuvent prendre la forme d'une sur-prise type prise contre la foudre (pour les appareils et les lumières), d'une douille, d'un interrupteur mural (lumière, volet), d'un module encastrable derrière un interrupteur existant, et même de module rail DIN à installer dans le tableau électrique (télécontacteur, télévariateur).
Les modules récepteurs sont adressables : l'adresse est constituée d'un code « maison » (A à P) et d'un code « unité » (1 à 16). Plusieurs récepteur peuvent avoir la même adresse afin de les actionner en même temps. On peut avoir jusqu'à 256 adresses différentes.
Il existe également d'autres modules spécialisés pour certaines fonctions sur les ordres X10 : filtres, coupleurs de phase, répéteurs...
Le module interface informatique permet également de faire des programmations horaires et d'enregistrer des commandes « macro » en mémoire non volatile (suite de commande simple, par exemple fermer le volet 1 puis le volet 2). Ce module fonctionne même PC éteint.