Printing With PETG – On PETG

Deutsche version weiter unten.

Is it possible to print with PETG filament on PETG sheets?
TLDR: Yes, it is – and it works quite well!

Warning first: This article describes my experiments and is not a manual. Mistakes can easily damage your printer, use of this method at your own risk!

Recycling: This method produces a lot of scraps and waste. Please find out beforehand where you can recycle PETG sheet remnants. In Germany, for example, the Recyclingfabrik accepts PETG in sheet form. Please collect and dispose of any sawdust accordingly.

But now let’s start!
PETG in sheet form is not very common in the maker community. More common is acrylic glass, which can be laser cut, or craft glass made from various other plastics, available in DIY stores.
I only found out about PETG as a clear, transparent sheet material when I modified my Prusa Enclosure. PETG sheets are used as glass panes here originally and I wanted to use the same material for my self-made doors. The easiest way to get such sheets is online. A big advantage here is that they can be cut to size straight away, for example to the size of a print bed. I used a thickness of 2 mm in my experiments. Such a sheet in print bed size costs approx. 2 € plus shipping. I bought them here: https://www.plattenshop24.com/pet-petg (unpaid advertising).

I still had such sheets at home, because makers always buy “some” reserve. At some point I had the thought – PETG filament and PETG sheets… can you bring them together? Can you print directly on such a sheet, so that it bonds like a normal layer? And it turned out that it works pretty well!
I cut a sheet to size and attached it to the print bed with clamps. The protective film on the top side must of course be removed.
[Want to do this? Note whether the clamps could damage something on the printer, on the print bed (printed circuit board) or during printing in motion, or during bed levelling]

A PETG sheet clamped to the bed of a printer.

A critical point with this method is the bed levelling or Z-offset. I did all my experiments with the Prusa MK4, which measures the bed with a load cell (force sensor) in the print head. This method or BLTouch sensors are probably the easiest way to print on sheets that are higher than usual. I have only tested with the MK4 and 2 mm sheets. It is quite possible that the MK4 will also have problems with thicker plates, without extra Z-offset settings or similar.
[Want to do this? Note whether the bed leveling method of your printer is suitable for this method and whether settings are necessary]

Now I could start printing. So starting the slicer, loading a model and exporting… Hm, do I need a heated bed? With PETG I normally need a bed between 70 and 90°C, but here?
The bed must remain cold here. Theoretically, cooling might even be interesting, but more on that in a moment. The heat from a heated bed would build up under the PETG plate and cause it to warp. It is possible that the sheet material deforms due to the large temperature difference between the heating bed and the cool air above, or the temperature properties are generally different to those of filament PETG. Unfortunately, I don’t have a photo of this first attempt.
So we set the temperature of the print bed to 0°C (or anything below room temperature) during slicing and start printing.

Critical point at the start of printing:
Once the print has started, there’s not much that can go wrong, but there are a few things to check at the beginning.
– Do the holding clamps hit anything during movement?
– Does the print head / sensors hit the clamps during leveling?
– Is the leveling successful?

The MK4 moves to the various leveling points on the bed one after the other. Normally it moves down exactly once at one point and measures the distance / force. If the sensor does not get a meaningful result, it moves about one millimeter to the side and tries again. And again… until it works – or it aborts at some point. In doing so, it moves in the form of an widening circle. This error can easily occur if the sheet does not rest exactly straight on the bed, is slightly bent due to tension, and there is a little space at the measuring point between the bed and the sheet. I have helped myself by carefully pressing a pencil on the sheet, next to the measuring point, during the measurement. You have to be very careful not to get in the way of the moving printer with the pen or your hand. I therefore advise against this! A better fastening method than the clamps would be the right solution here. It may also be less problematic with a thicker sheet.
What you can also see clearly in this picture, is that the already preheated nozzle leaves marks on the sheet during leveling. This could probably be minimized with Gcode modification for leveling with a cold nozzle, but I haven’t experimented that far yet. Leveling might be easier with BLTouch sensors.

Markings from the bed levelling with hot nozzle

and:
– Does the first layer print well on the plate

