Skip to content

wabbitguy/KlippyMon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KlippyMon

Klipper Monitor using a 2.8" CYD (cheap yellow display)

Written for my QIDI X-PLUS 3 so I can glance at what it's doing when I'm not in the shop. Obviously I could pop out a phone and log into MoonRaker/MainSail but I found it easier to glance at the CYD.

The code is compiled with the Arduino IDE 2.3.8 (as of March 2026). The settings.h file has a list of all the libaries that are required to compile the code.

CYD Board

There are a couple of 2.8" CYD boards, the one I am using is based on the ST7789. An earlier one was based on a ILI9431. Thus if you haven't bought the board yet, ensure you get one with the ST7789 driver for the TFT.

The back of the CYD I used (and found on Amazon; it was advertised as a bitcoin miner and from FreeNove):

CYD_BACK

Running KlippyMon

After uploading the code the display will present a message that access point "KlippyMon" is available. This is a captive portal that you need to connect to via WiFi. If you use an iPhone, go to Settings-->Wi-Fi and look for KlippyMon. Select it and in a few seconds you'll be presented with a list of wifi access points to chose from at your location. Select the network access point you want, enter in the password and press "Save". KlippyMon will store your settings and reboot.

After the reboot, KlippyMon will be scanning every 10 seconds for a printer that lives at it's default IP address of 192.168.1.6. Which is roughly a 254 to 1 chance of actually being where your printer is on your LAN. The default screen (assuming your printer lives elsewhere) will be:

image

What is required next is for you to use any web browser and to navigate to the IP shown OR KlippyMon.local if that works for you. Here you can put in the IP address of your printer (you don't need to add any :10088 or anything. That's been taken care of in the code itself.

KlippyMon_Config

After the configuration is updated, assuming the printer is now powered up, you'll see the idle mode of KlippyMon.

image

When you start a print job, KlippyMon's temperature numbers will turn red (tells you it's heating or maintaining the heat) and the PROGRESS will indicate PREP. PREP means it's not actually printing, it's preparing to start to print. I.e. heating the bed, doing any bed levelling, and finally heating the nozzle.

image

A background timer will also be set in KlippyMon so at the end of the print you'll get the total time the print took. That includes bed warm up, any levelling that is done and the nozzle heating time. Once the printing has actually started you'll get an ETA that's updated every 10 seconds throughout the entire printing process.

image

At the end of the print, you'll get the total elapsed time (accurate to within 20 seconds).

image



Modify The Code

The first step is to change the time configuration in the settings.h file to reflect your timezone. Look for the following line:

// ---------------- TIME HELPERS ----------------

Change the timezone as needed (it currently defaults to British Columbia/Canada PDT all the time). There are a number of examples shown in the code to help. Additonal details can be found all over the net for these libary settings, or directly from the source.:

TimeZone GitHub

If you already know the IP of your printer (it could be in your Slicer Printer Settings), plus the max bed and nozzle temp, you can edit these as well, but there's a web interface built in KlippyMon so it's not required.

Compiling the Code

Setup the Arduino IDE with these settings for the board. Your port will be different depending on if you're Mac or Windows based.

Arduino_IDE

About

Klipper Monitor using a 2.8" CYD (cheap yellow display)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors