# User guide
```{toctree}
:maxdepth: 1
:caption: Getting started
:hidden:
getting-started/installation
getting-started/rpi
getting-started/units
```
```{toctree}
:maxdepth: 1
:caption: Machines
:hidden:
machines
definitions
generic/index
00_liquid-handling/_liquid-handling
```
```{toctree}
:maxdepth: 1
:caption: Manufacturers
:hidden:
agilent/index
azenta/index
big_bear/index
brooks/index
byonoy/index
cole_parmer/index
curiox/index
hamilton/index
high_res/index
inheco/index
kbioscience/index
kbiosystems/index
mettler_toledo/index
micronic/index
molecular_devices/index
opentrons/index
qinstruments/index
revvity/index
sartorius/index
thermo_fisher/index
ufactory/index
```
```{toctree}
:maxdepth: 1
:caption: Machine-Agnostic Features
:hidden:
machine-agnostic-features/using-the-visualizer
machine-agnostic-features/using-trackers
machine-agnostic-features/event-bus
machine-agnostic-features/writing-robot-agnostic-protocols
machine-agnostic-features/tip-spot-generators
machine-agnostic-features/logging-and-validation/logging-and-validation
machine-agnostic-features/error-handling-general
machine-agnostic-features/sila-discovery
machine-agnostic-features/manual-operator
```
```{toctree}
:maxdepth: 1
:caption: Configuration
:hidden:
configuration
```
This guide helps you get started with PyLabRobot (PLR) and shows you how to build and run lab automation workflows. Whether you're new to lab robotics or already have hardware set up, this guide will help you understand how everything fits together.
The guide is divided into three parts:
- **Getting Started** – Learn how to install PLR, and how its core system is designed.
- **Machines** – Explore how to use the different types of lab hardware supported by PyLabRobot.
- **Machine-Agnostic Features** – Discover powerful tools that work across all devices, like the visualizer, trackers, reusable protocol patterns, validation tools, and error handling.
Check out [the list of supported machines](/user_guide/machines.md).