For models with a small base area and / or small height, not much can really go wrong further down the line. The extruded PETG adheres excellently to the cool PETG sheet.
However, there is a problem for models with a large surface area on the print bed or a large volume, where a lot of heat is transferred to the sheet via the extruded filament. The plate tends to warp a lot. I have not yet found a solution for this, further experiments are necessary. 😀 Possible approaches are thicker plates, better attachment to the bed or finding the right temperature balance between bed and plate (minimal heating at the bottom or cooling at the top?).

How well does the printed model hold on the sheet?
Short answer: very well!
Long answer: For a load test, I designed a test hook and printed it on a sheet. I put more weight on it piece by piece, up to 12.5 kilos, and let it hang for over three hours, without any visible deformation. I hadn’t expected that much, but it would probably have been possible to add even more. I printed it with 3 perimeters and high infill. Testhook model: https://www.printables.com/de/model/870869-testhook-triangle-for-printing-on-petg-sheets

Exercicing weights hanging on the testhook, which was printed on the 2mm sheet.
Top view of the weights hanging on the hook.

The sheet on which a model was printed, usually has the wrong shape and or size for further use, right after printing. I have had good experiences with cutting them to size on a scroll saw. This worked better than with some other plastic sheets. The protective film on the underside should be left on to protect it from scratches. If it was already off, you can put it back on again, it will stick quite well. The sides can then be smoothed by scraping them with a knife, but please take particular care not to injure yourself.

A sheet with 3d printed text on it, laying on the tabel of a scroll saw.

And what do I need it for anyway?
First of all, I wanted to try out whether it would work at all, and I was quite enthusiastic about the result, even if there are still a few problems to solve. As this produces a considerable amount of waste and offcuts, I would advise against using this method for ecological reasons, unless you have a good application for it. Possible uses that have occurred to me so far would be objects where
– a completely smooth surface
– a waterproof surface
– a transparent (clear) surface is required.

Specifically e.g. lamps, viewing windows on housings, stencils, signs, pictures and art.

3d printed test on an sheet:

Model: https://www.printables.com/de/model/870898-transparency-is-key-framed-art-print-on-petg-sheet

3d printed siluette of an scene from the videogame Asteroids, on an sheet

My remix model: https://www.printables.com/de/model/870938-asteroids-wall-art-remix-print-on-petg-sheets
Original model: https://www.printables.com/de/model/508710-asteroids-wall-art

(By the way, take a look at this collection by Ken Mills: Framed Wall Art. A great collection of 3D printable images for a common frame type. I have designed a mounting system for this.)

Problems that still need to be solved or optimized:
– attaching the sheet to the bed
– warping
– levelling

I love to hear your ideas for projects with this method.



Auf Deutsch:
Drucken Mit PETG – Auf PETG

Mit PETG Filament auf PETG Platten drucken, geht das?
TLDR: Ja, das geht – und sogar ziemlich gut!

Warnung vorweg: Dieser Beitrag beschreibt meine Experimente, und stellt keine Anleitung dar. Bei Fehlern kann es leicht zu Schäden an eurem Drucker kommen, nachmachen auf eigene Gefahr!

Recycling: Bei dieser Methode fällt einiges an Resten und Verschnitt an. Informiert euch bitte vorher, wo ihr PETG-Plattenreste recyceln könnt. In Deutschland nimmt z.B. die Recyclingfabrik PETG in Plattenform an. Ggf. anfallende Sägespäne bitte entsprechend auffangen und entsorgen.

Jetzt gehts aber los!
PETG in Plattenform ist nicht besonders verbreitet in Maker-Kreisen. Wenn, dann eher Acrylglas, das sich lasern lässt, oder Bastelglas aus verschiedenen anderen Kunststoffen aus dem Baumarkt.
Von PETG als klares durchsichtiges Plattenmaterial habe ich erst erfahren, als ich meine Prusa Enclosure umgebaut habe. Da werden nämlich PETG-Platten als Scheiben verwendet und ich wollte für meine selbst gebauten Türen das selbe Material verwenden. Solche Platten bekommt man am einfachsten online. Ein großer Vorteil hierbei ist, dass sie gleich zugeschnitten werden können, zum Beispiel auf die Größe eines Druckbetts. Ich habe in meinen Experimenten eine stärke von 2 mm verwendet. Eine solche Platte in Druckbett-Größe kostet ca. 2 € zzgl. Versand. Gekauft habe ich sie hier: https://www.plattenshop24.com/pet-petg (unbezahlte Werbung).

