Files
KX-Bridge-Release/MANUAL.md
viewit f54783ad16 docs: add API.md and MANUAL.md, link them from README
API.md documents the full HTTP/WebSocket surface (Moonraker-compatible
endpoints for Mainsail/Fluidd/OrcaSlicer/moonraker-obico compatibility,
plus the bridge-specific /api and /kx routes) for integrators and plugin
authors.

MANUAL.md is a task-oriented end-user guide covering day-to-day usage:
dashboard, printing, filament/AMS management, multi-printer setup, the
power-switch feature, settings reference, and basic troubleshooting.
2026-08-02 23:02:46 +02:00

14 KiB
Raw Blame History

KX-Bridge User Manual

This is a day-to-day how-to guide for using KX-Bridge once it's running. For installing/updating the bridge itself, see README.md. For the HTTP/WebSocket API (developers, plugin authors, integrators), see API.md.


Getting Started

Install and start the bridge

Follow the Quick Start in README.md — the short version is:

docker compose up -d

then open http://BRIDGE-IP:7125 in a browser.

Connect to your printer for the first time

  1. On the printer's display: Settings → Enable LAN mode.
  2. In the bridge Web UI, the Printers tab shows "+ Add printer" on first start. Click it, enter the printer's IP address, and confirm — username, password and device ID are fetched from the printer and decrypted automatically. No manual credential entry needed.
  3. Click Connect in the top-right corner to open the connection. The status badge next to it shows the current printer state (Standby, Printing, …).

Connect OrcaSlicer

In OrcaSlicer, set the printer's connection type to Moonraker and enter http://BRIDGE-IP:7125 as the host (full URL including http:// and the port). See the Recommended Slicer section of the README for the patched OrcaSlicer-KX build with proper per-slot filament matching.


Dashboard Overview

The Dashboard is the main screen and is made of movable/resizable tiles ("cards"). Click 🖉 Customize dashboard (top right of the dashboard) to enter edit mode: drag tiles to reorder, drag corners to resize, then save the arrangement as a named preset via the preset dropdown, or reset back to the default layout.

The default tiles are:

  • Camera — live view from the printer's camera, with a light toggle and a play/stop button. A small ↺ reset button appears if the stream needs to reconnect (e.g. after a 429 rate-limit from the printer).
  • Progress — print percentage, a thumbnail of the current file, current layer, current Z-height, elapsed/remaining time, and the file name. While printing this card shows Pause, Objects (partial cancel, see Printing) and Stop buttons. When a file is loaded but not yet started, it instead shows Print, Assign Slots, and Clear.
  • Temperatures — current and target nozzle/bed temperature with progress bars, quick "Set"/"Off" controls, and a rolling history chart of the last 60 readings.
  • Axis control — jog buttons for X/Y/Z, adjustable step size (0.1 / 1 / 5 / 10 mm or a custom value), Home XY, Home Z, Home All, and Motors Off.
  • Print Speed — three presets (Quiet / Normal / Sport) matching the printer's own speed modes.
  • Fan — a slider plus quick buttons (0/25/50/75/100%) for the part-cooling fan.
  • Filament / AMS — one tile per AMS/ACE slot showing assigned material, color and (if configured) the mapped OrcaSlicer profile. Click a slot to open its edit dialog (see Managing Filaments). If an ACE dryer is attached and active, a separate drying-status row appears below the grid.

Two banners can appear above the dashboard: an upload-ready banner when a GCode file finishes uploading (with Print / Assign Slots / Cancel actions), and a pause-reason banner when the printer pauses itself (e.g. filament runout).


Printing

Uploading GCode

Open the Browser tab (sidebar) → Uploaded sub-tab, and either drag a .gcode/.bgcode file onto the drop zone or click it to pick a file. Uploaded files get thumbnails (if embedded by the slicer), a search box, a status filter (All / Successful / Failed / New) and a sort order (date, name, print duration). Select the checkbox on a card to enter multi-select mode for bulk deletion.

If you configured file-ready mode as "Print dialog" (see Settings Reference), a dialog opens right after upload offering to start the print immediately or assign AMS slots first. With "banner" mode you instead get a persistent banner at the top of the screen with the same choices, so you can keep browsing before deciding.

