# π¦ Installation Guide
> **Welcome to Reachy Mini!** This guide will help you install the Python SDK and daemon to start controlling your robot.
| π§ **Linux** | π **macOS** | πͺ **Windows** |
|:---:|:---:|:---:|
| β
Supported | β
Supported | β
Supported |
**Need help?** Feel free to open an [issue](https://github.com/pollen-robotics/reachy_mini/issues) if you encounter any problem.
## First time using the command line? π₯οΈ
Click here if you're new to using a terminal/command line
A **command line** (also called terminal or command prompt) is a text-based interface where you can type commands to interact with your computer. Don't worryβit's simpler than it looks!
**How to open the command line:**
* **Windows:** Press `Win + R`, type `cmd` or `powershell`, and press Enter
* **macOS:** Press `Cmd + Space`, type `Terminal`, and press Enter
* **Linux:** Press `Ctrl + Alt + T` or search for "Terminal" in your applications
**Basic tips:**
* Type commands exactly as shown in the instructions
* Press `Enter` after typing each command to run it
* You can copy and paste commands (right-click to paste in most command line interfaces)
> [!TIP]
> _Don't be intimidated!_ The command line is just another way to give instructions to your computer. Follow the commands step by step, and you'll be controlling your Reachy Mini in no time!
## 1. π Prerequisites
| Tool | Version | Purpose |
|------|---------|---------|
| π **Python** | 3.10 - 3.12 | Run Reachy Mini SDK |
| π **Git** | Latest | Download source code and apps |
| π¦ **Git LFS** | Latest | Download model assets |
### π Install Python
We'll use `uv` - a fast Python package manager that makes installation simple!
#### Step 1: Install uv
In your terminal, run:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
In your terminal, run:
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
**β
Verify installation:**
Once the installation is completed, close your terminal and open a new one. You can check if everything went well with :
```bash
uv --version
```
#### Step 2: Install Python
In your terminal, run:
```bash
uv python install 3.12 --default
```
> [!TIP]
> We recommend Python 3.12 as it's the latest supported version for Reachy Mini.
### π Install Git and Git LFS
#### Install Git and Git LFS
In your terminal, run:
```bash
sudo apt install git git-lfs
```
#### 1. Install Homebrew (if not already installed)
In your terminal, run:
```zsh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
For Apple Silicon (M1, M2, etc.), you will also be prompted to run:
```zsh
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
```
β
Verify Homebrew:
Once the installation is completed you can check if it went fine with:
```zsh
brew --version
```
#### 2. Install Git and Git LFS
In your terminal, run:
```zsh
brew install git git-lfs
```
#### Download and install Git for Windows
Download and install Git for Windows:
https://git-scm.com/install/windows
**β
Finalize installation:**
Finally, Git LFS then needs to be initialized with the command :
```bash
git lfs install
```
## 2. π Set up a Virtual Environment
> **Why use a virtual environment?** It keeps your Reachy Mini installation isolated and prevents conflicts with other Python projects. Modern Python development requires this!
### Create the environment
In your terminal, run:
```bash
uv venv reachy_mini_env --python 3.12
```
### Activate the environment
In your terminal, run:
```bash
source reachy_mini_env/bin/activate
```
> [!WARNING]
> _First-time setup:_ Before you can activate your virtual environment, Windows needs permission to run scripts. You only need to do this once!
**Step 1:** Open terminal as Administrator
- Press `Win + R`, type `powershell`
- Right-click on "Windows PowerShell" and select "Run as administrator"
**Step 2:** Enable script execution
In the administrator terminal, run:
```powershell
powershell Set-ExecutionPolicy RemoteSigned
```
**Step 3:** Close the administrator terminal and open a regular terminal
Now you can activate your virtual environment by running:
```powershell
reachy_mini_env\Scripts\activate
```
> **β
Success indicator:** You should see `(reachy_mini_env)` at the start of your command line prompt!
## 3. π Install Reachy Mini
Choose your installation method:
> **Recommended for most users** - Just want to control your robot? This is for you!
In your terminal, run:
```bash
uv pip install "reachy-mini"
```
If you want to use the simulation mode, you need to add the `mujoco` extra:
```bash
uv pip install "reachy-mini[mujoco]"
```
> [!TIP]
> The post installation of gstreamer is due to an [issue](https://github.com/pypi/support/issues/8847#issuecomment-3899714506) with PyPi and should be solved in the future.
π§ Linux users: additional steps required
**GStreamer** must be installed manually on Linux:
[](gstreamer-installation)
**USB permissions** β needed for the USB connection to Reachy Mini:
```bash
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="55d3", MODE="0666", GROUP="dialout"
SUBSYSTEM=="usb", ATTRS{idVendor}=="38fb", ATTRS{idProduct}=="1001", MODE="0666", GROUP="dialout"' \
| sudo tee /etc/udev/rules.d/99-reachy-mini.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
sudo usermod -aG dialout $USER
```
> [!WARNING]
> Log out and log back in for the changes to take effect!
> **For developers** - Want to modify the SDK or contribute? Choose this option!
In your terminal, run:
```bash
git clone https://github.com/pollen-robotics/reachy_mini && cd reachy_mini
uv sync
```
If you want to use the simulation mode, you need to add the `mujoco` extra:
```bash
uv sync --extra mujoco
```
π§ Linux users: additional steps required
**GStreamer** must be installed manually on Linux:
[](gstreamer-installation)
**USB permissions** β needed for the USB connection to Reachy Mini:
```bash
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="55d3", MODE="0666", GROUP="dialout"
SUBSYSTEM=="usb", ATTRS{idVendor}=="38fb", ATTRS{idProduct}=="1001", MODE="0666", GROUP="dialout"' \
| sudo tee /etc/udev/rules.d/99-reachy-mini.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
sudo usermod -aG dialout $USER
```
> [!WARNING]
> Log out and log back in for the changes to take effect!
## π Congratulations!
You've successfully installed Reachy Mini! Your robot is ready to come to life.
## β Troubleshooting
Encountering an issue? π **[Check the Troubleshooting & FAQ Guide](../troubleshooting.md)**
## Next Steps
* **[Quickstart Guide](quickstart.md)**: Run your first behavior on Reachy Mini
* **[Python SDK](python-sdk.md)**: Learn to move, see, speak, and hear.
* **[AI Integrations](integration.md)**: Connect LLMs, build Apps, and publish to Hugging Face.
* **[Core Concepts](core-concept.md)**: Architecture, coordinate systems, and safety limits.