Creality Sonic Pad - Klipper Oficial, custom firmware
Última actualización
Última actualización
Como muchas veces hemos comentado, la Creality Sonic Pad utiliza un firmware personalizado por Creality y que por desgracia no está actualizado por lo que la compatibilidad y acceso a según que opciones de Klipper no son posibles.
Pero, ¿por qué es importante utilizar un firmware custom, no de Creality, para poder disponer de una versión Klipper oficial y actualizada?
La versión stock del sistema operativo de la Creality Sonic Pad utilizan una distribución llamada Tina, una versión a su vez que es un fork de OpenWRT hecha por Allwinner para sus procesadores, que es el que justamente monta la Creality Sonic Pad.
Creality ha personalizado esta distribución para instalar los componentes de Klipper como es el core de Klipper, Moonraker y Klipper Screen y personalizarlos para su ecosistema pero, por otro lado, esta customizacion se basa en versiones antiguas de Klipper por lo que perdemos ciertas funciones y compatibilidad.
Aquí es donde entra en juego la comunidad y el proyecto para crear una distribución para la Creality Sonic Pad con un Debian y Klipper oficial preinstalado además de compatible con herramientas como Kiauh para poder instalar o actualizar los componentes de Klipper o relacionados.
IMPORTANTE!!!
Para poder adaptar nuestra Sonic Pad a este nuevo firmware custom vamos a tener que descargar un nuevo firmware/imagen/distribución, aplicarlo a nuestro Sonic Pad y realizar configuraciones de nuestro entorno de la forma tradicional... esto es sin alguno de los asistentes que Creality incluye en su firmware stock.
Por eso es importante recordar que para realizar este proceso has de tener unos minimos conocimientos de Linux, informática ademas de manejo de Klipper y sus ajustes.
Por otro lado indicar que este proceso puede dejar inservible vuestro Sonic Pad y que al final es vuestra responsabilidad realizar el proceso y cualquier problema que pueda venir de utilizarlo.
A continuación os vamos a describir los pasos del proceso, de todas formas os facilitamos el siguiente video que puede facilitar entender el proceso.
Links importantes que pueden ser de utilidad durante el proceso:
Creality Original Firmware, aquí tenéis disponibles para descarga los firmwares originales de Creality para la Sonic Pad
SonicPad Debian Firmware, página con las versiones/releases en Github
PhoenixSuit Tool, descarga de la herramienta para aplicar firmware a nuestra Sonic Pad
Disponemos de los ficheros a descargar desde el apartado Releases del proyecto Sonic Pad Debian del compañero Jpe230. Hemos de descargar el zip y todos los zxx que estén en el apartado Assets de cada release:
Una vez descargados los descomprimimos y nos dejará un fichero con la imagen con extensión .img
.
El siguiente paso será la descarga de PhoenixSuit que podremos encontrar en la carpeta tools dentro del repositorio oficial de Creality Sonic Pad donde encontraremos versiones para Windows y MacOS.
Una vez descargado lo descomprimimos en nuestro ordenador y abriremos la aplicación cargando la imagen descargada en el punto anterior:
A continuación conectaremos el cable USB (USB-A macho a USB-A macho!!!) entre nuestro ordenador y nuestra Creality Sonic Pad... es importante hacerlo en el puerto USB con la etiqueta CAM!!!
Pulsaremos con un clip o una llave Allen del diámetro adecuado el pulsador FEL que podéis ver en la imagen a continuación al mismo tiempo que encendemos la Sonic Pad.
Si todo ha ido bien nuestra Creality Sonic Pad estará en modo BOOT, la pantalla no mostrará imagen durante este modo.
Con la Creality Sonic Pad en modo BOOT y con el cable USB-Am/Am conectados nuestro ordenador deberá detectar un nuevo dispositivo del que probablemente no tengamos drivers, estos drivers los podemos encontrar en el PhoenixSuit descomprimido en la carpeta Drivers.
Una vez tengamos los drivers instalados PhoenixSuit podrá aplicar el firmware custom a ella, como primer paso nos va a pedir que formateemos el dispositivo:
Este proceso va a borrar completamente el contenido de nuestro Sonic Pad por lo que os aconsejamos disponer de un backup de vuestras configuraciones previas.
Este proceso es crítico, cualquier problema durante el mismo podría dañar la Sonic Pad y dejarla inservible.
Una vez finalizado el proceso ya tendremos todo instalado, apagaremos la Sonic Pad y volveremos a encenderla normalmente asegurándonos que retiraremos el cable entre esta y el ordenador.
Si todo ha ido bien al encenderla veremos el logo rojo de Debian, el primer arranque puede tardar unos minutos.
Ahora que ya tenemos un sistema "libre" además de la IP podemos comenzar a por conectarnos a el por SSH para realizar algunas acciones.
El primer paso, si no conectamos por cable a nuestra red, será configurar la WiFi utilizando la pantalla de la Sonic Pad donde veremos el interfaz, puro, de KlipperScreen. Iremos a Menu -> Network donde veremos las redes WiFi disponibles y podemos conectarnos a una además de ver la IP asignada una vez conectados.
Aunque tenemos más información sobre esto en nuestra guia de primeros pasos os vamos a describir brevemente el proceso.
Lo primero es importante disponer de la IP de red asignada a nuestra Sonic Pad tal como vimos en el paso anterior, esta IP la utilizaremos para configurar el acceso desde nuestro cliente SSH os aconsejamos Terminus por ser multiplataforma, sencillo y no tiene coste para el uso de administrar tus máquinas con Klipper. También dispones de otras como Putty.
Igualmente importante recordar el usuario/password que podemos utilizar, os aconsejamos utilizar sonic:
root
toor
sonic
pad
Si tenemos nuestra Sonic Pad en un entorno con acceso de red compartido os aconsejamos cambiar estos passwords por unos propios por seguridad con el comando:
sudo passwd root
-> si queremos cambiarlo para el usuario root
sudo passwd sonic
-> en el caso del usuario sonic
También os aconsejamos actualizar el sistema mediante el comando sudo apt-get update && sudo apt-get upgrade
para asegurarnos que tenemos todo actualizado.
En esta distribución contamos con Kiauh que es un script que desde SSH y mediante sencillos menús nos va a permitir instalar, actualizar y eliminar componentes relacionados con Klipper.
Podremos lanzar Kiauh desde la línea de comandos de SSH lanzando ~/kiauh/kiauh.sh
(el path completo por información es /home/sonic/kiauh/kiauh.sh
)
Toda la información de nuestra instancia de Klipper en nuestra nueva Sonic Pad custom la vamos a encontrar en el path /home/sonic/printer_data/config
CONSEJOS SOBRE APAGADO DE LA SONIC PAD:
Para evitar problemas con el sistema os aconsejamos SIEMPRE realizar un apagado correcto de la Sonic Pad, apagar el sistema utilizando el botón de apagado/encendido es contraproducente.
El apagado correcto podremos realizarlo desde el interfaz web o Klipperscreen que disponen de opciones para ello apagando el sistema de la forma correcta.
Otro ajuste recomendable es el de la zona horaria para que la información de tiempos sea siempre correcta con nuestra localización.
Para ello:
Podemos listar todas las zonas horarias con timedatectl list-timezones | more
Para ajustar nuestra Sonic Pad a una zona horaria lo haremos con timedatectl set-timezone 'Europe/Madrid'
Verificaremos que todo está correcto con timedatectl
y reiniciaremos el sistema para que se apliquen los cambios
Para aprovechar las capacidades de Klipper con su Input Shaper, os aconsejamos leer la guía del link, y el acelerómetro que podemos instalar en nuestra Sonic Pad os vamos a explicar el proceso para poder hacer funcionar este en nuestro custom firmware.
Primero nos aseguramos que nuestro sistema esté completamente actualizado lanzando el siguiente comando desde nuestra linea de comandos SSH:
Instalaremos las dependencias para poder utilizar el acelerómetro y sus componentes
Instalaremos los componentes para realizar los cálculos Input Shaper
Añadiremos el componente numpy a nuestro entorno python virtual Klipper
Nos aseguramos que nuestro servicio Klipper MCU arranque al inicio
Aplicaremos el firmware Klipper a nuestra MCU Sonic Pad para tener acceso a sus pines/componentes (como en este caso el acelerómetro)
Ahora que ya hemos habilitado nuestra Sonic Pad como segunda MCU hemos de habilitar el acceso por parte de Klipper, añadiremos lo siguiente a nuestro printer.cfg
Con esto ya tenemos listo nuestra Sonic Pad para utilizar su acelerómetro. Os aconsejamos revisar nuestra guía Input Shaper para ver los siguientes pasos y ajustes.
En algunos casos se pueden ver errores como el siguiente (unsupported locale setting) durante el proceso:
Ejecutaremos los siguientes comandos para ajustar el locale en "en_US UTF8"
Normalmente en estos casos puede ser por incompatibilidades entre la versión instalada de numpy y nuestro sistema, usando una versión anterior o actualizando esta suele ser la solución.
Para utilizar una versión anterior, donde podremos especificar la versión a usar:
Al realizar los cambios anteriores perdemos algunas de las funcionalidades que Creality integra en su firmware como es que podamos usar un USB para pasar los gcodes a nuestra máquina, algo que con Klipper no suele ser necesario salvo en determinados usos específicos por requerimiento... como por ejemplo tener la máquina en un entorno sin acceso a red.
El primer paso, para simplificar el proceso, es darle un nombre estándar a nuestro USB... pongamos para la guía que le llamamos USB
Es importante recordar que Linux es sensible a mayúsculas y minúsculas por lo que el nombre que le des a tu USB ha de ser exactamente igual al que uses en los siguiente pasos.
Editaremos la configuración de fstab que es el demonio que se encarga de montar unidades, esto lo haremos mediante el siguiente comando desde SSH sudo nano /etc/fstab
(en la guía de primeros pasos tienes información de nano que es un editor de textos en línea de comandos para Linux) y añadiremos al final lo siguiente:
Crearemos un punto de montaje para ello con mkdir ~/printer_data/gcodes/USB
Montaremos todos los recursos sudo mount -a