KIDA is an advanced autonomous robot platform built on Raspberry Pi 5, featuring dual-camera vision (night vision + AI camera), a Hailo-8 AI accelerator (13 TOPS), and local LLM capabilities. The robot supports voice interaction, autonomous navigation, and real-time AI inference.
| Component | Details | |———–|———| | Main Board | Raspberry Pi 5 / 4 | | AI Accelerator | Hailo-8 (13 TOPS) via NVMe + AI Hat | | Storage | NVMe SSD |
| Component | Details | |———–|———| | Chassis | XiaoR Geek Robot Tank Chassis | | Motor Driver | L298N × 2 | | Motors | Dual DC motors with tank steering |
| Component | Details | |———–|———| | Primary Battery | 3× 21700 (12.6V in series) | | Backup Battery | 3× 18650 via Pi UPS | | Voltage Regulator | LM2596S (12V → 5V) | | Power Switches | 2× (Main + Pi) |
| Component | Details | |———–|———| | Camera 0 | Raspberry Pi Night Vision Camera | | Camera 1 | Raspberry Pi AI Camera (IMX500) | | Ultrasonic Sensor | HC-SR04 | | Microphone | USB Microphone |
| Component | Details | |———–|———| | Output | Pi Speakers | | TTS | Piper / ElevenLabs |
6.12.62+rpt-rpi-2712| Component | Technology | |———–|————| | LLM | Ollama (DeepSeek-R1:1.5b, Gemma3:4b) | | STT | OpenAI Whisper | | TTS | Piper / ElevenLabs API | | Vision | Hailo-8 AI Processor, IMX500 |
playsound
openai-whisper
sounddevice
numpy
whisper
SpeechRecognition
pygame
requests
elevenlabs==0.2.26
torch
torchaudio
| L298N Pin | Function | Pi GPIO | |———–|———-|———| | IN1 | Direction | GPIO 17 | | IN2 | Direction | GPIO 27 | | ENA | Speed (PWM) | GPIO 18 (hardware PWM) |
| L298N Pin | Function | Pi GPIO | |———–|———-|———| | IN3 | Direction | GPIO 22 | | IN4 | Direction | GPIO 23 |
[12V Battery Pack — 3S 21700 @ 3.7V each]
├── + ─────────► L298N VS (motor power input)
├── + ─────────► LM2596S IN+ (step-down input for Pi)
├── – ─────────► L298N GND
└── – ─────────► LM2596S IN–
[LM2596S Output]
├── OUT+ ──────► Pi 5V (GPIO pin 2 — or Pi UPS via USB-C [Recommended])
└── OUT– ──────► Pi GND (GPIO pin 6 or 9)
sudo apt update
sudo apt install python3-venv python3-pip
python3 -m venv ~/kida-venv
source ~/kida-venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
pip install git+https://github.com/openai/whisper.git
sudo apt install pulseaudio jackd2 alsa-utils portaudio19-dev python3-pyaudio
pip install piper-tts
pip install git+https://github.com/elevenlabs/elevenlabs-python@v3
sudo apt update
sudo apt install hailo-all
Verify the installation:
hailortcli fw-control identify
Expected output:
Device: Hailo-8
PCIe Address: 0001:03:00.0
Firmware Version: x.x.x
Troubleshooting: If the driver is not detected after install, a DKMS module may have failed to build. Pin back to version 4.19 which has stable kernel module support:
sudo apt-mark hold linux-image-rpi-2712 linux-headers-rpi-2712 sudo apt install hailort=4.19.0 hailo-all=4.19.0 -y sudo apt-mark hold hailort hailo-all sudo reboot
sudo apt install -y git build-essential cmake python3-dev python3-pip
git clone https://github.com/hailo-ai/hailort.git
cd hailort && mkdir build && cd build
cmake .. && make -j$(nproc) && sudo make install
echo "export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
pip install hailort
cd /home/kida-01/Desktop/Kida-Robot
source venv/bin/activate
python scripts/main.py
ollama run deepseek-r1:1.5b
# or
ollama pull gemma3:4b-it-qat
rpicam-hello --list-cameras
# AI Camera inference (camera slot 1)
rpicam-hello --camera 1 -t 0 \
--post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json \
--viewfinder-width 1920 \
--viewfinder-height 1080 \
--framerate 30
sudo nano /etc/systemd/system/kida.service
[Unit]
Description=KIDA Main Controller
After=graphical.target
[Service]
User=kida-01
WorkingDirectory=/home/kida-01/Desktop/Kida-Robot
ExecStart=/home/kida-01/kida-venv/bin/python scripts/main.py
Restart=always
RestartSec=5
[Install]
WantedBy=graphical.target
sudo systemctl daemon-reload
sudo systemctl enable kida.service
sudo systemctl start kida.service
sudo nano /etc/systemd/system/kida-camera.service
[Unit]
Description=KIDA Camera Live Preview
After=graphical.target
[Service]
User=kida-01
Environment=DISPLAY=:0
ExecStart=/usr/bin/python3 /home/kida-01/Desktop/Kida-Robot/scripts/camera_preview.py
Restart=always
RestartSec=5
[Install]
WantedBy=graphical.target
sudo systemctl daemon-reload
sudo systemctl enable kida-camera.service
sudo systemctl start kida-camera.service
Check status / logs:
sudo systemctl status kida-camera.service
journalctl -u kida-camera.service -f
crontab -e
# Add:
@reboot cd /home/kida-01/Desktop/Kida-Robot && python3 main.py &
mkdir -p ~/.config/autostart
nano ~/.config/autostart/kida.desktop
[Desktop Entry]
Name=KIDA Controller
Exec=python3 /home/kida-01/Desktop/Kida-Robot/main.py
Type=Application
X-GNOME-Autostart-enabled=true
dtparam=rtc_bbat_vchg=3000000
sudo mount -o remount,rw /boot/firmware
sudo nano /boot/firmware/config.txt
sudo hwclock -w
sudo hwclock -v -r
ffmpeg, placed at C:\ffmpegC:\ffmpeg\bin\
├── ffmpeg.exe
├── ffplay.exe
└── ffprobe.exe
C:\ffmpeg\bin to your system PATH via System Properties → Environment Variablesffmpeg -version# Check Hailo kernel module
lsmod | grep hailo
# Identify Hailo device
hailortcli fw-control identify
# Check PCI devices
lspci | grep Hailo
# Kill conflicting camera processes
ps aux | grep -E 'libcamera|picamera'
sudo kill -9 <PID>
# Check which process is using the camera
sudo fuser -v /dev/video0
# Kernel version
uname -r