Predictive Maintenance AI on HP Metal Jet S100

HackUPC 2026 · HP Challenge

💡 TL;DR – trained this super cool model and you can check our work here!

HackUPC 2026 · HP Challenge

Industrial metal 3D printers fail unpredictably. Operators either replace parts on a fixed schedule (wasteful) or react after failure (costly). We built a system that models degradation, visualizes health in real time, and computes the optimal repair schedule under a finite budget.


What we built

Phase 1 — Stochastic degradation model

Main problem is that only available info about the health of a piece is when its new (100%) and when its broken (0%). Key observation is that we can see impact of external inputs $I(t)$ onto health $h(t)$ if we take extremely small intervals (as nothing more will affect), leading to define differential equation $\frac{dh_i}{dt}(t) = f_i(h(t),I(t))$ and modeling it by using stochastic calculus, numerical approaches and reinforcement learning. Everything into the math on hackupc26.pdf

Also, to avoid looking infinitely on almost 'plain' surfaces we applied a L1 regularization learns the degradation rate constants from observed (inputs, health) samples.

Phase 2 — Dashboard & Insights

To visualize results, a multi-printer support dashboard with a 3d model of the printer indicating pieces that we were in charge of monitoring.

Our model allowed us to predict future health samples with our data, also knowing why was it broken: as we could rely on the shock that made it break, if it had >20% slope, we could conclude it was because a 'random' issue (ie an accident, some external issue), if it was between 10%-20% breakout was probably accelerated by another piece breakout, and <10% was just use break.

We also implemented alerts for maintainers to get an email under some specific triggers ie a huge drop on health of a piece or a piece falling below 10%

2.1 Optimal repair scheduling under budget constraint

A natural question followed, now that I can spot the health of my printers when is best to fix them? We should be careful as repairing a piece may lead to a longer util live of another piece, so it may not be optimal to repair when a piece is almost broken.

So we formalized the question: given a finite budget W and the hard constraint that no component falls below 10% health (high risk of machine stopping), what is the optimal repair schedule?

Because health is a non-linear stochastic simulation and states depend on each other, classical solvers fail. We use PPO (Proximal Policy Optimization): the agent observes state S = [h_1, …, h_9, budget, t] ∈ ℝ¹¹ and selects from 512 joint replacement combinations (2⁹), capturing cross-component correlations exactly.

We implemented a calendar with the optimal (heuristically) schedule for making the reparations of the printers for them to work the maximum time at the minimum cost

Phase 3 - AI Support

Also hand free and AI full support is available to get extra insights without effort! you can get amongst other an analysis of trends, getting a summary of the current situation of the printers! workflow is speech to text -> LLM -> DB -> LLM -> user

Tech stack

  • 3d designs with blender
  • gunicorn, pytorch for training the models
  • Front-end: next.js, react
  • Backend @ Hugging Face, using Flask
  • DB @ Supabase
  • Website @ Vercel

Built With

Share this project:

Updates