Experience Co-founder and CEO, Munchkin LLC

Munchkin Robotics

An open-source robotic feeding device for people with limited upper-body mobility: a 4-DOF arm, camera-based mouth tracking and an automatic utensil changer.

– present Olin College Munchkin LLC, Boston, MA
Interviewed with Y Combinator Olin SAG and SEED grants In development

V1 demo. The arm scoops food and brings it to the tracked position of the user's mouth.

Munchkin is a robotic feeding device for people with limited upper-body mobility. A depth camera and MediaPipe track the user's mouth, and a 4-DOF arm brings each bite to it. The V1 parts cost is under $600 and the design is open-source. I co-founded and registered Munchkin LLC with Dhvan Shah and am its CEO. We secured Olin SAG and SEED grant funding to build the prototypes, brought on two investors, and interviewed with Y Combinator.

Overview

The tracking puts the food where the user's mouth actually is, and open/closed detection lets the user set the pace. Olin College funded the project with a SAG Grant for prototyping and a SEED Grant for continued development. We have since formed Munchkin LLC, licensed in Massachusetts, to run structured user testing at Briarwood Rehabilitation & Healthcare Center.

V1, shown above, is the version we built for the final project: a 4-DOF articulated arm on serial-bus servos, an Intel RealSense depth camera and a Raspberry Pi 4 that runs everything on the device. V3 is the version now in development, with higher-torque servos, a plate holder built into the body and an automatic tool changer.

Design

We looked at several layouts before settling on the final one: a stationary arm on a rotating base, a gantry, and a jointed arm like a small industrial robot.

Arm configuration

Mouth tracking

Computing platform

Latency is the reason for keeping everything on the Pi. It responds to a tracked mouth movement in about 45 ms, consistently, against a human reaction time of 200 to 300 ms. That is what lets the arm follow the mouth without visible lag.

Electronics and control

The V1 electronics split into three groups: inputs (a depth camera, two emergency stops and two isolated power rails), processing on the Raspberry Pi (face tracking, inverse kinematics, safety monitoring and serial servo control through a BusLinker board) and outputs (four daisy-chained serial-bus servos and the utensil end effector).

Munchkin V1 system architecture: input, processing and output components and how they connect INPUT Intel RealSense Depth Camera RGB-D Video Stream USB 3.0 E-Stop (Primary) Hard-Wired to GPIO E-Stop (Shoulder Mount) Pluggable - GPIO Power Supply 5V 5A Pi Power Power Supply 9V 3A Servo Power Power Switch Controls BusLinker Power (Servo Control) PROCESSING Raspberry Pi 4 Model B Main Processing Unit MediaPipe Face Detection Mouth Tracking Open/Close Detection Motion Control Inverse Kinematics Position Calculation Servo Commands Safety Monitor E-Stop Detection Emergency Pause Serial Control USB Communication Servo Protocol Cooling Fan Thermal Management BusLinker V2.2 Serial Bus Servo Control Converts USB → Serial Bus Protocol Controls 4 servos OUTPUT Servo ID 0 - Base Pan HiWonder LX-15D Rotational Axis - Joint 0 Servo ID 1 - Shoulder HiWonder LX-15D Vertical Axis - Joint 1 Servo ID 2 - Elbow HiWonder LX-15D Vertical Axis - Joint 2 Servo ID 3 - Wrist HiWonder LX-15D Vertical Axis - Joint 3 End Effector Hybrid Spoon & Fork Holder Quick-release mechanism 3D Printed PLA USB 3.0 GPIO 5V 9V USB → Serial Serial Bus
V1 electronics: inputs on the left, the Raspberry Pi and BusLinker in the middle, the four servos and end effector on the right.

Component specifications

