K-VRC
    Hardware

    K-VRC

    A physical replica of K-VRC from Love, Death & Robots. Features a 3D-printed shell, servo-driven movement, an OLED display for facial expressions, and audio/vision capabilities powered by a Raspberry Pi Zero 2W.

    Python
    Robotics
    3D Printing
    Hardware

    What is it?

    An animatronic replica of K-VRC, the robot from the Three Robots episode of Love, Death & Robots. It has a 3D-printed shell, moves with a servo, pulls faces on an OLED display, listens and talks through an audio HAT, and carries a camera for vision tasks. Everything runs on a Raspberry Pi Zero 2W with Python.

    You talk to it and it answers as K-VRC: it transcribes what you say with Whisper, replies through the OpenAI chat API using a personality prompt, and pairs the answer with OLED animations and servo movement.

    Why I built it

    I'm a fan of the show, and K-VRC is the perfect robot to replicate: a simple shape to print, a "face" that fits on an OLED, and plenty of personality. It also let me put everything I enjoy doing in my spare time into one project: 3D printing, electronics, Python and conversational AI.

    Before integrating it all, I built each component in its own small repo (SSD1306 OLED control, WM8960 audio HAT, OV5647 camera, servo, LED effects). That gave me tested, reusable pieces, and K-VRC is where they all come together.

    How it works

    Hardware

    ComponentRole
    Raspberry Pi Zero 2WBrain of the robot, runs all the software
    SG90 servoHead/body movement (GPIO PWM)
    I2C OLED (SSD1306)Facial expressions and status
    WM8960 Audio HATMicrophone input and audio output
    OV5647 camera (CSI)Image capture for vision tasks
    5V/2A USB supplyPower

    The shell is printed in parts (head, body, legs) in PLA or ABS, 0.2 mm layers and around 20% infill, leaving room for the servo, the OLED and the wiring.

    Software

    The main loop (main.py) chains these steps:

    1. Audio capture in real time, saved to a temporary WAV file.
    2. Voice detection by computing the RMS of the recording and comparing it against a silence threshold configurable in config.py.
    3. Transcription with Whisper (OpenAI API).
    4. Conversation through the OpenAI chat API, using personality_system.txt as the system prompt so it answers as K-VRC.
    5. Output: the reply is shown and triggers OLED animations (OledFaceController) and servo movements (servo_controller).

    The repo is organised by modules (chat/, face/, movement/, vision/, audio/, led/), each with standalone examples, plus the STL files in 3D_Models/.

    Stack

    • Language: Python 3 on Raspberry Pi OS
    • Hardware: gpiozero / RPi.GPIO, Adafruit CircuitPython SSD1306, pyaudio
    • Vision: OpenCV, NumPy
    • AI: OpenAI Whisper (STT) and Chat API (personality)
    • Voice: pyttsx3 for TTS
    • License: MIT

    Status

    Active. The robot works end to end (there's a video demo) and the repo still gets updates. On my list:

    • Get more out of the camera (face detection so it "looks" at whoever is talking).
    • More OLED expressions, better synced with the audio.
    • A voice closer to the character's.

    Links

    MakerIsland

    Building digital treasures with code

    © 2026 Maker Island · handmade, no templatesThe workshop