En este tipo de robots, el programa de control no está en el propio robot, sino que la placa controladora está permanentemente conectada a la PC (via USB, o serial, o en forma inalámbrica), y está ejecutando un programa que se está comunicando en forma permanente con la PC. Ese programa toma lecturas periódicas de los sensores y los envía hacia la PC, y está a la escucha de los comandos que pudieran venir desde la PC para aplicarlos a los actuadores. En la PC se está ejecutando otro programa (en principio realizado en cualquier lenguaje) que contiene la lógica del robot y que interacciona con la placa controladora via el canal de comunicación abierto. Por otro lado, ese programa en la PC tiene acceso a todos los recursos de la PC (teclado, pantalla, impresora, red, etc.) y puede interaccionar con el usuario con una interfaz gráfica o de linea de comandos.
Para la comunicación entre ambos programas pueden usarse protocolos estándares como el Firmata, que facilitan el desarrollo de robots esclavos ya que el programa que va en la placa controladora ya está desarrollado y es siempre el mismo.
Desde Arduino se propone el uso de Processing que está desarrollado en Java (en realidad el Arduino IDE es una derivación del propio Processing).
Para el modo esclavo existen varios proyectos basados en las ideas e interfaz propuesta por Scratch. Uno es el Scratch for Arduino S4A que necesita colocar un programa propio en la controladora Arduino que será esclava de la PC. El otro proyecto basado en Scratch, es el Scratch To Arduino S2A que usa el programa (y protocolo) Firmata en la controladora Arduino. Este último proyecto S2A tiene la ventaja frente al S4A que el programa Firmata está incluido por defecto en la instalación del Arduino IDE, lo que facilita el pasar al modo "esclavo" y volver del mismo cuando se desee.
Además existe el proyecto Snap! que es muy similar a Scracth, pero con la gran ventaja de estar basado en tecnología web estándar (JavaScript). En este sentido es de destacar que el proyecto Scratch al parecer no tiene una línea tecnológica bien definida, ya que las últimas versiones 2.x están basadas en una tecnología completamente diferente que el de las versiones 1.x.