Beam Klipper allows you to run Klipper host software (Klippy) on any Android 5.0+ device with OTG support.
Telegram: https://t.me/ytkab0bp_channel
Boosty (Patreon alternative): https://boosty.to/ytkab0bp
K3D Chat for discussion & support (Russian language only): https://t.me/K_3_D
- Download & install firmware.bin from here (or build your own from this repo to ensure versions compatibility)
- Install APK from Releases tab
- Allow all the permissions required
- Add printer instance (Click generic-***.cfg if your printer is not available)
- Click start
- Go to web server's url
http://IP:8888/
- Configure serial port from "Devices" tab in web editor (1.0.1+ configures automatically if you use single printer setup)
- You're awesome!
Yes! You definitely can!
Beam Klipper does not do anything to your Android system, it runs in user-space as a regular Android app
It's displayed on main page when any of the instances are running.
Web server URL is: http://IP:8888/
Camera URL's are:
- /webcam/?action=stream =>
http://IP:8889/
- /webcam/?action=snapshot =>
http://IP:8889/snapshot
Recommended camera config is mjpeg-stream (Not adaptive mjpeg) for Fluidd and UV4L-MJPEG for Mainsail
Beam Klipper bundles:
Beam Klipper provides additional extensions to control some built-in features.
Include [beam_camera]
into your printer.cfg
SET_CAMERA_FLASHLIGHT ENABLED=true/false
- Toggles flashlight
SET_CAMERA_FOCUS AUTOFOCUS=true/false FOCUS_DISTANCE=0...?
- Sets camera autofocus state and focus distance if autofocus is disabled. FOCUS_DISTANCE
is expressed in dioptres, it may vary from device to device
Include [include beam_beeper.cfg]
into your printer.cfg
Use M300
macro as defined in docs
You can put the app to autostart by setting needed printers to autostart AND setting app as default launcher.
You must remove lockscreen pincode if your device is encrypted (Enabled by default on most devices)
Some manufacturers may restrict app's performance or background process. You can circumvent this by setting app as default launcher and allowing all the background tasks
Yup. Should be working just fine. But please note that some cheap TV boxes does not support setting Beam Klipper as launcher without disabling system one first, use ADB or root to disable it.
I'm using UGREEN Type-c hub (Not affiliated, but I'm waiting for your request UGREEN :D), but any should be fine if it works with your device and provides charging at the same time
- Web server can't run on default port because Android/linux doesn't allow user-space apps to bind to ports less than 1024 and we want 80 for default
http://IP
- Only up to 4 instances can be running at the same time because Android requires developer to declare each service with different process individually. Idk if someone will use more than that anyway ¯\_(ツ)_/¯
- Some devices may reset device path on firmware restart, you should use VID/PID naming in that case
- No SSH (You won't be able to build firmware or run additional autorun services anyway)
- Some devices doesn't support OTG and charging at the same time, you must solder directly to the battery pins in that case (Or use different device, it's up to you)
- Only 250000 baud rate is supported (I don't want to forward this setting into Android USB driver, almost all configurations use 250000 anyway)
- Fetch all of the submodules first! (
git clone --recursive
, do NOT download project as archive) - Import project into Android Studio & click run
Pull requests are welcome, but I will NOT approve Kotlin source code as I don't use it in my projects