Ich hatte also noch solche Platten daheim, weil Maker immer „etwas“ Reserve einkaufen. Irgendwann hatte ich den Gedanken – PETG Filament und PETG Platten… kann man das zusammen bringen? Kann man direkt auf so einer Platte drucken, so dass sich das verbindet wie ein normaler Layer? Und es stellte sich raus, das geht ziemlich gut!
Ich habe mir eine Platte zurechtgeschnitten und mit Klammern auf dem Druckbett befestigt. Die Schutzfolie auf der oberen Seite muss dafür natürlich entfernt werden.
[Nachmachen? Beachten ob die Klemmen etwas am Drucker beschädigen könnten, am Druckbett (Leiterplatine) oder während des Druckens in Bewegung, oder während des Bedlevellings anstoßen können]

Eine PETG Platte auf das Druckbett eines Druckers geklemmt.

Ein Knackpunkt bei dieser Methode ist das Bedlevelling bzw. Z-Offset. Ich habe alle Experimente mit dem Prusa MK4 gemacht, der mit einer Load Cell (Kraftsensor) im Druckkopf das Bett vermisst. Mit dieser Methode oder auch mit BLTouch Sensoren lässt sich wohl am einfachsten auf Platten drucken, die höher sind als gewöhnlich. Getestet habe ich ausschließlich mit dem MK4 und 2 mm Platten. Es ist gut möglich, dass bei dickeren Platten auch der MK4 Probleme bekommt, ohne extra Z-Offset Einstellungen oder ähnlichem.
[Nachmachen? Beachten ob die Bedlevelling Methode an deinem Drucker geeignet ist, und ob Einstellungen dazu nötig sind]

Jetzt könnte es doch los gehen mit dem Drucken. Also an den Slicer setzen, ein Modell laden und exportieren… Hm, brauche ich ein beheiztes Bett? Bei PETG brauche ich normalerweise ein Bett zwischen 70 und 90°C, aber hier?
Hier muss das Bett kalt bleiben. Theoretisch wäre vielleicht sogar eine Kühlung interessant, dazu gleich mehr. Die wärme eines beheizten Betts würde sich unter der PETG Platte stauen und diese warpen lassen. Möglicherweise verformt sich das Plattenmaterial wegen des sehr starken Temperaturunterschiedes zwischen Heizbett und kühler Luft oben, oder es sind grundsätzlich etwas andere Temperatureigenschaften als beim Filament. Leider habe ich von diesem ersten Versuch kein Foto.
Wir setzen die Temperatur des Druckbetts beim slicen also auf 0°C (oder irgendwas unter Raumtemperatur) und starten den Druck.

Kritischer Punkt Druckbeginn:
Wenn der Druck erst mal gestartet hat, kann nicht mehr gar so viel schief gehen, aber am Anfang gilt es einiges zu kontrollieren.
– Stoßen die Halteklammern bei der Bewegung irgendwo an?
– Stößt der Druckkopf / Sensoren beim nivellieren an die Klammern?
– Ist die Nivellierung erfolgreich?

Der MK4 fährt nacheinander die verschiedenen Nivellierungspunkte auf dem Bett an. Normalerweise bewegt er sich an einem Punkt genau einmal nach unten und misst den Abstand bzw. die Kraft. Kommt der Sensor zu keinem sinnvollen Ergebnis, dann fährt er ca. einen Millimeter zur Seite und versucht es noch einmal. Und noch einmal… bis es geht – oder er irgendwann abbricht. Dabei bewegt er sich in Form eines größer werdenden Kreises. Dieser Fehler kann leicht entstehen wenn die Platte nicht exakt gerade auf dem Bett aufliegt, durch Spannung etwas gebogen ist, und am Messpunkt zwischen Bett und Platte ein wenig Spiel entsteht. Ich habe mir damit beholfen bei solchen Problemstellen während der Messung mit einem Stift vorsichtig daneben auf die Platte zu drücken. Dabei muss man aber sehr vorsichtig sein, um nicht mit dem Stift oder der Hand, dem sich bewegenden Drucker im Weg zu sein. Ich rate hiervon also ab! Eine bessere Befestigungsmethode als die Klemmen wäre hier die richtige Lösung. Bei einer dickeren Platte ist es möglicherweise auch weniger problematisch.
Was man an diesem Bild auch gut erkennt, die bereits vorgewärmte Düse hinterlässt bei der Nivellierung abdrücke in der Platte. Das könnte vermutlich mit Gcode-modifizierung für eine Nivellierung mit kalter Düse minimiert werden, so weit habe ich aber noch nicht experimentiert. Mit BLTouch Sensoren ist die Nivellierung vielleicht einfacher.

