Reddit user has Claude build a self-hosted 3D printer server, printhub
Reddit user /u/Greedy-Duck posted in r/ClaudeAI that, rather than spend time learning the software, they had Claude pick a 3D printer and handle the software side. According to the post, Claude chose a QIDI Q2 after determining it runs Klipper/Moonraker with a usable API, then built a self-hosted server called printhub that turns plain-English requests into Printables searches and OrcaSlicer slices with official Q2 profiles, showing time, grams and cost before printing on the user's approval. The post also describes guardrails (no raw G-code, no start if the loaded filament doesn't match the slice), phone alerts via ntfy, a Proxmox container with the printer firewalled and Tailscale remote access, and a request page where the user's partner submits jobs for approval.
As a single user's account, it illustrates a home-setup agent pattern that links model-driven search, slicing and printer control behind human confirmation, rather than any vendor-announced capability.
| Hi all, decided to post this here because I think I'd just get AI hate on the printing subs. I wanted to get into 3D printing but didn't want to sink time into learning the software, so I got Claude to do it! It also helped me pick the printer (a QIDI Q2), since it worked out the printer runs Klipper/Moonraker with an API it could work with. Claude built me a small self-hosted server ("printhub") that sits between Claude and the printer: - Plain-English printing: "find me a phone stand" → it searches Printables, slices with OrcaSlicer (official Q2 profiles), and shows time/grams/cost → I say yes → it prints. - Guardrails: nothing starts or cancels without my confirmation. It won't start if the loaded filament doesn't match the slice. No raw G-code. - Phone alerts (ntfy): start, first-layer photo, pause/runout (with Resume and Cancel buttons), done, errors. - Stays local: it runs in a Proxmox container, the printer is firewalled so only that server can reach it, and remote access is through Tailscale. - Request page: my partner can chat to request prints or jobs, and I approve them. Lessons so far: a firmware update broke the camera config (wrong camera ID), which Claude found and fixed. My first two "prints" printed air because the filament never got gripped. Keep pushing during Load until plastic comes out of the nozzle! First Benchy came out great, just a little stringing. submitted by /u/Greedy-Duck [link] [comments] |
#Claude#QIDI Q2#OrcaSlicer#Printables#Klipper#Moonraker#ntfy#Proxmox#Tailscale