import { useState } from 'react';
import { Link as RouterLink, useLocation } from 'react-router-dom';
import {
Box,
Container,
Typography,
Button,
Grid,
Link,
Chip,
Stepper,
Step,
StepLabel,
StepContent,
ToggleButton,
ToggleButtonGroup,
IconButton,
} from '@mui/material';
import OpenInNewIcon from '@mui/icons-material/OpenInNew';
import DownloadIcon from '@mui/icons-material/Download';
import WifiIcon from '@mui/icons-material/Wifi';
import UsbIcon from '@mui/icons-material/Usb';
import CheckCircleIcon from '@mui/icons-material/CheckCircle';
import PlayArrowIcon from '@mui/icons-material/PlayArrow';
import Layout from '../components/Layout';
import PageHero from '../components/PageHero';
// YouTube Video with styled overlay
function YouTubeEmbed({ videoId, title, version = 'wireless' }) {
const [isPlaying, setIsPlaying] = useState(false);
const thumbnailUrlLite = '/assets/miniature_lite.png';
const thumbnailUrlWireless = '/assets/miniature_wireless.png';
if (isPlaying) {
return (
);
}
return (
setIsPlaying(true)}
sx={{
position: 'absolute',
top: 0,
left: 0,
width: '100%',
height: '100%',
cursor: 'pointer',
overflow: 'hidden',
'&:hover .play-button': {
transform: 'translate(-50%, -50%) scale(1.1)',
boxShadow: '0 8px 40px rgba(255, 149, 0, 0.5)',
},
'&:hover .overlay': {
background: 'rgba(0, 0, 0, 0.3)',
},
}}
>
{/* Thumbnail */}
{/* Overlay */}
{/* Play Button */}
{/* Watch label */}
▶ Watch Assembly Guide
);
}
export default function GettingStarted() {
const location = useLocation();
const params = new URLSearchParams(location.search);
const urlVersion = params.get('version');
const [version, setVersion] = useState(
urlVersion === 'lite' ? 'lite' : 'wireless'
);
return (
}
label="Assemble"
sx={{ bgcolor: 'rgba(255,255,255,0.15)', color: 'white', fontWeight: 600 }}
/>
}
label="Connect & Play!"
sx={{ bgcolor: 'rgba(255,255,255,0.15)', color: 'white', fontWeight: 600 }}
/>
{/* Main Content */}
{/* Version Toggle */}
Which version do you have?
v && setVersion(v)}
sx={{
'& .MuiToggleButton-root': {
px: 4,
py: 1.5,
border: 'none',
borderRadius: 0,
fontWeight: 600,
fontSize: 15,
textTransform: 'none',
gap: 1,
color: 'text.secondary',
'&.Mui-selected': {
bgcolor: 'primary.main',
color: 'white',
'&:hover': {
bgcolor: 'primary.dark',
},
},
'&:not(:last-of-type)': {
borderRight: '1px solid',
borderColor: 'divider',
},
},
}}
>
Lite (USB)
Wireless
{/* ======================== */}
{/* LITE VERSION PROCEDURE */}
{/* ======================== */}
{version === 'lite' && (
<>
{/* Step 1: Assemble */}
Step 1
Assemble your robot
Follow our visual guide to put together your Reachy Mini Lite.
Most people finish in 2-3 hours — our record is 43 minutes! 🏆
}
>
Open the Interactive Assembly Guide ✨
{/* Step 2: Connect & Install */}
Step 2
Connect & install the appConnect via USB
Use the USB cable that came with your robot to connect it to your computer.
Download the desktop app
The desktop app includes everything you need to control your Lite version.
Desktop App available for macOS (Apple Silicon), Windows & Linux (beta).
Open the app & play!
The app will automatically detect your robot. Click "Wake Up" to start,
then explore 30+ apps created by the community, from hand tracking to AI conversations! If you experience any issues, feel free to check our Troubleshooting & FAQ page or contact us on Discord.
>
)}
{/* ============================ */}
{/* WIRELESS VERSION PROCEDURE */}
{/* ============================ */}
{version === 'wireless' && (
<>
{/* Step 1: Assemble */}
Step 1
Assemble your robot
Follow our visual guide to put together your Reachy Mini.
Most people finish in 2-3 hours — our record is 43 minutes! 🏆
}
>
Open the Interactive Assembly Guide ✨
Beta version? Your guide is{' '}
here
.
{/* Step 2: Connect & Install */}
Step 2
Connect & install the appPower on your Reachy Mini
Wait about 30 seconds for the robot to boot up.
Download the desktop app
The desktop app includes everything you need to control your Wireless version.
Desktop App available for macOS (Apple Silicon), Windows & Linux (beta).
Connect the robot to your Wi-Fi
Use the desktop app to connect your robot to your Wi-Fi network.
Open the app & play!
The app will automatically detect your robot. Click "Wake Up" to start,
then explore 30+ apps created by the community, from hand tracking to AI conversations! If you experience any issues, feel free to check our Troubleshooting & FAQ page or contact us on Discord.
>
)}
{/* CTA for Developers */}
Want to create your own apps?
Learn how to code with the Python SDK, create custom experiences,
and share them with the community.
);
}