ElegooRemoteControl is a native C++ GUI application designed to control and monitor Elegoo Saturn 3D printers over the network.
This project is a high-performance port of the original Python tool Cassini. It replicates the complex network logic (custom MQTT broker + HTTP server handshake) required to communicate with the printer's mainboard, but wrapped in a modern, easy-to-use Qt 6 interface.
- Network Discovery: Automatically finds Saturn printers on the local network via UDP broadcast.
- Status Monitoring: Real-time feedback on printer status (Idle, Printing, Busy), current layer, and total layers.
- File Upload & Print: Allows uploading
.gooor.ctbfiles directly to the printer and starting the print job immediately. - Multi-language Support: The user interface is available in English and Spanish. It auto-detects the system language on startup and provides a selector to change it manually.
- Native Performance: Built with C++17 and Qt 6 for minimal resource usage and zero Python dependencies on the client machine.
- Linux, Windows, or macOS.
- CMake (3.16 or higher).
- Qt 6 (Core, Network, Widgets, LinguistTools modules).
- C++ Compiler supporting C++17.
sudo apt update
sudo apt install build-essential cmake qt6-base-dev qt6-base-dev-tools qt6-l10n-tools-
Clone the repository:
git clone https://github.com/gokuhs/ElegooRemoteControl.git cd ElegooRemoteControl -
Create a build directory and run CMake:
mkdir build cd build cmake .. -
Update and compile translations: If you have modified any translatable strings in the source code, you must update the
.tsfile using Qt'slupdatetool. You can then use Qt Linguist to edit the translations intranslations/saturn_es.ts.# From the build directory lupdate .. -ts ../translations/saturn_es.tsAfter translating, the
.tsfiles are automatically compiled into.qmfiles bymake/cmake. -
Compile the project:
make
-
Run the application: After compiling, the
build/translationsdirectory will contain thesaturn_es.qmfile. The application executable needs to find this file at runtime. Make sure thetranslationsdirectory is placed next to theSaturnControlexecutable. After compiling, thebuild/translationsdirectory will contain thesaturn_es.qmfile. The application executable needs to find this file at runtime. Make sure thetranslationsdirectory is placed next to theElegooRemoteControlexecutable.A simple way to run it is to copy the translations folder into the build directory where the executable is:
cp -r ../translations . ./ElegooRemoteControl
- Original Logic (Cassini): Copyright (C) 2023 Vladimir Vukicevic (MIT License). This C++ port bases its reverse-engineered network protocol logic on his work.
- C++ Port: Developed as an open-source contribution.
ElegooRemoteControl es una aplicación nativa en C++ con interfaz gráfica diseñada para controlar y monitorizar impresoras 3D Elegoo Saturn a través de la red local.
Este proyecto es un port de alto rendimiento de la herramienta original en Python llamada Cassini. Replica la compleja lógica de red (Broker MQTT personalizado + Handshake de servidor HTTP) necesaria para comunicarse con la placa base de la impresora, pero envuelta en una interfaz moderna y fácil de usar basada en Qt 6.
- Descubrimiento de Red: Encuentra automáticamente impresoras Saturn en la red local mediante broadcast UDP.
- Monitorización de Estado: Información en tiempo real del estado de la impresora (En espera, Imprimiendo, Ocupada), capa actual y total de capas.
- Subida e Impresión: Permite subir archivos
.gooo.ctbdirectamente a la impresora e iniciar el trabajo de impresión inmediatamente. - Soporte Multi-idioma: La interfaz de usuario está disponible en inglés y español. Detecta automáticamente el idioma del sistema al arrancar y proporciona un selector para cambiarlo manualmente.
- Rendimiento Nativo: Construido con C++17 y Qt 6 para un uso mínimo de recursos y sin dependencias de Python en la máquina cliente.
- Linux, Windows o macOS.
- CMake (3.16 o superior).
- Qt 6 (Módulos Core, Network, Widgets, LinguistTools).
- Compilador C++ con soporte para C++17.
sudo apt update
sudo apt install build-essential cmake qt6-base-dev qt6-base-dev-tools qt6-l10n-tools-
Clona el repositorio:
git clone https://github.com/gokuhs/ElegooRemoteControl.git cd ElegooRemoteControl -
Crea un directorio de compilación y ejecuta CMake:
mkdir build cd build cmake .. -
Actualizar y compilar traducciones: Si has modificado alguna de las cadenas de texto traducibles en el código fuente, debes actualizar el archivo
.tscon la herramientalupdatede Qt. Después puedes usar Qt Linguist para editar las traducciones entranslations/saturn_es.ts.# Desde el directorio 'build' lupdate .. -ts ../translations/saturn_es.tsDespués de traducir, los archivos
.tsse compilan automáticamente a.qmal ejecutarmake/cmake. -
Compila el proyecto:
make
-
Ejecuta la aplicación: Después de compilar, el directorio
build/translationscontendrá el archivosaturn_es.qm. El ejecutable de la aplicación necesita encontrar este archivo en tiempo de ejecución. Asegúrate de que el directoriotranslationsesté junto al ejecutableSaturnControl. Después de compilar, el directoriobuild/translationscontendrá el archivosaturn_es.qm. El ejecutable de la aplicación necesita encontrar este archivo en tiempo de ejecución. Asegúrate de que el directoriotranslationsesté junto al ejecutableElegooRemoteControl.Una forma sencilla de ejecutarlo es copiar la carpeta de traducciones al directorio de compilación donde se encuentra el ejecutable:
cp -r ../translations . ./ElegooRemoteControl
- Lógica Original (Cassini): Copyright (C) 2023 Vladimir Vukicevic (Licencia MIT). Este port en C++ basa su lógica de protocolo de red e ingeniería inversa en su trabajo.
- Port C++: Desarrollado como contribución de código abierto.