Quickstart
Install Wendy and watch a simulated robot move, then connect your own device and deploy an app.
What is Wendy?
Wendy builds your code, deploys it to a robot or edge device, and streams its logs back to your computer. Start by watching a simulated Go2 move in your browser. You do not need physical hardware or a Wendy Cloud account for the tour.
Wendy has three parts:
- On your device: WendyOS, an open source Linux operating system for NVIDIA Jetson and Raspberry Pi. Already running Linux? Install Wendy Agent instead.
- On your computer: the
wendyCLI, which sets up devices and deploys your apps. - Optional: Wendy Cloud, for deploying to and managing devices from anywhere.
Write your app in Python, Swift, Rust, C++, TypeScript, or anything else that runs in a container.
Install the CLI below, then take the robot tour. If you already have hardware, you can go straight to device setup and deploy a small app.
1. Install the Wendy CLI
curl -fsSL https://install.wendy.dev/cli.sh | bash
wendy --versionwinget install WendyLabs.Wendy --source wingetThe managed robot VM tour needs macOS or Linux. On Windows, follow device setup below or try the local Docker robot demo.
If wendy --version is unavailable after installation, open a new terminal and retry.
Try the robot tour
wendy tour and wendy run check Docker and QEMU, and offer to install what is
missing: Docker Desktop and QEMU through Homebrew on macOS, or QEMU through
apt-get or dnf on Linux. On Linux, install and start
Docker with Buildx first.
Python runs inside the container, so you do not need it on your computer.
Allow four virtual CPUs, 4 GiB of VM memory, and space for the downloaded OS and container images. Apple Silicon runs the ARM64 VM with hardware acceleration; x86 computers use slower emulation. The initial downloads and builds can take several minutes. See virtual-device setup for more details.
wendy tourChoose the recommended simulated robot path. The tour creates a Go2 virtual device, opens its 3D viewer, and starts a five-second walk. Watch the robot move in the browser. The tour verifies a change in position and stops the movement before reporting success.
The movement settings are in ~/Documents/wendy-robot-tour/tour.json. Change
turn_rps to 0 to walk straight, then repeat the tour with the same virtual device:
wendy tour --simulatorThe VM and its viewer remain available after the check. Use the exact
wendy vm stop command printed by the tour when finished. To keep a separate
starter, pass --project DIR. You can add a coding agent or cloud connection later.
2. Set up a device
For guided hardware setup, run wendy tour --hardware, or choose a path below.
The app below builds with Docker and Buildx. On macOS, wendy run offers to
install Docker Desktop; on Linux, install and start Docker yourself. The hardware
guides list the storage, power, and cables needed for each board. Installing
WendyOS erases the selected target storage.
No hardware needed. On macOS and Linux, Wendy creates the simulator for you in step 4 and offers to install QEMU if it is missing.
On Windows, run the Linux Wendy CLI and your container builder inside WSL2 for this quickstart; Wendy offers to install QEMU there as on Linux. Native Windows foreground VMs support device inspection, but local app builds and automatic app-port forwarding require macOS or Linux.
This generic virtual device runs your app without a simulated robot or physical camera, GPU, or GPIO. Use the tour above for a moving Go2. More about virtual devices
For Jetson Orin Nano and AGX Orin developer kits, use full USB recovery to update boot firmware and the OS together:
- Fit the NVMe SSD in the board, or use onboard eMMC on AGX Orin. Connect the board's recovery USB-C port to your computer with a data cable and connect power.
- Enter recovery mode using your board's connection and button instructions.
- Run
wendy install, choose your Jetson and full USB recovery, then review the storage to erase. No external NVMe adapter is needed for this path. - Keep power and USB attached. Follow the installer's reboot instruction, then
run
wendy discoverand confirm that the expected board appears.
The separate rootfs-only workflow requires compatible boot firmware and does not update it. Follow the full guide before choosing that advanced path.
- With the Thor off, connect your computer to the USB-C port next to HDMI. Connect power to the other USB-C port.
- Enter recovery mode: press Power, hold the middle Force Recovery button, tap Reset, then release Force Recovery.
- Run
wendy installand choose the Thor. It flashes over USB, so you need no external drive. - When flashing finishes, power-cycle the Thor. After 1–2 minutes, confirm that
wendy discoverlists it.
For Raspberry Pi 5, 4, or 3:
- Insert the microSD card into a reader connected to your computer.
- Run
wendy install, choose your Pi, then carefully select the card to erase. Configure Wi-Fi now if you will use it. Cloud enrollment is optional. - Put the card in the powered-off Pi. A Pi 4 or 5 can connect through a USB-C data cable if the computer supplies enough power. Otherwise use the Pi's power supply and Ethernet or Wi-Fi. A Pi 3 connects over the network.
- After 1–2 minutes, confirm that
wendy discoverlists it.
Use any Linux machine, such as Ubuntu 22.04 or later on ARM64 or x86-64. The video uses an NVIDIA DGX Spark. Run this on that machine:
curl -fsSL https://install.wendy.dev/agent.sh | bashKeep it on the same network as your development machine, and confirm that wendy discover lists it. Full guide
Using a Mac, an ESP32, or a Unitree G1? Each has its own guide.
For local discovery, allow Local Network access on macOS. On Linux, run
wendy discover in a terminal and accept the host USB-C network setup prompt
when using that connection. A successfully written image is only the first
step; wait until your expected device answers before deploying an app.
3. Create an app
wendy init hello-wendy --target wendyos --language node --template simple-api --assistant skip --git-init no
cd hello-wendyThis creates a small TypeScript web server. You do not need Node.js installed, because Wendy builds it in a container.
4. Run it
wendy runSelect your device and press Enter.
For the simulator, press Tab to open the Simulator tab, press c to create it, and choose Generic WendyOS. The first run downloads the WendyOS image, so it takes a few minutes.
Wendy builds the app, deploys it, and streams its logs. When the app is ready, Wendy prints App reachable at with its URL and opens it in your browser:
{"message":"hello-world"}Your first Wendy app is running
That response came from your device. Edit src/index.ts, then run wendy run --watch to redeploy every time you save.
Stuck? See troubleshoot your first deployment.
Next steps
Use Wendy in ChatGPT
Build in your language
Use cameras and GPUs
Record data with campaigns
Debug your app
Learn how Wendy works
wendy.json, and the build and deploy loop.