Benji is a small autonomous security robot designed for indoor surveillance and monitoring.
Benji uses a dual-processor architecture:
- Benji RT — Real-time control on STM32F405 running Zephyr RTOS (motor control, sensor acquisition)
- Benji Compute — Compute platform on Raspberry Pi 5 running embedded Linux via Yocto (image processing, path planning)
Communication between the two processors uses Protocol Buffers over serial.
| Component | Technology |
|---|---|
| Build orchestration | moon |
| Python tooling | uv |
| RT firmware | Zephyr Project + West |
| Compute platform | Yocto + Kas |
| API definitions | Protocol Buffers + Buf |
| Documentation | Sphinx + MyST |
# Install pre-commit hooks and sync dependencies
just bootstrap
# Update west modules (Zephyr dependencies)
just setup# Build the RT firmware
just build-rt
# Build documentation
just build-doc
# Generate protobuf code
just proto
# List all available commands
just helpAI tools were used to assist in this project. This includes initial drafts of documenation, code snippets, brainstorming, and notebook cleanup. All AI-generated content was reviewed and edited by a human to ensure accuracy and quality.