ComponentRoleSpecs
Input
Intel RealSense depth cameraRGB-D camera for face detection and mouth tracking.1920×1080 RGB, 1280×720 depth · 30 fps · range 0.3–3 m · USB 3.0 · 3–5 W
E-stop (primary)Main emergency stop, hard-wired to a Raspberry Pi GPIO pin.Push-button · GPIO with pull-down resistor · response <10 ms
E-stop (shoulder mount)Second emergency stop on a shoulder harness, within reach of the user.Push-button · pluggable GPIO · response <10 ms
5 V power supplyRail for the computing side, isolated from motor power to keep servo noise off the Pi.5 V @ 5 A (25 W) · powers Pi, camera, fan
9 V power supplyRail for the servos, isolated from the computing side.9 V @ 3 A (27 W) · powers BusLinker and 4 servos
Power switchCuts power to the BusLinker and servos while the Pi stays up.Toggle switch · rated 9 V 3 A
Processing
Raspberry Pi 4 Model BRuns computer vision, motion control, safety monitoring and servo communication.Quad-core ARM Cortex-A72 @ 1.5 GHz · 4 GB LPDDR4 · 5 V @ 3 A
MediaPipe Face MeshFace detection and 468-point landmark tracking for mouth position and open/closed state.Google MediaPipe · 468 landmarks · 30 fps
Motion controlInverse-kinematics solver that turns the mouth coordinate into four servo angles.Analytical IK solver · 4 DOF · 100 Hz update
Safety monitorPolls both e-stops over GPIO and pauses the arm on activation.2 e-stop inputs · 1000 Hz polling · response <10 ms
Serial controlUSB-to-serial-bus link to the BusLinker, sending servo position commands.LX-15D serial bus protocol · 115200 baud · 100 Hz update
Cooling fanKeeps the Pi below 65 °C in continuous operation.40 × 40 mm · 5 V DC · ~2 W
BusLinker V2.2USB-to-serial-bus converter; the four LX-15D servos are daisy-chained from it.USB 2.0 in · 4-channel serial bus out · LX-15D protocol
Output
Servo ID 0, base pan (joint 0)Rotates the arm about the vertical axis.HiWonder LX-15D · 15 kg·cm @ 9 V · 240° range
Servo ID 1, shoulder (joint 1)Sets the angle of the first arm segment.HiWonder LX-15D · 15 kg·cm @ 9 V · 240° range
Servo ID 2, elbow (joint 2)Sets the angle of the second arm segment.HiWonder LX-15D · 15 kg·cm @ 9 V · 240° range
Servo ID 3, wrist (joint 3)Sets the tilt of the end effector.HiWonder LX-15D · 15 kg·cm @ 9 V · 240° range
End effector, utensil holderHolds a spoon or a fork, with a quick-release for swapping.3D-printed PLA · hybrid spoon/fork holder · spring-loaded release

Software

Everything runs on the Pi: MediaPipe for face detection and mouth tracking, an inverse-kinematics solver that turns the mouth coordinate into four servo angles at 100 Hz, a safety monitor polling both e-stops at 1000 Hz, and serial servo control through the BusLinker.

Inverse kinematics

The device uses an analytical 4-DOF solver. The demo below is the planar version of the same problem: a three-segment arm solved with cyclic coordinate descent (CCD), which rotates each joint from the end effector back toward the target. Move the pointer over the canvas to set the target.

Inverse kinematics, planar three-joint arm
Base 0° Shoulder 0° Elbow 0° Error 0px
Cyclic coordinate descent, 10 iterations per frame with 50% damping. The base joint rotates freely; the shoulder and elbow are limited to ±170°.

Mouth tracking

The browser demo runs the same MediaPipe Face Mesh model as the device. It draws the lip outlines on the frame and computes the mouth target exactly like the arm code: the average of landmark 13 (top lip) and landmark 14 (bottom lip). The camera feed stays on your device.

Mouth tracking, live from your webcam
The MediaPipe library loads only when you start the camera. Nothing is uploaded.

V3

V3 rebuilds the system with higher-torque servos, a plate holder built into the body and a modular tool changer. User testing is planned at Briarwood in Fall 2026.

The end effector locks and releases a fork or a spoon on its own. A swap takes under 2 seconds and needs no help from the user or a caregiver, and the device picks the utensil based on what is being served.

Automatic tool changer swapping between the fork and the spoon.
V3 prototype: white device body with the black ring-shaped plate holder folded out on a desk
V3 prototype with the integrated plate holder folded out.
Cutaway of a V3 servo showing its control PCB, motor and gearbox inside the black housing

Higher-torque servos

30 kg·cm servos with 0.1° angular resolution, up from 15 kg·cm on V1. Smoother motion and better repeatability at the end effector.

V3 prototype clamped to a chair with the robotic arm folded down against the device body

Folding arm

The arm folds fully inside the body for transport and storage.

Top-down view of the V3 device with its onboard display and control electronics next to the folded plate holder

Onboard touchscreen

Feeding mode, speed and other settings are set on the device. No phone or laptop is needed.

Inside the open V3 enclosure: servo motors, controller boards, battery and wiring routed to the external control ports

Adaptive control ports

External ports accept switches, sip-and-puff controllers and similar assistive devices, for partial or full control depending on what each user can operate.

Integrated plate holder

The plate holder is part of the device body and folds flush when not in use, so there is no separate tray to carry or set up.

Food recognition (planned)

A camera over the plate to identify what is on it, track portion sizes and estimate nutrition. Not built yet.

Results

<$600
parts cost, V1
30 fps
mouth tracking on a Raspberry Pi 4
~45 ms
from mouth movement to arm response
<2 s
fork-to-spoon swap, V3

V1 works end to end: it tracks the mouth at 30 fps on the Pi, responds in about 45 ms and comes in under $600 in parts. The project earned an Olin SAG Grant and a SEED Grant, and Munchkin LLC is now set up to run structured user testing at Briarwood Rehabilitation & Healthcare Center, planned for Fall 2026 with the V3 hardware.

What I learned

Latency mattered more than anything else in a motion that ends at someone's face, and that decided the computing platform: keeping the whole loop on the Pi gives a consistent 45 ms response that a cloud or laptop pipeline could not. A pre-trained model was the right call for tracking; MediaPipe saved weeks against training a custom CNN and was easier to debug. On the hardware side, the wrist joint earned its extra servo by keeping the utensil level, and isolating the servo rail from the Pi kept motor noise out of the compute side.