Skip to content

Instantly share code, notes, and snippets.

@dillera
Last active December 29, 2025 13:33
Show Gist options
  • Select an option

  • Save dillera/951b10d607ff7e757184166dd44bf50a to your computer and use it in GitHub Desktop.

Select an option

Save dillera/951b10d607ff7e757184166dd44bf50a to your computer and use it in GitHub Desktop.
How to setup your Reachy Mini Lite to use a PiZero for Freedom
w w 8 8 w 8888P
w 8d8b. d88b w8ww .d88 8 8 .d8b. 8d8b. 88b. w dP .d88b 8d8b .d8b.
8 8P Y8 `Yb. 8 8 8 8 8 8' .8 8P Y8 8 8 8 dP 8.dP' 8P 8' .8
8 8 8 Y88P Y8P `Y88 8 8 `Y8P' 8 8 88P' 8 d8888 `Y88P 8 `Y8P'
8
1. Flash Trixie
https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
Use a decent sized SD - 23 or 64GB
2. Boot PiZeroW 2 (Zero)
3. Setup wifi, account, expand FS space
4. Stop any services you don't need
- Bluetooth
systemctl list-units --type=service --state=running
5. Fix /tmp
* /tmp on Zero is run dynamically and is about 200M. Pip installs below will fill this space
and error. We need to just make /tmp a dir on the main SD card...
sudo systemctl disable tmp.mount
sudo systemctl edit tmp.mount
This opens an editor. Add:
```
[Mount]
Options=mode=1777,strictatime,nosuid,nodev,size=5G,nr_inodes=1m
```
Save and exit, then:
sudo systemctl daemon-reload
sudo systemctl restart tmp.mount
[reboot]
8
.d8b .d8b. .d88 .d88b
8 8' .8 8 8 8.dP'
`Y8P `Y8P' `Y88 `Y88P
* INSTALL Deps
$ sudo apt install git git-lfs libcairo2-dev pkg-config cmake libgl1 libportaudio2 -y
$ curl -LsSf https://astral.sh/uv/install.sh | sh
$ source $HOME/.local/bin/env
$ uv python install 3.12 --default
$ git lfs install
$ git clone https://github.com/pollen-robotics/reachy_mini.git
$ cd reachy_mini
$ uv sync
[connect usb to Reachy]
$ source .venv/bin/activate
$ uv run reachy-mini-daemon --no-localhost-only
>>> Back On Macintosh
$ brew install git-xet
$ git xet install
$ git clone https://huggingface.co/spaces/pollen-robotics/reachy_mini_conversation_app reachy_conversion_og
$ cd reachy_conversion_og
$ uv sync
$ source .venv/bin/activate
$ reachy-mini-conversation-app --gradio --debug --robot-host 192.168.1.246
That robot-host should be the ip address of your Zero.
--robot-host is NOT part of the default code, i hacked it on. I'm working on pushing the code up soon.
Open a browser on your Mac:
http://localhost:7860/
Talk to your Reachy.
2025-12-24 16:20:13,644 INFO reachy_mini_conversation_app.utils:115 | Starting Reachy Mini Conversation App
2025-12-24 16:20:13,644 INFO reachy_mini_conversation_app.utils:131 | Connecting to remote robot at 192.168.1.246:7447
2025-12-24 16:20:16,400 INFO reachy_mini.media.media_manager:49 | No media backend selected.
new /
* Running on local URL: http://127.0.0.1:7860
2025-12-24 16:20:17,659 INFO httpx:1025 | HTTP Request: GET http://127.0.0.1:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
2025-12-24 16:20:17,669 INFO httpx:1025 | HTTP Request: HEAD http://127.0.0.1:7860/ "HTTP/1.1 200 OK"
* To create a public link, set `share=True` in `launch()`.
2025-12-24 16:20:17,741 INFO httpx:1025 | HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment