SpaghettiChef

SpaghettiChef is a Java-based local runtime for monitoring and controlling 3D printers through a structured dashboard, REST API, persistence layer, and real serial communication.

It started with one USB-connected printer and is evolving into a local multi-printer control system with background monitoring, job execution, audit visibility, and real-printer diagnostics.

Why I built it

A 3D printer is not just a machine with a start button. Behind the scenes, there are serial commands, firmware responses, timeouts, SD-card transfers, failed uploads, and operator actions that should be traceable.

PrinterHub explores how this can be handled like a real system: monitored, persisted, observable, and controlled.

What it does

  • Monitors real and simulated 3D printers.
  • Reads printer state in the background without blocking the dashboard.
  • Provides a local REST API and embedded dashboard.
  • Stores printer configuration, events, jobs, and diagnostics in SQLite.
  • Runs controlled actions such as temperature readout, homing, fan control, and SD-card print workflows.
  • Tracks job history, execution steps, command responses, and failure details.
  • Tests real Marlin-compatible serial communication, including guarded SD-card upload.

Real hardware, real problems

PrinterHub is tested against a physical Marlin-compatible 3D printer. That means the project does not only simulate the happy path. It deals with real serial behavior: slow transfers, resend requests, timeouts, checksum handling, and firmware-specific quirks.

Real printer / dashboard screenshot placeholder PrinterHub is developed against real printer communication, not only simulation.

Dashboard idea

The dashboard is built around two views: the printer farm as a whole, and the selected printer workspace. From there, the operator can inspect status, manage SD-card files, start controlled jobs, review history, and diagnose what happened.

Tech stack

Java 21, Maven, SQLite, REST API, embedded dashboard, serial communication, simulation modes, Jenkins CI, and Windows/Linux runtime administration scripts.

Project direction

The goal is to move from a single USB-connected printer toward a structured local printer runtime — and later toward multi-printer or multi-site orchestration.

SpaghettiChef is a practical system integration project: hardware communication, backend runtime design, persistence, dashboard UX, job execution, diagnostics, and DevOps in one project.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

More posts