
My 3D printer dashboard in Home Assistant. Now that I have the data in Home Assistant, I can create a nice dashboard for my 3D printer: This is what the resulting entity looks like in Home Assistant: If a match is found, both parameters are sent to Home Assistant via the HTTP API. Each message is checked against a regex that can extract the print's progress and time left: NORMAL MODE: Percent done: (.*) print time remaining in mins: (.*) Next, I wrote a simple Python script that opens the serial port and starts listening for messages. I saw all kinds of funky messages, but as soon as I started a print, this appeared: NORMAL MODE: Percent done: 1 print time remaining in mins: 13īingo! This message includes the progress of the print (in %) and the time left. So I connected the printer to my MacBook and opened a serial connection. My first thought was to check if the USB serial interface on the Prusa would communicate something about its state.

Let's keep things simple, shall we? The USB serial interface Interfacing with a webcam to create time lapses is impressive, but I already have an IP camera pointed at my printer. Remotely starting a print job is cool, but I usually have to remove the previous print from the bed anyway. ĭon't get me wrong, these are all nice features, but I don't need any of them. OctoPrint can make time lapses, keep track of temperatures, interface with a webcam, visualize GCODE, moving print head remotely. They even have a special version for Raspberry Pi's that's called OctiPi".Īnd you would be right! But OctoPrint seems needlessly heavy on resources as it can't run (reliably) on a Pi Zero. You might say: "Xavier, this already exists. (In reality I have the Pi tucked away underneath the table). The Pi Zero is connected to the Prusa i3 via a microUSB to regular USB cable.

Raspberry Pi Zero monitoring Prusa i3 MK3 through the USB port. Monitoring only: I don't want to control the printer remotely.Let's use that instead of attaching stuff to the logic board. Non-invasive installation: there is a USB port on the Prusa.That way, I can build automations like: notify me when the printer is almost done or switch off the printer after the print completed.

My needs are simple: I want to grab the progress of the current print job and send that to Home Assistant. So I decided to use a Pi Zero to keep track of my 3D prints and send the progress to my Home Assistant installation.

It's a super reliable Prusa i3 MK3, but it lacks an internet connection. Many devices in my home have become "smart" over the last couple of months, with one big exception: my trusty 3D printer.