Starting a print / assigning filament

When starting a file that uses multiple filament channels (AMS/ACE slots), the filament assignment dialog opens automatically (or via "Assign Slots"). It lets you:

  • Map each GCode filament channel to a physical AMS/ACE slot, with a mismatch warning if a channel's expected material/color doesn't match what's actually loaded in the slot you pick.
  • Expand ✂ Skip objects to deselect specific printable objects (for multi-object plates) before the print starts — the same object list and skip mechanism is also available mid-print from the Progress card's "Objects" button.
  • Toggle Auto-Leveling for this print.
  • If Spoolman is configured, assign a specific spool to each slot right from this dialog.

Confirm with ▶ Print to send the job to the printer.

Print-start behavior settings

Under Settings → Printer you can control default behavior for every print:

  • Default slot (single-color print) — which AMS slot to use automatically for single-material files.
  • Auto-leveling before print — run bed leveling before every print.
  • Resonance compensation before print — run input-shaper calibration before every print.
  • After upload: print-start behavior — dialog vs. banner, as described above.
  • Turn camera on at print start — auto-start the camera stream whenever a print begins.
  • Show warning for web-upload prints — an extra confirmation step for files uploaded through the browser rather than sliced directly for this printer, to catch wrong-printer-profile mistakes.

While printing

The Progress card provides Pause/Resume, Stop (with a confirmation prompt), and Objects to skip specific objects on a multi-object plate mid-print.


Managing Filaments

AMS / ACE slots

