Printer Management & Parts Inventory #30

Open
opened 2026-01-16 04:51:22 +00:00 by tonym · 0 comments
Owner

Summary

Add printer tracking with parts inventory, maintenance history, spool assignments, and per-printer filament parameters.

Upstream Issues

Problem

Users with multiple printers want to:

  • See which printer is using which spool
  • Track printer parts (nozzles, beds, etc.)
  • Record maintenance and purchases
  • Store printer-specific settings per filament (PA, flow, z-offset)

Proposed Features

1. Printer Registry

  • Add/edit/delete printers
  • Fields: name, model, manufacturer, purchase date, notes
  • Photo/image upload
  • Serial number, firmware version
  • Nozzle diameter(s)

2. Spool-to-Printer Assignment

  • Assign active spool(s) to printer
  • Show printer name in spool list
  • Show active spools on printer detail page
  • Support multi-material (MMU/AMS) - multiple spools per printer

3. Parts Inventory

  • Track parts per printer:
    • Nozzles (size, material, brand)
    • Build plates/beds
    • Hotends
    • Extruders
    • Belts, fans, etc.
  • Fields: part type, name, purchase date, install date, notes
  • Track spare parts vs installed

4. Maintenance Log

  • Record maintenance events per printer
  • Types: nozzle change, bed leveling, lubrication, firmware update, repairs
  • Date, description, parts used
  • Maintenance reminders/schedules

5. Per-Printer Filament Parameters

  • Store calibration data: Filament X on Printer Y = settings Z
  • Parameters:
    • Pressure Advance
    • Flow rate / Extrusion multiplier
    • Temperature offset
    • Z-offset
    • Retraction settings
  • Auto-retrieve via slicer integration (future)

6. Usage Statistics

  • Total filament used per printer
  • Print hours (if integrated with Klipper/Moonraker)
  • Parts lifespan tracking

Data Model

class Printer(Base):
    id: int
    name: str
    model: str
    manufacturer: str
    purchase_date: date
    notes: str
    image_url: str

class PrinterPart(Base):
    id: int
    printer_id: int
    part_type: str
    name: str
    purchase_date: date
    install_date: date
    is_installed: bool
    notes: str

class PrinterFilamentSettings(Base):
    id: int
    printer_id: int
    filament_id: int
    nozzle_diameter: float
    pressure_advance: float
    flow_rate: float
    temp_offset: int
    z_offset: float
    notes: str

class MaintenanceLog(Base):
    id: int
    printer_id: int
    date: datetime
    type: str
    description: str

UI

  • New "Printers" section in nav
  • Printer list with cards showing active spools
  • Printer detail page with parts, maintenance, filament settings tabs
  • Spool list shows printer column (optional)
  • Filament page shows per-printer calibration data
  • #24 NFC/RFID - MMU/AMS slot tracking
  • #9 Locations - printers could be locations
## Summary Add printer tracking with parts inventory, maintenance history, spool assignments, and per-printer filament parameters. ## Upstream Issues - https://github.com/Donkie/Spoolman/issues/550 - Show printer name near spool - https://github.com/Donkie/Spoolman/issues/573 - Printer-specific process parameters ## Problem Users with multiple printers want to: - See which printer is using which spool - Track printer parts (nozzles, beds, etc.) - Record maintenance and purchases - Store printer-specific settings per filament (PA, flow, z-offset) ## Proposed Features ### 1. Printer Registry - Add/edit/delete printers - Fields: name, model, manufacturer, purchase date, notes - Photo/image upload - Serial number, firmware version - Nozzle diameter(s) ### 2. Spool-to-Printer Assignment - Assign active spool(s) to printer - Show printer name in spool list - Show active spools on printer detail page - Support multi-material (MMU/AMS) - multiple spools per printer ### 3. Parts Inventory - Track parts per printer: - Nozzles (size, material, brand) - Build plates/beds - Hotends - Extruders - Belts, fans, etc. - Fields: part type, name, purchase date, install date, notes - Track spare parts vs installed ### 4. Maintenance Log - Record maintenance events per printer - Types: nozzle change, bed leveling, lubrication, firmware update, repairs - Date, description, parts used - Maintenance reminders/schedules ### 5. Per-Printer Filament Parameters - Store calibration data: Filament X on Printer Y = settings Z - Parameters: - Pressure Advance - Flow rate / Extrusion multiplier - Temperature offset - Z-offset - Retraction settings - Auto-retrieve via slicer integration (future) ### 6. Usage Statistics - Total filament used per printer - Print hours (if integrated with Klipper/Moonraker) - Parts lifespan tracking ## Data Model ```python class Printer(Base): id: int name: str model: str manufacturer: str purchase_date: date notes: str image_url: str class PrinterPart(Base): id: int printer_id: int part_type: str name: str purchase_date: date install_date: date is_installed: bool notes: str class PrinterFilamentSettings(Base): id: int printer_id: int filament_id: int nozzle_diameter: float pressure_advance: float flow_rate: float temp_offset: int z_offset: float notes: str class MaintenanceLog(Base): id: int printer_id: int date: datetime type: str description: str ``` ## UI - New "Printers" section in nav - Printer list with cards showing active spools - Printer detail page with parts, maintenance, filament settings tabs - Spool list shows printer column (optional) - Filament page shows per-printer calibration data ## Related - #24 NFC/RFID - MMU/AMS slot tracking - #9 Locations - printers could be locations
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tonym/spoolman2#30
No description provided.