Interfaceby TigerTag-Project · GitHub · LVGLA reCamera gimbal gets a face-tracking brain
Two Seeed XIAO boards split the work: one sees faces with an OV2640 camera, the other drives brushless motors over CAN bus. The result is a pan-tilt head that follows you around the room.
Build sheet
- Device page
- reCamera Gimbal →
- Motor controller
- XIAO STM32C5 (Zephyr)
- Vision
- XIAO ESP32S3 Sense, OV2640
- Motors
- LK3008 + LK3506 over CAN
- Link
- UART between MCUs
Can I build this?Intermediate · AI 4/5 · $150–250
- Difficulty
- Intermediate
- AI-buildability
- 4/5
- Time
- A weekend
- Cost
- $150–250
Most of the work is firmware (Zephyr CAN motor control, ESP32 face detection, web UI), with modest soldering and wiring between off-the-shelf boards.
Based on "A reCamera gimbal gets a face-tracking brain" on Afterware: https://afterware.xyz/p/a-recamera-gimbal-gets-a-face-tracking-brain
Write ESP-IDF firmware for a XIAO ESP32S3 Sense that captures OV2640 frames, runs on-device face detection, and streams video over Wi-Fi to a browser page. Compute the horizontal and vertical offset of the largest face from frame center and send target pan and tilt angles over UART at 115200 baud. Keep a manual virtual-joystick mode alongside an AUTO mode.
Estimates based on the original write-up. How AI-buildability is scored. Building with an AI assistant? Connect it to Afterware (free MCP server).
Story
Zeller found a brushless motor assembly pulled from a reCamera Gimbal with no controller attached. Instead of buying a driver board, the build hands the motors to a Seeed XIAO STM32C5 that talks CAN bus, with its onboard transceiver and no terminating resistor to configure. A XIAO ESP32S3 Sense with an OV2640 camera does the seeing, running on-device face detection and streaming video plus a control panel to a browser over Wi-Fi.
The two MCUs share a UART link. The ESP32-S3 sends target angles, the STM32C5 sends back actual motor angles, and the webpage shows both. Switch to AUTO mode and the gimbal turns toward wherever your face sits in the frame. Manual control runs through virtual joysticks and sliders. The STM32C5 side is built in PlatformIO with Zephyr RTOS.
The reusable trick is the split itself: let a camera MCU decide the target and a motor MCU chase it, with a single XT30 cable carrying both power and CAN. The enclosure reuses the reCamera Gimbal's own housing, so the motors fit without custom mounts.
Interfaceby TigerTag-Project · GitHub · LVGL
Hardwareby kariagepompadour · Hackster











