# SimplyPrint Client Setup Guide

The **SimplyPrint Client** is one local app that bridges printers from several brands to SimplyPrint. You run it on a
device on your network (a Raspberry Pi, computer, or server) and it relays printer communication to the SimplyPrint
cloud. Nothing is installed on the printers themselves.

> **The device running the client must stay on** whenever you want to use SimplyPrint. If it is off or asleep,
> SimplyPrint cannot reach your printers.

## Supported brands

| Brand         | How you connect                                                                                                               | Also has an on-printer option?                                       |
|---------------|-------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------|
| **Bambu Lab** | LAN-only mode + Developer Mode, then enter IP, access code, and serial number; or sign in with a Bambu account (monitor-only) | No - the client is the only way in (closed ecosystem)                |
| **Creality**  | Enter the printer's IP (model auto-detected)                                                                                  | Yes - K1/K2 and others can also use Klipper/OctoPrint on the printer |
| **Anycubic**  | Enter the printer's IP                                                                                                        | Yes - some models can also use Klipper                               |
| **Elegoo**    | Enter the IP, then pick the model                                                                                             | Mostly the client                                                    |
| **Snapmaker** | Enter the printer's IP, no code or password                                                                                   | Other models have their own on-printer method                        |
| **Flashforge** | LAN-only mode on the printer, then enter the IP and LAN access code                                                          | Yes - some models can also connect on the printer                    |
| **Dremel**    | Auto-discovered, or enter the printer's IP; no code or password                                                               | Other models have their own on-printer method                        |
| **Ultimaker** | Enter the IP, then press Allow on the printer                                                                                 | Mostly the client                                                    |
| **Duet**      | Enter the IP, optional Duet Web Control password                                                                              | Native RepRapFirmware                                                |

For brands that can also connect directly on the printer, the SimplyPrint Client is the recommended path and the
on-printer method stays available as an alternative - both are presented as a choice. For closed printers like Bambu
Lab, the client is the only path.

## Supported devices to run the client on

| Device           | Notes                                                                                                      |
|------------------|------------------------------------------------------------------------------------------------------------|
| **Raspberry Pi** | Pi Zero 2 W, 3, 4 and 5 via the ready-to-flash image. Low power, runs 24/7 reliably.                      |
| **Linux**        | Any x86_64 / aarch64 / armv7l machine, dedicated mini PC, or existing server.                              |
| **macOS**        | Intel or Apple Silicon. Must stay on and awake.                                                            |
| **Windows**      | Any modern 64-bit Windows PC. Must stay on and awake.                                                      |
| **Docker**       | The official `simplyprint/simplyprint-client` image on any Docker host.                                    |
| **Home Assistant** | As an add-on, on Home Assistant OS or a Supervised install (64-bit). Uses the box you already leave on. New and experimental. |

**Cannot run the client:** phones and tablets (iOS/Android background limits), microcontrollers (Arduino/ESP32), and the
printers themselves. Once the client runs on a supported device, you can still control everything from a phone or tablet
via the SimplyPrint web and mobile apps.

## Install the client

### Raspberry Pi (easiest)