Each slot tile on the Dashboard can be opened (click it) to edit:

  • Color — via a color picker, recent-color swatches, or "copy color from slot" to match another slot.
  • Material — quick buttons for common materials, or free text.
  • OrcaSlicer profile override — pick a specific imported or built-in OrcaSlicer filament profile for this slot. This is what gets sent to the slicer during AMS sync instead of a generic "Generic PLA/PETG" fallback (see the README's OrcaSlicer-KX section for why this matters).
  • A feed button to extrude/load filament for that slot directly from the UI.

If your printer has an ACE dryer unit, an additional drying panel appears below the AMS grid when drying is active, and slot edit dialogs let you configure drying presets: PLA, PLA+, PETG, TPU, ABS/ASA, PA/PC, and three freely-nameable Custom presets, each with its own temperature (3080 °C) and remaining-time (hⓂ️s) setting. Presets can be edited and saved, or reset back to their defaults.

Importing your own OrcaSlicer profiles

Under Settings → Filament → OrcaSlicer-Profile (or from the "★ Own profiles" link inside a slot's profile dropdown), open the import dialog and either drag a ZIP of your OrcaSlicer filament folder onto the drop zone, or upload individual .json profile files. In OrcaSlicer, that folder is reachable via Help → Show Configuration Folder → user//filament/. Imported profiles show up in every slot's profile dropdown under a "★ Own profiles" group and can be removed again from the same import dialog's list.

Filament-profile mapping and visible vendors

Still under Settings → Filament:

  • Filament profile mapping (per slot) — pin a fixed OrcaSlicer profile to each AMS slot so the bridge always reports that profile during slicer sync, regardless of what material/color is currently loaded.
  • Visible vendors — restrict which vendors show up in the slot profile dropdown (useful if you only ever use a handful of brands); leaving nothing selected shows all vendors. "Generic" and your own imported profiles are always visible regardless of this filter.

Spoolman integration

Configure the Spoolman server URL under Settings → Integrations → Spoolman (e.g. http://spoolman:7912) and a sync rate in seconds (0 means "sync only when a print finishes"). Once connected, a Spoolman — Slot assignment panel appears under Settings → Filament, letting you assign a specific spool from your Spoolman inventory to each AMS slot. Filament usage is then tracked and reported to Spoolman automatically as you print, and the filament assignment dialog shown when starting a print also lets you pick/confirm spools per slot at print time.


Multi-Printer Setup

KX-Bridge can manage several printers from one running instance.

  • Add a printer: go to the Printers tab and click "+ Add printer". Enter the IP (name is optional); credentials are fetched automatically, same as during first setup. Each additional printer gets its own port (7126, 7127, …).
  • Switch printers: use the dropdown in the header (next to the printer name), or open the Printers tab and click "Switch" on any non-active printer's card. Each card also shows live status (state, current file, progress bar, nozzle/bed temperature) fetched directly from that printer's own bridge instance.
  • Remove a printer: click the button on its card in the Printers tab; you'll be asked to confirm.

Power Switch Feature

The power switch feature lets the bridge turn an external smart plug on or off, and query its state — it is not a connection to the printer's own internal power management, since the printer has no remotely controllable power state of its own. You need a smart plug (commonly a Tasmota-flashed plug) wired between the wall outlet and the printer's power supply, reachable over HTTP from the bridge.

Configure it under Settings → Connection, in the "Power Switch" card, with three URLs:

  • Power-On URL — called to switch the plug on.
  • Power-Off URL — called to switch the plug off.
  • Status URL — polled to show the current on/off state.

For a Tasmota device, these are typically of the form:

http://192.168.x.x/cm?cmnd=Power%20on
http://192.168.x.x/cm?cmnd=Power%20off
http://192.168.x.x/cm?cmnd=Power

replacing 192.168.x.x with the smart plug's own IP address (not the printer's). Once configured, a 🔌 power icon appears next to that printer's card in the Printers tab; click it to toggle the plug. Turning it off asks for confirmation, since it will cut power to whatever is plugged in — make sure nothing is printing first. The icon's color reflects the last known state (green = on, gray = off) as reported by the status URL.


Settings Reference

Settings are organized into tabs on the Settings panel:

  • Connection — printer name, printer IP, MQTT port, MQTT username/password, device ID and mode ID (normally filled in automatically by "Add printer"), plus the Power Switch URLs described above.
  • Printer — default slot for single-color prints, auto-leveling and resonance-compensation defaults, upload/print-start behavior, camera auto-start, and the web-upload confirmation warning (see Printing).
  • Display — UI language (DE/EN/ES/FR/IT/中文), light/dark theme toggle, how often the bridge polls the printer for status updates, and a verbose HTTP request logging toggle for troubleshooting.
  • Filament — OrcaSlicer profile import, per-slot profile mapping, visible-vendor filtering, and (if Spoolman is connected) the Spoolman slot-assignment panel — all described in Managing Filaments.
  • Integrations — Spoolman server URL and sync rate, and an info box pointing to the moonraker-obico.cfg file used to configure Obico (Obico itself is set up outside the bridge UI — see Camera / OrcaSlicer-KX / Obico below).
  • System — shows the current bridge version and lets you check for and install updates directly from the browser, including a changelog preview.

Most settings changes are applied via the Save & Restart button at the bottom of the Settings panel, which restarts the bridge process to apply them.


Troubleshooting Basics

  • Logs: the Console tab shows a live event log with filters by direction (RX/TX), level (errors/warnings), and topic (AMS, print, info, status), plus a free-text filter and a download button for the full log file.
  • "Wrong MQTT credentials" on start: re-add the printer via "+ Add printer", or see the credential-refresh steps in the README's Troubleshooting section.
  • Printer not found / no LAN mode: confirm LAN mode is enabled on the printer's display and that the printer and bridge are on the same network.
  • Docker permission errors, upgrading from old versions, and other install-level issues: see the README's own Troubleshooting section.

For anything not covered here or in the README, please check or open an issue on the project's Gitea page: https://gitea.it-drui.de/viewit/KX-Bridge-Release/issues.


Camera / OrcaSlicer-KX / Obico

  • Camera: the Dashboard's Camera tile plays the printer's live stream directly; no separate setup is required beyond having the printer connected.
  • OrcaSlicer-KX: for filament brand/color to sync correctly into OrcaSlicer's AMS view, use the patched community build — see the README's Recommended Slicer section for the download link and what it changes.
  • Obico: self-hosted failure-detection and time-lapse integration runs through the separate moonraker-obico plugin/container, configured via the config file referenced under Settings → Integrations → Obico. Full setup instructions live in the README's Community & Integrations section.