K-VRC
    Hardware

    K-VRC

    Réplica física del personaje K-VRC de Love, Death & Robots. Incluye carcasa impresa en 3D, control de servos para movimiento, pantalla OLED para expresiones faciales, y capacidades de audio y visión controladas por Raspberry Pi Zero 2W.

    Python
    Robotics
    3D Printing
    Hardware

    ¿Qué es?

    Una réplica animatrónica de K-VRC, el robot del episodio Three Robots de Love, Death & Robots. Tiene carcasa impresa en 3D, se mueve con un servo, pone caras en una pantalla OLED, escucha y habla a través de un HAT de audio y lleva una cámara para tareas de visión. Todo lo gobierna una Raspberry Pi Zero 2W con Python.

    Le hablas y te contesta como K-VRC: transcribe lo que dices con Whisper, responde con la API de chat de OpenAI usando un prompt de personalidad y acompaña la respuesta con animaciones en la OLED y movimiento del servo.

    ¿Por qué lo hice?

    Soy fan de la serie y K-VRC es el robot perfecto para replicar: una forma sencilla de imprimir, una "cara" que cabe en una OLED y mucha personalidad. Además me permitía juntar en un único proyecto todo lo que me gusta hacer en mi tiempo libre: impresión 3D, electrónica, Python e IA conversacional.

    Antes de integrarlo todo fui sacando cada componente en un mini-repositorio propio (control de la OLED SSD1306, HAT de audio WM8960, cámara OV5647, servo, efectos LED). Eso me dio piezas probadas y reutilizables, y K-VRC es donde se juntan.

    Cómo funciona

    Hardware

    ComponenteFunción
    Raspberry Pi Zero 2WCerebro del robot, ejecuta todo el software
    Servo SG90Movimiento de cabeza/cuerpo (PWM por GPIO)
    OLED I2C (SSD1306)Expresiones faciales y estado
    WM8960 Audio HATEntrada de micrófono y salida de audio
    Cámara OV5647 (CSI)Captura de imagen para tareas de visión
    Fuente USB 5V/2AAlimentación

    La carcasa se imprime por partes (cabeza, cuerpo, patas) en PLA o ABS, con capa de 0,2 mm y en torno al 20 % de relleno, dejando hueco para el servo, la OLED y el cableado.

    Software

    El bucle principal (main.py) encadena estos pasos:

    1. Captura de audio en tiempo real y guardado en un WAV temporal.
    2. Detección de voz calculando el RMS de la grabación y comparándolo con un umbral de silencio configurable en config.py.
    3. Transcripción del audio con Whisper (API de OpenAI).
    4. Conversación con la API de chat de OpenAI, usando personality_system.txt como prompt de sistema para que responda como K-VRC.
    5. Salida: la respuesta se muestra y dispara animaciones en la OLED (OledFaceController) y movimientos del servo (servo_controller).

    El repo está organizado por módulos (chat/, face/, movement/, vision/, audio/, led/) con ejemplos independientes de cada uno, y los STL en 3D_Models/.

    Stack

    • Lenguaje: Python 3 sobre Raspberry Pi OS
    • Hardware: gpiozero / RPi.GPIO, Adafruit CircuitPython SSD1306, pyaudio
    • Visión: OpenCV, NumPy
    • IA: OpenAI Whisper (STT) y Chat API (personalidad)
    • Voz: pyttsx3 como TTS
    • Licencia: MIT

    Estado

    Activo. El robot funciona de principio a fin (hay demo en vídeo) y el repositorio sigue recibiendo cambios. Lo que tengo en la lista:

    • Sacar más partido a la cámara (detección de caras para que "mire" a quien le habla).
    • Más expresiones en la OLED y sincronizarlas mejor con el audio.
    • Una voz más parecida a la del personaje.

    Enlaces

    MakerIsland

    Construyendo tesoros digitales con código

    © 2026 Maker Island · hecho a mano, sin plantillasEl taller