Works on Pi Zero 2 W, 3, 4 and 5 (2 GB RAM recommended; a Zero 2 W or Pi 3 suits a printer or two). Flash the ready-to-use image
with [Raspberry Pi Imager](https://www.raspberrypi.com/software/):

1. Insert the microSD card and open Raspberry Pi Imager.
2. Choose OS: pick "Other specific-purpose OS → 3D printing → SimplyPrint → SimplyPrint Client OS" if listed, or "Use
   custom" with the image below.
3. Choose storage: select the card.
4. In OS customisation, enable SSH (set a username + password) and configure WiFi (same network as your printers) with
   your country code, then save and write.
5. Boot the Pi, then open `http://<pi-ip>:8000`.

- arm64 image (Pi Zero 2 W, 3, 4 and 5): `https://download.simplyprint.io/client/images/simplyprint-client-rpi-arm64.img.zip`
- armv7l image (Pi Zero 2 W and 3): `https://download.simplyprint.io/client/images/simplyprint-client-rpi-armv7l.img.zip`

### Windows

Download and run the installer `https://download.simplyprint.io/client/SimplyPrintClient-Setup-x64.exe`. If SmartScreen
warns, choose **More info → Run anyway**. The client runs in the background with a system-tray icon and starts with
Windows. A portable build (`https://download.simplyprint.io/client/simplyprint-client-windows-AMD64.zip`) is also
available.

### macOS (Intel & Apple Silicon)

Download and run the signed `.pkg` installer for your Mac (the canonical macOS installer):

- Apple Silicon (M-series): `https://download.simplyprint.io/client/simplyprint-client-macos-arm64.pkg`
- Intel: `https://download.simplyprint.io/client/simplyprint-client-macos-x86_64.pkg`

The installer offers an optional "Start at login" choice; leave it on so the client stays connected. It runs in the
background with a menu-bar icon. Prefer Homebrew? Run `brew install simplyprint/tap/simplyprint-client` then
`brew services start simplyprint/tap/simplyprint-client`.

### Linux (x86_64 / aarch64 / armv7l)

```bash
sudo bash -c "$(curl -fsSL https://download.simplyprint.io/client/install-linux.sh)"
```

It installs as a systemd service (`simplyprint-client.service`) that starts on boot.

### Docker

The official image is `simplyprint/simplyprint-client` on Docker Hub. Run it with host networking so it can reach
printers on your LAN:

```bash
docker run -d --name simplyprint-client --network=host --restart=always -v /root/.config/SimplyPrint:/root/.config/SimplyPrint simplyprint/simplyprint-client
```

Update by pulling the image, removing the container and running it again (`docker restart` would keep the old image;
the config volume keeps your printers):

```bash
docker pull simplyprint/simplyprint-client && docker rm -f simplyprint-client && docker run -d --name simplyprint-client --network=host --restart=always -v /root/.config/SimplyPrint:/root/.config/SimplyPrint simplyprint/simplyprint-client
```

Or with Docker Compose, where `docker compose pull && docker compose up -d` updates it:

```yaml
services:
  simplyprint-client:
    image: simplyprint/simplyprint-client
    container_name: simplyprint-client
    network_mode: host
    restart: always
    volumes:
      - simplyprint_data:/root/.config/SimplyPrint

volumes:
  simplyprint_data:
```

The config volume keeps your printers across updates.

### Home Assistant (add-on)

If you already run Home Assistant, the client can run on that same machine as an add-on, so the box that is already on
around the clock is the one keeping your printers connected.

**Requires Home Assistant OS or a Supervised install, on a 64-bit machine (aarch64 or amd64).** Add-ons are managed by
the Supervisor, which Home Assistant **Container and Core do not have** - on those two, use the Docker or Linux install
above instead.

One-click: open
<https://my.home-assistant.io/redirect/supervisor_store/?repository_url=https%3A%2F%2Fgithub.com%2FSimplyPrint%2Fhome-assistant-apps>
to add the repository, then start at step 2.

1. In Home Assistant: **Settings -> Apps** (Home Assistant renamed add-ons to apps), open the app store, three-dot menu, **Repositories**, and add
   `https://github.com/SimplyPrint/home-assistant-apps`.
2. Install **SimplyPrint Client** from the store.
3. Start it, and enable "Start on boot" and "Watchdog" so printers reconnect after a restart.
4. Turn on **Show in sidebar**, then open **SimplyPrint** from the Home Assistant menu. The add-on uses Ingress, so
   there is no port for you to open and the client only accepts requests that arrive through Home Assistant.

The add-on is included in Home Assistant's backups, so its configuration travels with the rest of your setup.

**This add-on is new and still experimental.** It works and is ready to use; it has simply had fewer users than the
other install methods. Bugs go to <https://github.com/SimplyPrint/home-assistant-apps/issues>.

**What it is NOT.** This runs the SimplyPrint *client* on the Home Assistant machine so that machine can be the bridge
to your printers. It does **not** expose printers to Home Assistant as entities: no sensors, no temperature or progress
values, nothing to put on a Home Assistant dashboard or drive an automation with. A native Home Assistant integration
that does that is a separate, unbuilt thing - <https://suggestions.simplyprint.io/324>. If someone asks "can I see my
printer in Home Assistant", the answer is no, and this add-on is not it.

Full article: <https://help.simplyprint.io/en/article/run-the-simplyprint-client-as-a-home-assistant-add-on-ab2n8m/>

## Open the client

Once installed, open `http://localhost:8000` (or `http://<device-ip>:8000` on a remote device). There is no sign-in
here; you link each printer to your account with a setup code (below). The client keeps itself up to date automatically,
except in Docker, where you update by pulling the image (above).

## Connect your printer (per brand)

In the client, choose **Add printer**, pick your brand, and follow the on-screen steps. The client lists printers it
finds on your network, or you can enter the details by hand.

### Bambu Lab

One time on the printer, turn on **LAN-only mode** and **Developer Mode** (a Bambu Lab restriction on current firmware,
their Authorization Control System). In the client, choose Add printer → Bambu Lab, let it discover the printer or enter
the IP, then enter the **8-character access code** and the **serial number** (both shown on the printer's screen). AMS
is supported. Cloud mode is monitor-only on firmware with Bambu's Authorization Control System, and only fully works on
firmware from before it: X1 before 01.08.03.00, P1 before 01.08.02.00, A1 before 01.05.00.00 (the X1E cut-off is not
confirmed; treat it as LAN-only).
See [LAN-only vs cloud](https://help.simplyprint.io/en/article/bambu-lab-integration-lan-only-vs-bambu-cloud-2eof1u/)
and [the ACS change](https://help.simplyprint.io/en/article/bambu-lab-security-firmware-authorization-control-system-update-will-i-still-be-able-to-use-simplyprint-y2uoor/).

### Creality

Add printer → Creality. The client auto-discovers Creality printers; if yours does not appear, enter its IP. The model
is detected automatically. No access code or password. Supported models: K1, K1C, K1 Max, K2, K2 Pro, K2 Plus, CR-10 SE,
Ender-3 V3 Plus, Ender-3 V3 KE, Ender 5 Max, Hi. The Ender-3 V3 and Ender-3 V4 are not supported yet.

### Anycubic

Add printer → Anycubic. Auto-discovered, or enter the IP. No access code needed. Supported models: Kobra 2 Pro, Kobra 2
Plus, Kobra 2 Max, Kobra 3 V2, Kobra 3 Max, Kobra S1, Kobra S1 Max, Kobra X.

### Elegoo

Add printer → Elegoo. Enter the IP, then choose your model.

### Snapmaker

Add printer → Snapmaker. Enter the printer's IP. No access code or password needed.

### Flashforge

One time on the printer, turn on **LAN-only mode**. Then, in the client, choose Add printer → Flashforge and enter the
printer's **IP** and **LAN access code** (both shown on the printer's screen).

### Dremel

Add printer → Dremel. Auto-discovered, or enter the printer's IP. No access code or password needed.

The exact models the client supports for each brand come from the printer catalog; use the compatibility check rather
than this page for a specific model.

### Ultimaker

Add printer → Ultimaker. Auto-discovered, or enter the IP, then **press Allow on the printer's display** to authorize.
Works with the S-line (S3/S5/S7), Ultimaker 3 / 3 Extended, and 2+ Connect.

### Duet

Add printer → Duet. Enter the board's IP. If you set a Duet Web Control password, enter it; otherwise leave it blank.
Works with Duet 3 (6HC, 6XD, Mini 5+), Duet 2 (WiFi, Ethernet, Maestro), and other RepRapFirmware boards.

## Finish linking in SimplyPrint

Each printer you add appears in the client as **Pending** with a short **setup code**. Open SimplyPrint, go to your
printers, and enter that code to link the printer to your account. The printer then comes online and is ready to print.

## Troubleshooting

Most setup issues are covered in the [SimplyPrint help center](https://help.simplyprint.io/).

## FAQ

### What is the SimplyPrint Client?

A small app, made by SimplyPrint, that runs on a device on your network and bridges your printers to SimplyPrint. One
client can connect many printers across different brands at once.

### Do I have to use the client, or can I connect on the printer?

It depends on the brand. Creality, Anycubic and Flashforge can also connect on the printer, and you will see both
options. The client is the simplest path. For Bambu Lab it is the only path.

### Does the device need to stay on?

Yes. The client must be running to start prints, monitor remotely, or use SimplyPrint features. A Raspberry Pi is
ideal (low power, built for 24/7).

### Will my print stop if SimplyPrint or the client goes down?

No. Prints run locally on the printer once files are sent; an ongoing print keeps going.

### Do my printers need internet?

No. Printers only need to be on the same local network as the client. The client device needs internet to reach
SimplyPrint.