Abdrücke in der PETG Platte durch die Nivellierungsmessung mit vorgeheizter Düse.

und:
– Wird die erste Schicht gut auf die Platte gedruckt?

Bei Modellen mit kleiner Grundfläche und / oder kleiner Höhe kann im weiteren verlauf eigentlich nicht mehr viel schief gehen. Das extrudierte PETG haftet hervorragend auf der kühlen PETG-Platte.
Dennoch gibt es ein Problem für Modelle mit großer Fläche auf dem Druckbett oder großem Volumen, wobei über das extrudierte Filament viel Wärme auf die Platte übertragen wird. Dabei neigt die Platte zu starkem warping. Hierfür habe ich noch keine Lösung gefunden, weitere Experimente sind notwendig. 😀 Mögliche Ansätze sind dickere Platten, bessere befestigung am Bett oder die richtige Temperaturbalance zwischen Bett und Platte zu finden (unten minimal heizen oder oben kühlen?).

Wie gut hält das gedruckte Modell auf der Platte?
Kurze Antwort: sehr gut!
Lange Antwort: Für einen Belastungstest habe ich einen Testhaken entworfen und auf eine Platte gedruckt. Ich habe ihr stückweise stärker belastet bis zu 12,5 Kilo, und ihn so über drei Stunden hängen lassen, ohne dass sich sichtbar etwas verformt hat. So viel hatte ich gar nicht erwartet, aber es wäre wohl auch noch mehr gegangen. Ich habe ihn mit 3 Perimetern und hohem Infill gedruckt. Testhaken Modell: https://www.printables.com/de/model/870869-testhook-triangle-for-printing-on-petg-sheets

Trainingsgewichte hängen an dem Testhaken, der auf eine 2mm PETG Platte gedruckt wurde.
Ansicht von Oben auf die Gewichte am Testhaken.

Die Platte auf der ein Modell gedruckt wurde, hat in der regel noch die falsche Form und oder Größe, für die weitere Verwendung. Ich habe gute Erfahrungen damit gemacht, sie auf einer Dekupiersäge zurecht zu schneiden. Das hat besser funktioniert als mit manchen andern Kunststoffplatten. Hierfür sollte die Schutzfolie auf der Unterseite zum Schutz vor Kratzern noch drauf bleiben. Falls sie schon runter war, kann man sie auch wieder drauflegen, die haftet wieder ganz gut. Die Seiten können danach geglättet werden indem man sie mit einem Messer abzieht, aber bitte hier besonders darauf achten, sich nicht zu verletzen.

Eine PETG Platte mit 3D gedrucktem Text liegt auf dem Tisch einer Dekupiersäge

Und wofür brauche ich das jetzt überhaupt?
Ich wollte zunächst einmal ausprobieren ob das überhaupt funktioniert und war ziemlich begeistert vom Ergebnis, auch wenn es noch so manches Problem zu lösen gilt. Da hierbei eine nicht unerhebliche Menge an Resten und Verschnitt anfällt, würde ich aus Ökologischen Gründen davon abraten diese Methode zu verwenden, wenn ihr nicht eine gute Anwendung dafür habt. Mögliche Verwendungen die mir bisher eingefallen sind, wären Objekte bei denen:
– eine komplett glatte Fläche
– eine Wasserdichte Fläche
– eine transparente (glasklare) Fläche nötig ist.

