Mainsail dashboard basics
How to use the G1OS web interface (based on Mainsail) to monitor and control the G1 printer. Accessible from any browser on the same network.
Connecting to the dashboard
Section titled “Connecting to the dashboard”- Ensure the printer is powered on and connected to your Wi-Fi
- Open a browser on the same network and go to
http://g1os.local - If
g1os.localdoesn’t resolve:- Try restarting the router (mDNS can take a moment to propagate)
- Find the printer’s IP in your router’s device list and connect directly (e.g.
http://192.168.1.XXX) - Note: the IP can change between sessions — use the hostname
g1os.localto avoid tracking it
Main sections
Section titled “Main sections”Dashboard (home)
Section titled “Dashboard (home)”- Temperatures: live temperatures for all three heating zones (Extruder / Extruder1 / Extruder2), bed, Raspberry Pi, and octopus board
- Toolhead panel: axis positions, manual jogging controls
- Macros: quick buttons for bed leveling, homing, etc.
- Click the temperature graph to expand — useful for diagnosing temperature instability
Heightmap
Section titled “Heightmap”Accessible from the left sidebar → Heightmap.
- Shows the bed mesh from the last bed leveling run
- Select “global” view to see the full bed surface
- A flat mesh (all values near 0) means the bed is well-leveled
- Large deviations (> 1 mm) indicate the bed needs releveling — adjust the Z lead screws manually
Console
Section titled “Console”- Direct Klipper terminal — send G-code commands manually
- Useful for:
BED_LEVEL_SCREWS_CALCULATE,PID_CALIBRATE,SAVE_CONFIG - Error messages from Klipper appear here when a print fails
G-Code Files
Section titled “G-Code Files”- Upload
.gcodefiles here for printing via Wi-Fi (more reliable than USB for large files) - Supports drag-and-drop
- Files can also be sent directly from Ginger Slicer if the printer IP is configured in the slicer
Machine (System)
Section titled “Machine (System)”The most important section for maintenance:
Config Files — edit Klipper configuration files directly in the browser:
printer.cfg— main printer config (temperatures, steps, limits)GingerConfigs/— official Ginger Additive settings (don’t edit manually)- After editing, click Save & Restart to apply changes
Update Manager — keep all components up to date:
- Click the refresh arrow (top right) to check for updates
- Components: Klipper, Mainsail, Moonraker, Crowsnest, GingerConfigs, KlipperScreen, System
- Click UPDATE ALL COMPONENTS to update everything at once
- See Klipper firmware update for the full update procedure
System Loads — live CPU/RAM of the Raspberry Pi. If CPU is consistently > 80%, the Pi may be overloaded.
Devices panel — shows connected MCU boards (mcu, extruder_board) and their firmware versions
History
Section titled “History”- Complete log of past print jobs with duration, filament used, and status
- Useful for tracking per-print time and catching interrupted prints
Downloading log files (for support)
Section titled “Downloading log files (for support)”When reporting an issue to Ginger Additive support, include the log files:
- Go to Machine section
- Scroll to Config Files → click on the log files:
klippy.log— main Klipper events and errorsmoonraker.log— API server logscrowsnest.log— camera service logs
- Download and attach to your support message
Power control (reboot / restart)
Section titled “Power control (reboot / restart)”Top-right power icon → opens Klipper Control and Host Control:
| Option | What it does |
|---|---|
| Restart | Restarts Klipper software only (fast) |
| Firmware Restart | Restarts Klipper and flashes MCU firmware |
| Reboot | Full Raspberry Pi reboot (~60 s) |
| Shutdown | Powers down the Pi (printer will need physical power cycle) |
Print pauses
Section titled “Print pauses”Pauses longer than ~10 minutes leave a visible line on the print surface (a seam where layer deposition resumed). To minimize this:
- Keep pauses under 5 minutes if possible
- The printer maintains zone temperatures during a pause — the visual artifact is from material oozing during the pause, not from temperature loss
- For very long pauses: lower all zone temperatures to reduce oozing, then reheat before resuming
Common issues
Section titled “Common issues”| Problem | Cause | Fix |
|---|---|---|
g1os.local not found | mDNS not resolving | Use IP address, or restart router |
| Dashboard loads but shows “Disconnected” | Klipper crashed | Click Firmware Restart in the power menu |
| Temperature shows “Off” for all zones | MCU not connected | Check USB cable between Pi and Octopus board; see Klipper MCU communication lost |
| ”Klippy is not running” banner | Klipper service stopped | Go to Machine → restart Klipper service |
| Dashboard slow / unresponsive | Raspberry Pi overloaded | Check CPU % in System Loads; reduce camera resolution if Crowsnest is running |