Un padre convirtió un robot de juguete de 10 euros en un asistente de voz controlado por un modelo de lenguaje, con el objetivo de ofrecer a sus hijos y a otros niños del barrio una experiencia interactiva y un proyecto STEM. La idea surgió en una juguetería, cuando el autor —que ya experimentaba con agentes, LLM, speech-to-text y text-to-speech— vio una sección de robots de bajo coste.
El modelo elegido fue el Silverlit YCOO NEO OCTOBOT, un pequeño robot octópodo con mando infrarrojo que gira la cabeza, avanza y tiene un modo 'baile'. Al desmontarlo, el autor descubrió que la anunciada matriz de LED eran en realidad unos pocos LED RGB detrás de una pieza translúcida impresa con un patrón de píxeles. La placa de circuito resultó ser de una sola capa, con un único circuito integrado principal que controla un puente H para el motor y un receptor de infrarrojos.
La parte más ingeniosa, según explica, es el diseño mecánico: un único motor se encarga tanto de caminar como de girar la cabeza, ya que dos juegos de engranajes se acoplan según el sentido de giro. Para reutilizar el robot, eliminó el chip original con una pistola de aire caliente a 250 °C y soldó dos cables a los pines del controlador del motor.
El 'cerebro' del nuevo robot es un portátil que ejecuta el LLM, el reconocimiento y la síntesis de voz y el agente conversacional. El teléfono del usuario hace de pantalla, micrófono y altavoz, conectado al portátil por USB mediante una placa Adafruit FT232H, que permite controlar el motor por software. Toda la pila está escrita en TypeScript, con el servidor en Node y el cliente como una página web, lo que permite usarlo en cualquier navegador salvo Safari en iOS, ya que Apple no implementa WebUSB.
El objetivo de UX es un asistente de voz amable, no adulatorio, con el que los niños puedan hablar de forma natural: hacer preguntas, pedir chistes o cuentos, buscar en internet, hacer fotos para que el robot lea textos en voz alta, reproducir música en Spotify y, por supuesto, moverlo. El autor también quiere que el robot recuerde conversaciones pasadas y que todos los modelos de IA se ejecuten en local para preservar la privacidad de los niños.