Konkret z.B. Leuchten, Sichtfenster an Gehäusen, Schablonen, Schilder, Bilder und Kunst.

Eine PETG Platte mit 3D gedrucktem Text:

Modell: https://www.printables.com/de/model/870898-transparency-is-key-framed-art-print-on-petg-sheet

Die Silhouette einer Szene aus dem Videospiel Asteroids, 3D gedruckt auf einer PETG Platte.

Mein Remix Modell: https://www.printables.com/de/model/870938-asteroids-wall-art-remix-print-on-petg-sheets
Originalmodell: https://www.printables.com/de/model/508710-asteroids-wall-art

(Schaut euch bei dieser Gelegenheit doch mal diese Kollektion von Ken Mills an: Framed Wall Art. Eine Tolle Sammlung an 3D druckbaren Bildern für einen gemeinsamen Rahmentyp. Hierfür habe ich ein Montagesystem entworfen.)

Probleme die es noch zu lösen oder optimieren gilt:
– Befestigung der Platte am Bett
– Warping
– Nivellierung

Ich bin sehr gespannt was ihr für Projektideen für diese Methode habt!

klipper-backup | save your config @ github

English below:

Wenn man immer mal wieder an den Einstellungen bei Klipper in den Konfigurationen herum spielt, dann wäre es doch toll, wenn es regelmäßige Backups gibt, die extern gespeichert werden.

Auf der Suche nach einer einfachen Lösung bin ich über folgende Seite gestolpert:
https://github.com/Staubgeborener/klipper-backup

Als erstes installiert man sich auf dem Raspberry oder direkt auf einem Drucker, wie in meinem Fall einem Neptune 4 Plus, git.

sudo apt update
sudo apt install git

Und jetzt schon fast das Wichtigste:

git config --global credential.helper store

Denn mit diesem Befehl wird der Token, den wir im Laufe der weiteren Installation erstellen werden, auch lokal zur Autentifizierung dient, gespeichert.
(Das war auch der Grund, warum ich immer wieder Fehlermeldungen beim Ausführen des Skripts erhalten habe.)

Also falls ihr so etwas wie “remote: Invalid username or password.” oder ähnliches bei der Ausführung des Scripts erhaltet, dann liegt es daran, dass git zumindest auf dem Elegoo Neptune 4 Board nicht direkt das Passwort speichert.

Wir erstellen uns bei Github ein neues Repository und einen Personal Access Token, dem wir Schreibrechte usw. geben.

Dann beginnen wir mit der eigentlichen Installation:

git clone https://github.com/Staubgeborener/klipper-backup.git && chmod +x ./klipper-backup/script.sh && cp ./klipper-backup/.env.example ./klipper-backup/.env

als nächstes bearbeiten wir die .env Datei mit einem Editor (z.B.) vim / nano etc.

nano klipper-backup/.env

Den frisch erstellten Github-Token kopieren wir an die Stelle “github_token=”, schreiben unseren Github-Benutzernamen an die enspechenden Stelle und tragen natürlich auch unser Github Repository ein.

Dann sieht es in etwa so aus:

github_token=ghp_xxx
github_username=noccis-github
github_repository=elegoo_neptune4backup
branch_name=main
commit_username="mks"
commit_email=""

# Indivdual file syntax:
#  Note: script.sh starts its search in $HOME which is /home/{username}/
# Using below example the script will search for: /home/{username}/printer_data/config/printer.cfg

path_printercfg=klipper_config/printer.cfg

