Awesome
Mobileraker - A free mobile app for klipper
Table of Content
- Download the app
- General
- Push-Notifications
- App Screenshots
- Translations
- Environment Setup for Contribution
- Changelog
- License
Get Mobileraker now!
General
š·ļø Mobileraker works as a simple UI for Klipper on the phone. Connect it to an existing moonraker installation and control the printer.
š§° With Mobileraker, the user has access to critical machine commands:
- Pause, Resume, Stop a print job
- Monitor the print progress
- Control all axis of the machine
- Control the heaters
- Get the current temperature readings
- Control fans
- Control pins like LEDs
- Send GCode Macros
- Emergency Stop the machine
š ļø Additionally, Mobileraker enables the user to monitor the machine via an integrated webcam viewer with support for multiple cams, interact with the machine through the GCode console and browse the available GCode files to start a new print job. Mobileraker also offers comfort features like remote push notifications about the progress of a print job, temperature presets.
āØ One more thing ... Mobileraker can manage multiple machines!
āš» Some final words from the project owner: Hi, My name is Patrick Schmidt, and I am the developer of Mobileraker. Mobileraker started as a small side project with the intention to be able to control My 3D printer via My phone. After posting some screenshots of the app to the 3D printing community, the public interest in Mobileraker grew, and I published it to the app stores. As I am only able to work on Mobileraker in my free time, I am always thankful for support and feedback. Either via lovely messages of people enjoying Mobileraker, good reviews in the store or through donations. I hope you enjoy Mobileraker and happy printing š!
Push Notifications / Remote Notification
Note
Android's progress notification (Shown in the Impression Images) is not supported anymore, due to a change in a 3rd party library. As soon as this library offers support for this kind of notification again, I will revisit the implementation (Feel free to contribute).
Mobileraker allows users to enable push notifications, which are also delivered if your phone is not in the same network as your klipperized 3D printer. To allow Mobileraker to send push notifications to your phone, please install and configure the Mobileraker's Companion. You can learn more about it by visiting the Mobileraker's Companion GitHub project to learn more.
App Impressions
<img src="misc/AppMockUp Screenshots/Google Pixel 4 XL (1520x3040)/Google Pixel 4 XL Screenshot 0.png" width="23%"></img> <img src="misc/AppMockUp Screenshots/Google Pixel 4 XL (1520x3040)/Google Pixel 4 XL Screenshot 1.png" width="23%"></img> <img src="misc/AppMockUp Screenshots/Google Pixel 4 XL (1520x3040)/Google Pixel 4 XL Screenshot 2.png" width="23%"></img> <img src="misc/AppMockUp Screenshots/Google Pixel 4 XL (1520x3040)/Google Pixel 4 XL Screenshot 3.png" width="23%"></img> <img src="misc/AppMockUp Screenshots/Google Pixel 4 XL (1520x3040)/Google Pixel 4 XL Screenshot 4.png" width="23%"></img> <img src="misc/AppMockUp Screenshots/Google Pixel 4 XL (1520x3040)/Google Pixel 4 XL Screenshot 5.png" width="23%"></img> <img src="misc/AppMockUp Screenshots/Google Pixel 4 XL (1520x3040)/Google Pixel 4 XL Screenshot 6.png" width="23%"></img> <img src="misc/AppMockUp Screenshots/Google Pixel 4 XL (1520x3040)/Google Pixel 4 XL Screenshot 7.png" width="23%"></img>
Translations
Mobileraker already supports multiple languages, but it relies on contributions to add new languages and keep existing translations up to date. If you want to add your own language or update an existing one, please feel free to open a Pull Request (PR). This guide provides details on the structure of translation keys and how to add a new language.
Environment Setup for Contribution
Note:
This section outlines the steps required for contributors who wish to enhance or contribute to the project, or for those who want to build the app locally.
-
Flutter and FlutterFire Installation:
- Ensure that you have Flutter and FlutterFire installed on your machine.
-
Import Project into IDE:
- Import the project into your preferred Integrated Development Environment (IDE).
-
Clone the
mobileraker_pro_pub
Repository:- Clone the mobileraker_pro repository into same location as the
mobileraker
repository. - Folder structure should look like this:
. āāā mobileraker āāā mobileraker_pro_pub
- Clone the mobileraker_pro repository into same location as the
-
Configure Dependency in
pubspec.yaml
:- In pubspec.yaml, verify that the
path
option for themobileraker_pro
dependency is used that points to the clonedmobileraker_pro_pub
repository.... mobileraker_pro: path: ../mobileraker_pro_pub
- In pubspec.yaml, verify that the
-
Generate Required Files:
- Run the following commands in the terminal of the repos root folder:
This will generate necessary files in both the root folder and theflutter pub get flutter packages pub run build_runner build cd common flutter pub get flutter packages pub run build_runner build
common
folder.
- Run the following commands in the terminal of the repos root folder:
-
Firebase Configuration:
- Run the command:
This step configures your Firebase project, targeting both Android and iOS platforms, and generates aflutterfire configure
firebase_options.dart
file.
- Run the command:
-
Update
firebase_options.dart
:- Replace the contents of the
firebase_options.dart
file in the clonedmobileraker_pro_pub
repository with the contents of thefirebase_options.dart
file generated in the previous step.
- Replace the contents of the
-
Run the App:
- Run the app on your preferred device or emulator. Happy coding!
Changelog
The changelog can be found in docs/changelog.md.
License
The project is licensed under the Mobileraker License v2, an updated version of the Mobileraker License v1 crafted by Patrick Schmidt which itself was based on the MIT license. This license permits non-commercial use, redistribution, and modification of the software and documentation, provided that copyright and permission notices are preserved. However, commercial usage is restricted unless explicit written consent is obtained from Patrick Schmidt, who also maintains all intellectual property rights.
The project was initially licensed under the MIT License until the 11th of June 2023. Afterward, it transitioned to the Mobileraker License v1 until the 19th of May 2024. Since then, the project is licensed under the Mobileraker License v2.
For more details, please refer to the LICENSE file.