Klipper-Touch is an alternative web-based UI for Klipper3d/Moonraker that focuses on small touch screens without keyboard or mouse.
This is currently nothing more than a personal experiment and a project to learn - even if it works.
First of all, and as always with my other posts and projects. I am not a company. I'm doing this in my spare time and mostly because I'm really excited about making these things work and improving them.
I have tested all this stuff only with my own printer and the constellation around it. I have done my best to make it all work without problems. However, this is a work in progress. There is no guarantee. Be careful, watch your printer, double check things. Use it as is. I am not responsible for any damage or consequences of any kind.
And yes, help and improve if you find something.
Install Btt image with panfrost support. >= v 2.3.3
Update to debian bookworm
sudo nano /etc/apt/sources.list
replace bullseye by bookworm, add non-free-firmware to all entries
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
# deb-src <http://deb.debian.org/debian> bookworm main contrib non-free non-free-firmware
deb < http://deb.debian.org/debian > bookworm-updates main contrib non-free non-free-firmware
# deb-src <http://deb.debian.org/debian> bookworm-updates main contrib non-free non-free-firmware
deb < http://deb.debian.org/debian > bookworm-backports main contrib non-free non-free-firmware
# deb-src <http://deb.debian.org/debian> bookworm-backports main contrib non-free non-free-firmware
deb < http://deb.debian.org/debian-security > bookworm-security main contrib non-free non-free-firmware
# deb-src <http://deb.debian.org/debian-security> bookworm-security main contrib non-free non-free-firmware
Upgrade system from bullseye to bookworm
sudo apt update
sudo apt dist-upgrade
sudo apt autoremove
Install xinit and input drivers sudo apt install xinit xf86-input-evdev
Download it from https://github.com/freakydude/klipper-touch/releases
Install Klipper-Touch
Go to your manual downloaded package directory and run
sudo apt install ./klipper-touch_0.1.0_arm64.deb
Configure your cors_domains
in moonraker.conf
to allow Klipper-Touch to access the moonraker apis
Run Klipper-Touch
/usr/bin/startx /usr/bin/klipper-touch -- -nocursor
or/usr/bin/klipper-touch
Klipper-Touch listen on url: http://127.0.0.1/
and ws://127.0.0.1/websocket
for a moonraker api connection.
To use another url, use the commandline parameters
-h <Moonraker-HTTP-URL> eg. `http://192.168.1.1/`
-w <Moonraker-Websocket-URL> eg. `ws://192.168.1.1/websocket`
To start in fullscreen mode
-f
Common
Docker & Docker Compose see: https://docs.docker.com/get-docker/
NPM Package manager (nodejs installation) see: https://github.com/nodesource/distributions#installation-instructions
Tauri see: https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-linux
If you are using Archlinux, you can skip the rust paragraph
Install docker and docker-compose
pacman -S docker docker-compose
Install rust (if skipped before)
pacman -S rustup
rustup default stable
Install dependencies in the project root folder with
npm install && npm install --save-dev @tauri-apps/cli
Run:
npm run tauri dev
npm run tauri dev -- -- -- -h http://<moonraker-ip> -w ws://<moonraker-ip>/websocket
Build:
npm run tauri build
CrossCompile:
pacman -S qemu-user-static docker-buildx
Build debian bullseye arm32v7 package (RPi 32 bit)
docker compose up klipper-touch_build_arm32v7
Build debian bullseye arm64v8 package (RPi 64 bit)
docker compose up klipper-touch_build_arm64v8
Feel free to create pull requests and discussions. I can't solve anything alone.
Have fun!
If you like, buy me a coffee
freakyDude