# Backup folder syntax:
#  Note: script.sh starts its search in $HOME which is /home/{username}/
# Using below example the script will search for: /home/{username}/printer_data/config/*
# `/*` should always be at the end of the path when backing up a folder so that the files inside of the folder are prop$
#path_klipperdata=printer_data/config/*
path_klipperdata=klipper_config/*

Hier ist wir erstemal soweit fertig und wenden uns der moonraker.conf in Klipper zu.

Hier fügen wir folgendes hinzu und speichern die Datei:

[update_manager klipper-backup]
type: git_repo
path: ~/klipper-backup
origin: https://github.com/Staubgeborener/klipper-backup.git
managed_services: moonraker
primary_branch: main

Aber wir wollen das ganze ja auch noch ein wenig automatisieren:
Und deshalb erstellen wir einen neuen Service:

sudo nano /etc/systemd/system/klipper-backup.service

und dorthin kopieren wir:

[Unit]
Description=Klipper Backup Service
#Uncomment below lines if using network manager
#After=NetworkManager-wait-online.service
#Wants=NetworkManager-wait-online.service
#Uncomment below lines if not using network manager
#After=network-online.target
#Wants=network-online.target

[Service]
User={replace with your username}
Type=oneshot
ExecStart=/bin/bash -c '/home/mks/klipper-backup/script.sh "New Backup on boot $(date +%%D)"'

[Install]
WantedBy=default.target

Denkt bitte daran, die entsprechenden Werte und Pfade auf Euer Umfeld anzupassen.

Wir reloaden den Deamon und starten dann den Service:

sudo systemctl daemon-reload
sudo systemctl enable klipper-backup.service
sudo systemctl start klipper-backup.service

Optional kann man natürlich noch einen Cron installieren, der dann beispielsweise alle 4 Stunden ein Backup macht.

crontab -e

und hier wird dann folgendes eingefügt:

 */4 * * * $HOME/klipper-backup/script.sh

Aber via Mainsail oder Fluid ein Update anzustoßen wäre ja auch irgendwie praktisch. Also machen wir das in der printer.cfg möglich:

[gcode_macro update_git]
gcode:
    RUN_SHELL_COMMAND CMD=update_git_script

[gcode_shell_command update_git_script]
command: bash -c "bash $HOME/klipper-backup/script.sh"
timeout: 90.0
verbose: True

Fertig!

Und in Fuidd sieht das dann so aus:

Um sicher zu gehen, dass auch alles richtig funktioniert, könnt Ihr dann das Script direkt im Terminal einmal ausführen:

bash $HOME/klipper-backup/script.sh

Falls dort eine Passwortabfrage kommen sollte, dann einfach den Token, den Ihr Euch auf Github erstellt habt, nutzen und so sollte auch keine weitere Abfrage mehr kommen.

Viel Spaß!

English Version:

If you play around with the Klipper settings in the configurations from time to time, then it would be great if there were regular backups that are saved externally.

While looking for a simple solution, I stumbled across the following page:
https://github.com/Staubgeborener/klipper-backup

The first step is to install git on the Raspberry or directly on a printer, such as a Neptune 4 Plus in my case.

sudo apt update
sudo apt install git

And now almost the most important thing:

git config --global credential.helper store

This is because this command is used to save the token that we will create during the rest of the installation, which is also used locally for authentication.
(This was also the reason why I kept getting error messages when running the script).

So if you get something like “remote: Invalid username or password.” or something similar when running the script, it’s because git doesn’t save the password directly, at least on the Elegoo Neptune 4 board.

We create a new repository at Github and a personal access token, which we give write permissions etc. to.

Then we start with the actual installation:

git clone https://github.com/Staubgeborener/klipper-backup.git && chmod +x ./klipper-backup/script.sh && cp ./klipper-backup/.env.example ./klipper-backup/.env

Next, we edit the .env file with an editor (e.g. vim / nano etc.)

nano klipper-backup/.env

We copy the newly created Github token to the place “github_token=”, write our Github user name in the appropriate place and of course enter our Github repository.

Then it looks something like this:

github_token=ghp_xxx
github_username=noccis-github
github_repository=elegoo_neptune4backup
branch_name=main
commit_username="mks"
commit_email=""

# Indivdual file syntax:
#  Note: script.sh starts its search in $HOME which is /home/{username}/
# Using below example the script will search for: /home/{username}/printer_data/config/printer.cfg

path_printercfg=klipper_config/printer.cfg

