Speech recognition and synthesis, the local LLM, vision and robot control all run on one Jetson.
- Robot: Reachy Mini connected to the Jetson via USB.
- Network: The Jetson is reachable over SSH and has internet access during deployment to pull images.
Speech recognition and synthesis, the local LLM, vision and robot control all run on one Jetson.
Deploys the speech recognition (ASR) and voice synthesis (TTS) service; the image includes the models.
Deploy over SSH to a Jetson Orin NX 16GB running JetPack 6.x.
recomputerjetson-edgellm-v090-mossASR + TTS engine combination on the v0.9.0 voice stack. Qwen3 ASR is multilingual (Chinese + English); MOSS-TTS-Nano gives the most natural, expressive voice (default voice: Yuewen).
| Symptom | Fix |
|---|---|
| SSH connection failed | Try ssh username@ip from your computer first and check the IP and credentials |
| Image pull slow | The image is ~8 GB compressed; ensure stable internet on the Jetson |
| Service not starting | Run ssh user@ip "cd reachy-jetson-voice && docker compose logs" |
| Health check fails | First startup takes ~40 seconds for model warmup; wait and retry |
Open http://<jetson-ip>:8621/health; it returns {"asr": true, "tts": true, "streaming_asr": true}.
Deploys the Qwen3.5-4B chat service on the same Jetson. First startup takes about 10 minutes to download ~3 GB of model files and warm up, and the service uses about 6 GB of GPU memory.
Deploy over SSH to the Jetson from Step 1; the SSH credentials carry over.
recomputer| Symptom | Fix |
|---|---|
| Health check times out | Run docker logs -f edge-llm-chat-service to watch the download |
| Out of memory during warmup | Close other GPU workloads and redeploy |
/v1/models returns 502 | Wait until the logs print Uvicorn running, then retry |
Open http://<jetson-ip>:11435/v1/models; the model list includes Qwen/Qwen3-4B-AWQ.
Deploys the robot control, conversation and vision services. The Edge LLM service from Step 2 must already be running.
The robot is ready about 30 seconds after deployment.
The robot starts in conversation mode: talk to it and it replies in one sentence with a matching emotion and head/antenna motion.
The dashboard is on port 8042; other ports: robot control 38001, vision 8630, Edge LLM 11435, speech 8621.
http://<jetson-ip>:8042 to see conversation logs and robot status and to adjust settings.instructions.txt. To tune mic gain audio_volume, VAD sensitivity client_vad_threshold or tts_speed, edit ~/reachy-jetson-llm/reachy-voice.yaml.docker restart reachy-voice.Deploy over SSH to the Jetson from Step 1.
~/reachy-data) for captures and the face databaserecomputer~/reachy-dataDirectory for persistent data (captures, face DB, etc.). Example: /mnt/usb/reachy-data
127.0.0.1IP address of the voice assistant (speech service + LLM). Default 127.0.0.1 for local deployment.
falseAuto-launch dashboard in fullscreen on device boot (for exhibition/kiosk use)
| Symptom | Fix |
|---|---|
| Slow reply (>10 s) | Run docker logs edge-llm-chat-service and open http://<jetson-ip>:11435/v1/models to check the Edge LLM |
| Robot not moving | Replug the USB cable and run docker restart reachy-daemon |
| No audio output | Check Reachy Mini's built-in speaker and audio.device in the config |
| Dashboard not loading | Wait 30 seconds, then open http://<jetson-ip>:8042/health |
| No camera feed | The vision service builds its engines on first boot (~5 min); run docker logs vision-trt |
| Camera not found on boot | The vision service retries automatically for about 90 seconds; wait |
| Camera drops after hours | Physically replug the Reachy USB cable |
Open http://<jetson-ip>:8042 and say something to the robot; it replies.
Robot control, conversation and Hailo-8 vision run on the AI Industrial R21; speech and the LLM come from a remote Jetson.
edge-llm-chat-service must be running on that Jetson), and an AI Industrial R21.Deploys the speech recognition (ASR) and voice synthesis (TTS) service on the Jetson; the image includes the models.
Deploy over SSH to a Jetson running JetPack 6.x.
recomputerjetson-edgellm-v090-mossASR + TTS engine combination on the v0.9.0 voice stack. Qwen3 ASR is multilingual (Chinese + English); MOSS-TTS-Nano gives the most natural, expressive voice (default voice: Yuewen).
| Symptom | Fix |
|---|---|
| SSH connection failed | Try ssh username@ip from your computer first and check the IP and credentials |
| Image pull slow | The image is ~8 GB compressed; ensure stable internet on the Jetson |
| Service not starting | Run ssh user@ip "cd reachy-jetson-voice && docker compose logs" |
| Health check fails | First startup takes ~40 seconds for model warmup; wait and retry |
Open http://<jetson-ip>:8621/health; it returns {"asr": true, "tts": true, "streaming_asr": true}.
Deploys the robot control, conversation and Hailo vision services on the AI Industrial R21, installing the Hailo driver if it is missing.
The robot is ready about 30 seconds after deployment.
The robot starts in conversation mode: talk to it and it replies in one sentence with a matching emotion and head/antenna motion.
The dashboard is on port 8042 of the AI Industrial R21; other ports: robot control 38001 and vision 8630 / 8631 on the R21, speech 8621 and Edge LLM 11435 on the Jetson.
http://<r2000-ip>:8042 to see conversation logs and robot status and to adjust settings.instructions.txt. To tune mic gain audio_volume, VAD sensitivity client_vad_threshold or tts_speed, edit ~/reachy-jetson-llm/reachy-voice.yaml.docker restart reachy-voice.Deploy over SSH to the AI Industrial R21. The Hailo-8 must be seated in the M.2 slot with PCIe Gen3 enabled in /boot/firmware/config.txt.
pi)192.168.1.100)~/reachy-data)IP address of the Jetson running the speech service on port 8621 (e.g. 192.168.1.100)
OpenAI-compatible LLM base URL — MUST include the /v1 path. Leave empty to use the bundled edge-llm (http://<VOICE_ASSISTANT_HOST>:11435/v1). Override with your own endpoint, e.g. http://host:11435/v1.
~/reachy-dataDirectory for persistent data (captures, face DB, etc.). Example: /mnt/usb/reachy-data
falseAuto-launch dashboard in fullscreen on device boot (for exhibition/kiosk use)
| Symptom | Fix |
|---|---|
/dev/hailo0 not found | Reseat the Hailo-8 in the M.2 slot and reboot; check lspci | grep -i hailo |
hailo-all install fails | Add the Hailo apt source manually as described in INSTALL.md in the vision-hailo repo |
| Container fails with version mismatch | Run sudo apt install --reinstall hailo-all, then redeploy |
| FPS below 5 | Set the CPU scaling governor to performance |
| No face data on dashboard | Open http://localhost:8630/ to check the vision service |
| Speech not working | On the R21, open http://<jetson-ip>:8621/health to confirm the Jetson is reachable |
| Robot not moving | Replug the USB cable and run docker restart reachy-daemon |
Open http://<r2000-ip>:8042 and say something to the robot; it replies.
Robot control, conversation and CPU vision run on the CM4 inside Reachy Mini Wireless; speech and the LLM come from a remote Jetson.
edge-llm-chat-service must be running on that Jetson), and a Reachy Mini Wireless.Deploys the speech recognition (ASR) and voice synthesis (TTS) service on the Jetson; the image includes the models.
Deploy over SSH to a Jetson running JetPack 6.x.
recomputerjetson-edgellm-v090-mossASR + TTS engine combination on the v0.9.0 voice stack. Qwen3 ASR is multilingual (Chinese + English); MOSS-TTS-Nano gives the most natural, expressive voice (default voice: Yuewen).
| Symptom | Fix |
|---|---|
| SSH connection failed | Try ssh username@ip from your computer first and check the IP and credentials |
| Image pull slow | The image is ~8 GB compressed; ensure stable internet on the Jetson |
| Service not starting | Run ssh user@ip "cd reachy-jetson-voice && docker compose logs" |
| Health check fails | First startup takes ~40 seconds for model warmup; wait and retry |
Open http://<jetson-ip>:8621/health; it returns {"asr": true, "tts": true, "streaming_asr": true}.
Deploys the robot control, conversation and vision services on the CM4.
The robot is ready about 30 seconds after deployment.
The robot starts in conversation mode: talk to it and it replies in one sentence with a matching emotion and head/antenna motion.
The dashboard is on port 8042 of the CM4; other ports: robot control 38001 and vision 8630 / 8631 on the CM4, speech 8621 and Edge LLM 11435 on the Jetson.
http://<cm4-ip>:8042 to see conversation logs and robot status and to adjust settings.instructions.txt. To tune mic gain audio_volume, VAD sensitivity client_vad_threshold or tts_speed, edit ~/reachy-jetson-llm/reachy-voice.yaml.docker restart reachy-voice.Deploy over SSH to the CM4 in Reachy Mini Wireless; Docker must be installed on the CM4.
pi)192.168.1.100)~/reachy-data)IP address of the Jetson running the speech service on port 8621 (e.g. 192.168.1.100)
OpenAI-compatible LLM base URL — MUST include the /v1 path. Leave empty to use the bundled edge-llm (http://<VOICE_ASSISTANT_HOST>:11435/v1). Override with your own endpoint, e.g. http://host:11435/v1.
~/reachy-dataDirectory for persistent data (captures, face DB, etc.). Example: /mnt/usb/reachy-data
falseAuto-launch dashboard in fullscreen on device boot (for exhibition/kiosk use)
| Symptom | Fix |
|---|---|
| Docker not installed | Install it with the official script from get.docker.com |
| Speech not working | On the CM4, open http://<jetson-ip>:8621/health to confirm the Jetson is reachable |
| No camera feed | Run ls /dev/video*; if empty, replug the USB camera |
| Robot not moving | Replug the USB cable and run docker restart reachy-daemon |
| Dashboard not loading | Wait 30 seconds, then open http://localhost:8042/health |
Open http://<cm4-ip>:8042 and say something to the robot; it replies.