# Backup folder syntax:
#  Note: script.sh starts its search in $HOME which is /home/{username}/
# Using below example the script will search for: /home/{username}/printer_data/config/*
# `/*` should always be at the end of the path when backing up a folder so that the files inside of the folder are prop$
#path_klipperdata=printer_data/config/*
path_klipperdata=klipper_config/*

Here we are ready for the first time and turn to the moonraker.conf in Klipper.
Here we add the following and save the file:

[update_manager klipper-backup]
type: git_repo
path: ~/klipper-backup
origin: https://github.com/Staubgeborener/klipper-backup.git
managed_services: moonraker
primary_branch: main

But we also want to automate the whole thing a little:
And that’s why we’re creating a new service:

sudo nano /etc/systemd/system/klipper-backup.service

and that’s where we copy:

[Unit]
Description=Klipper Backup Service
#Uncomment below lines if using network manager
#After=NetworkManager-wait-online.service
#Wants=NetworkManager-wait-online.service
#Uncomment below lines if not using network manager
#After=network-online.target
#Wants=network-online.target

[Service]
User={replace with your username}
Type=oneshot
ExecStart=/bin/bash -c '/home/mks/klipper-backup/script.sh "New Backup on boot $(date +%%D)"'

[Install]
WantedBy=default.target

Please remember to adapt the corresponding values and paths to your environment.

We will reload the Deamon and then start the service:

sudo systemctl daemon-reload
sudo systemctl enable klipper-backup.service
sudo systemctl start klipper-backup.service

Optionally, you can of course install a cron, which then makes a backup every 4 hours, for example.

crontab -e

and the following will be inserted here:

 */4 * * * $HOME/klipper-backup/script.sh

But triggering an update via Mainsail or Fluid would also be somewhat practical. So we make this possible in the printer.cfg:

[gcode_macro update_git]
gcode:
    RUN_SHELL_COMMAND CMD=update_git_script

[gcode_shell_command update_git_script]
command: bash -c "bash $HOME/klipper-backup/script.sh"
timeout: 90.0
verbose: True

Done!

And in Fuidd it looks like this:

To make sure that everything is working properly, you can run the script directly in the terminal:

bash $HOME/klipper-backup/script.sh

If you are asked for a password, just use the token you created on Github and you should not be asked for another one.
Have fun!

The Liquid Soap Hack

English below.

Ich mag Flüssigseife und ich mag kontaktlose Seifenspender. Das Problem, es ist weder besonders nachhaltig, noch günstig die Seife in Kunststoffkartuschen zu kaufen. Ähnlich wie bei Druckerpatronen, ist man auch hier an den jeweiligen Hersteller des Spenders gebunden, um neue Seife zu kaufen.

Es ist jedoch sehr einfach diese Behälter zu verändern, um sie selbst nachfüllen zu können: Loch bohren, Deckel drauf, fertig!

Um im (leeren) Behälter ein Loch zu bohren eignet sich besonders gut ein Forstnerbohrer oder eine kleine Lochkreissäge. Um die Öffnung wieder zu verschließen, kann zum Beispiel ein passender Dichtstopfen im Baumarkt oder online besorgt werden. Falls ein 3D-Drucker verfügbar ist, lässt sich ein geeigneter Deckel schnell drucken, zum Beispiel mit diesem variablen OpenSCAD Modell: Thingiverse Link.

Der Stopfen muss nicht wirklich dicht sitzen, er dient hauptsächlich als Staubschutz. Nun kann eine beliebige Flüssigseife nachgefüllt werden. Nachhaltiger und / oder günstiger: in größeren Gebinden gekauft, im Unverpackt-Laden selbst abgefüllt, oder aus fester Seife selbst gemacht.

In English:

I like liquid soap and automatic soap dispensers. Unfortunately, it’s not very sustainable and cheap to buy liquid soap in those small plastic containers, which can only be used once. Similar to printer cartridges you are tied to the brand of the dispenser manufacturer, to buy new soap.

But there is a very simple solution to the problem, so you can refill these containers by yourself: drill a hole, print a lid for it – finished.

Most suitable to drill a hole in an (empty) container is an Forstner drill, but you can use any tool you want to. To close the new hole, you can buy a cap with the right diameter in a hardware store – or print one. With this 3D model you can customize a cap for almost every hole shape in OpenSCAD: Thingiverse Link

The cap doesn’t have to seal the hole tightly, the main purpose is to protect the soap from dust and dirt. Now you can refill the container with any liquid soap you like. More sustainable or cheaper one, soap form big packages, in a store without packaging where you can buy products to fill them into your own containers, or homemade from solid soap.