Raspberry Pi o cualquier host que pueda correr Linux, normalmente se aconseja Raspberry Pi dado que la mayoría de distribuciones y herramientas son totalmente compatibles con ellas y en otros dispositivos se ha de realizar una instalación manual e incluso adaptar algunas partes.
Si elegimos instalar nuestro host Klipper en una Raspberry Pi, es aconsejable al menos una Raspberry Pi 3B/Zero W 2 o superior.
También es importante que el cargador que alimente esta sea el oficial o uno adecuado para alimentar estos tipos de disposivos.
En otros dispositivos similares como Orange Pi, Odroid, Banana, etc los requerimientos van a ser similares.
SD, aconsejable que sea rápida y con espacio suficiente para almacenar el sistema y archivos gcode normalmente entre 16-64Gb que sea de Class 10 (velocidad).
Cable conexión entre nuestra Pi y nuestra electrónica/impresora, ya sea USB que es lo más normal o vamos a conectar usando USART u otro tipo de conexión como CAN disponer del cable correspondiente en cada caso.
Es importante que este cable sea de la mayor calidad y que este quede correctamente conectado/fijado entre dispositivos para evitar que las vibraciones o movimientos de nuestra máquina puedan afectar a la conexión.
Antes de comenzar!!!
Por favor entiende que instalar Klipper en tu impresora require de cierta experiencia con impresoras 3d, hardware y software. Puede no ser una tarea trivial para gente que se acaba de iniciar en el mundo 3D o que no dispone de unos mínimos conocimientos ya que puedes romper tu impresora o pi durante el proceso
Lee antes la guía completa y entiende todos los pasos que explicamos. Si tienes cualquier duda del proceso por favor te aconsejamos unirte al grupo de Telegram https://t.me/Klipper_Firmware_ES donde seguro te echaran una mano.
No nos hacemos cargo de cualquier daño, problema o fallo que se pueda ocasionar siguiendo estas guías, todos los pasos han sido probados o son las instrucciones de los propios fabricantes/desarrolladores y no deberían de ocasionar fallos.
Se intentan mantener al día pero puede darse el caso que, por actualizaciones, estos pasos puedan variar sin previo aviso.
Estás haciendo estos cambio bajo tu propia responsabilidad!!!
Instalando Klipper usando imágenes preconfiguradas para Raspberry Pi
Aunque os mostraremos como instalar el sistema usando un sistema base de Raspberry también disponemos de distribuciones de Klipper con todo preinstalado que suele ser la alternativa más sencilla y rápida para tener nuestro Klipper montado en especial para usuarios sin experiencia en Linux o Klipper.
Pricipalmente contamos con dos distribuciones: MainsailOS especialmente indicada para usuarios que comienzan con Klipper, RatOS para usuarios más experimentados en Klipper y que puedan sacar provecho de su configuración modular y macros avanzadas.
Os aconsejamos instalar como complemente a cualquier distribución/imagen de Klipper que os sugerimos a continuación que os instaléis Kiauh ya que añade una serie de ayudas extras interesantes.
Una de las opciones es usar la distribución de Mainsail llamada MainsailOS:
DESCARGA DE LA IMAGEN DESDE RASPBERRY PI IMAGER DIRECTAMENTE:
En el caso que utilicemos Raspberry Pi Imager directamente desde sus opciones podremos elegir que se descargue MainsailOS desde la opción CHOOSE OS:
La selección de la imagen de Raspberry Pi OS 32b o 64b dependerá que nuestra Pi la soporte:
Normalmente la instalación de la versión 32b suele ser más segura aunque actualmente los diferentes componentes de Klipper así como sus dependencias (Python) soportan sin problema entornos de 32/64b.
Identificaremos entre 32b o 64b para SBC Raspberry por el nombre del fichero:
Aparecen varios ficheros a descargar, el correcto (fijarse en el tamaño) suele ser el acabado en .img.xz:
Descomprimiremos el zip donde obtendremos un .img
Utilizando BalenaEtcher o Raspberry Pi Imager escribiremos .img a nuestra SD (8GB o mayor además de idealmente que sea una SD de alta velocidad)
ESTE PROCESO BORRARÁ TODO EL CONTENIDO DE NUESTRA SD.
Colocaremos la SD en nuestro host y alimentaremos para que arranque.
Si usamos wifi, y no hicimos la configuración de esta en el caso de usar Raspberry Pi Imager, editaremos el fichero mainsailos-wpa-supplicant.txt donde añadiremos la información de nuestra red wifi.
Una vez tengamos instalado nuestro Klipper os sugerimos continuar con la guía de primeros pasos en Klipper donde veremos como conectarnos al interfaz web, SSH, primeras comprobaciones y ajustes, etc...fácilmente
Al igual que Mainsail RatOS de Ratrig también ha creado una distribución con todo instalado para sus máquinas basado en Mainsail y que sin duda aún sin tener una Ratrig, también tiene soporte por defecto para máquinas Voron y Prusa, las macros que incluyen puede ser una gran base para nuestro Klipper.
Descomprimiremos el zip donde obtendremos un .img
Utilizando BalenaEtcher o Raspberry Pi Imagerescribiremos .img a nuestra SD (8GB o mayor además de idealmente que sea una SD de alta velocidad)
ESTE PROCESO BORRARÁ TODO EL CONTENIDO DE NUESTRA SD.
Colocaremos la SD en nuestro host y alimentaremos para que arranque.
RatOS crea un punto de acceso wifi llamado RatOS al que podremos conectarnos para realizar la configuración una vez conectados http://RatOS.local/configure o http://192.168.50.1/configure para configurar los parámetros de nuestra wifi.
Una vez tengamos instalado nuestro Klipper os sugerimos continuar con la guía de primeros pasos en Klipper donde veremos como conectarnos al interfaz web, SSH, primeras comprobaciones y ajustes, etc...
Kiauh : Instalando Klipper de forma manual asistida
Kiauh es un grandísimo avance para Klipper. Kiauh permite mediante unos sencillos menus instalar Klipper y sus principales componentes de una forma sencilla:
Instalación de Klipper
Instalar Moonraker (API que permite interactuar con Klipper por terceros como Mailsail, Fluidd o KlipperScreen)
Instalación de diferentes interfaces web como Mailsail, Fluidd, Duet Web Control o Octoprint
Instalar KlipperScreen (un fork de OctoScreen para Klipper)
Actualizar todos los componentes (Octoprint de ser instalado se gestionará directamente desde el mismo)
Eliminar cualquier componente
Hacer un backup del sistema
Preparar el firmware Klipper para nuestra MCU (placa de la impresora)
Detectar el serial donde comunicar con nuestras MCU
Puedes encontrar un listado completo de las características aquí.
Kiauh se hace una herramienta indispensable en el caso que optemos por una distribución Linux que no cuente preinstalados los componentes Klipper.
Preparación de nuestro host Klipper
ESTE PASO ES NECESARIO SI NO HEMOS OPTADO POR UTILIZAR UNA DISTRIBUCIÓN CON TODO INSTALADO COMO LAS ANTERIORES SUGERIDAS.
ESTE PROCESO NO ES ACONSEJABLE PARA USUARIOS SIN UN MINIMO EXPERIENCIA EN LINUX O KLIPPER.
Para poder instalar Klipper debemos preparar nuestro host Klipper. Esta guía no va a entrar en detalle este paso tan solo haremos un listado rápido de los pasos a seguir basados en un host como Raspberry Pi:
Descargaremos una imagen de Raspberry Pi OS Lite y la "quemaremos" en nuestra SD usando BalenaEtcher o Raspberry Pi Imager.
En el caso que no uses una Pi usaremos la imagen del sistema más adecuado a nuestro host
Colocaremos la SD en nuestro host y alimentaremos para que arranque.
Verificaremos que nuestro host Klipper arranca y podemos conectarnos por red wifi o cable
Habilitaremos SSH y verificaremos que podemos conectar por SSH
En el caso que nuestro host Klipper sea una Pi:
Ejecutaremos sudo raspi-config
Haremos un reset del password por defecto
configuraremos el hostname si queremos
Ejecutaremos sudo apt-get update y sudo apt-get upgrade para actualizar nuestra pi
La selección de la imagen de Raspberry Pi OS 32b o 64b dependerá que nuestra Pi la soporte:
Normalmente la instalación de la versión 32b suele ser más segura aunque actualmente los diferentes componentes de Klipper así como sus dependencias (Python) soportan sin problema entornos de 32/64b
Instalando Kiauh
Ahora que ya tenemos el sistema base en nuestro host Klipper, esta actualizado y podemos conectarnos por SSH a ella comenzaremos a instalar Kiauh
Permitimos que los scripts descargados puedan ser ejecutados
Ejecutamos Kiauh
Si necesitamos volver a lanzar Kiauh en el futuro podemos ir a home/pi/kiauh (o el path de instalación elegido) y ejecutar ./kiauh.sh
Una vez hemos realizado el proceso completo y lanzamos Kiauh deveriamos ver un menú como este:
En el caso que vengas de la instalación de una distribución con todo pre-instalado como MainsailOS/RatOS/FluiddOS no es necesario que realices los siguientes pasos de instalación de otros componentes de Klipper ya que estos ya estarán instalados.
Instalando Klipper y Moonraker
Para nuestra guía vamos a usar Klipper que es el core del sistema y Moonraker que va a crear una API para poder gestionar la comunicación entre Klipper.
De las opciones del menú elegiremos la opción 1 para acceder al menú de instalación
Volveremos a elegir la opción 1 y comenzaremos el proceso de instalación:
Eligiremos compilar nuestro firmware
Por ahora no elegiremos actualizar nuestra MCU
Instalando un interfaz para acceder a Klipper
Existen diferentes formas de gestionar Klipper, recomendamos el uso de Mainsail o Fluidd, es posible usar Octoprint también pero creemos que no es la mejor opción salvo casos puntuales ya que es más de uso general y Mainsail/Klipper son desarrollos específicos para Klipper.
La instalación es bastante sencilla y similar a la que realizamos en el punto anterior tan solo seleccionando el interfaz que más nos guste y seguir el asistente/indicaciones.
Es importante comentar que podemos instalar diferentes interfaces siempre y cuando usemos un puerto diferente para cada uno, aquí Kiauh también nos ayuda.
Otra función muy interesante, en este caso de Mainsail, es que podemos usar el interfaz online y dar de alta nuestra impresora sin necesitar nada instalado aunque en ocasiones podemos perder alguna funcionalidad.
Para permitir que my.mainsail.xyz acceda a nuestra instalación local tenemos que permitir en nuestro moonraker.conf añadiendo o revisando que tengamos el siguiente codigo:
Una vez ya tenemos nuestro OS instalado y con Klipper, Moonraker y la interfaz que más nos guste instalada, es hora de pasar a crear nuestro firmware Klipper.
Ya que hemos Klipper este nos va a permitir de una forma muy sencilla a los diferentes pasos para realizar el proceso.
Creando el firmware
Para poder generar nuestro firmware Klipper manualmente:
Nos aseguraremos que tenemos instala la utilidad make
sudoaptinstallmake
Una vez instalado make nos iremos a la carpeta klipper y lanzaremos el configurador para nuestro firmware
cd~/klippermakecleanmakemenuconfig
Configuraremos las opciones necesarias para nuestra electrónica, usando la tecla Q para salir del configurador y Y para guardar los cambios. Ej. SKR Mini E3 v3 aunque más abajo tenéis más ejemplos
Una vez ya tenemos la configuración de nuestra electrónica lista lanzaremos el proceso make para que se compile nuestro firmware:
make
Aplicaremos el firmware creado dependiendo de nuestra electrónica. En electrónicas modernas de 32b se suele copiar el firmware generado (por ejemplo con Filezilla y generando una conexión SFTP) .../out/klipper.bin a nuestro ordenador y de ahí a la SD con el nombre que sea necesario para nuestra electronica... para electrónicas SKR suele ser firmware.bin y para ver que se aplicó correctamente debería de cambiar a firmware.cur.
En determinados casos podremos actualizar la electrónica directamente por USB/USART:
Lanzaremos el comando ls para listar nuestra electrónica:
Y utilizaremos ese identificador serial o serial ID para lanzar el comando flash:
sudo service klipper stop
make flash FLASH_DEVICE=/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
sudo service klipper start
Accederemos a Kiauh desde SSH
Elegiremos la opción más adecuada para nuestra placa ya que en ocasiones nos interesará solamente hacer el Build del firmware para después extraerlo, Flash to aplicarlo a nuestra placa si es compatible con el proceso o Build + Flash que realizaría todo el proceso.
IMPORTANTE!!!
En el caso de realizar el proceso Build + Flash tenemos que tener en cuenta el método de actualización de nuestra electrónica ya que Kiauh no es siempre compatible o puede dar problemas.
Disponemos de un bundle de Klipper creado por nosotros y basado en RatOS para que el acceso a macros avanzadas y a configuraciones custom sea más sencillo.
Dentro de estas funciones se dispone de unas macros que permiten compilar firmware Klipper para las electrónicas soportadas de uns forma sencilla.
Aunque no es un dispositivo que solamos aconsejar, te invitamos a leer esta información que te puede ser interesante, os vamos a dar unas indicaciones para poder generar el firmware Klipper desde este dispositivo para poder añadir impresoras no soportadas por defecto.
Herramientas:
Cliente SSH siempre 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.
Tenéis más información sobre qué es SSH aquí.
Utilidad sFTP para transferir ficheros desde la Sonic Pad, os aconsejamos WinSCP o Cyberduck
Acceso root a la Sonic Pad... dentro de los menús de esta... Setup > Advanced Options > Root Access
Pasos a seguir:
Abriremos nuestro cliente SSH (PuTTy) y pondremos la IP así como el nombre y usuario que obtuvimos en la Sonic Pad al activar el acceso root
Escribiremos cd /usr/share/klipper
Lanzaremos el comando make clean para limpiar cualquier configuración previa.
Ahora un make menuconfig
Tendremos un menú donde tendremos que elegir las opciones para nuestra electrónica, normalmente encontramos los parámetros básicos en los cfg de ejemplo que tenemos en el repositorio de Klipper en Github, en la parte inicial de los mismos
Una vez tengamos las opciones pulsaremos Q para salir y Y para guardar los cambios
Ejecutaremos el comando make
Esperaremos unos minutos a que el firmware se acabe de generar, este quedará dentro del directorio/path /out/klipper.bin... la extensión puede depender del modelo de electrónica que hayamos seleccionado
Ahora con el firmware Klipper creado y con el cliente sFTP, WinSCP por ejemplo, utilizando la IP y el usuario/contraseña que usamos para entrar en nuestra Sonic Pad por SSH nos conectaremos a esta e iremos al directorio/path /usr/share/klipper/out/ y descargaremos el firmware a nuestro ordenador
Seguiremos las instrucciones del fabricante de nuestra electrónica para aplicar el firmware a ella.
en electrónicas de 32b normalmente renombraremos el firmware de klipper.bin a firmware.bin, algunas electrónicas pueden requerir otro nombre o que este no coincida con el último aplicado, colocaremos el fichero en una microSD (con formato FAT32/4096 e idealmente <2GB) y reiniciaremos la electrónica
en electrónicas de 8b normalmente aplicaremos por USB el firmware desde un laminador como PrusaSlicer o Cura
Si se aplicó todo correctamente podremos pasar al paso siguiente, verificar la conexión entre nuestra Sonic Pad y nuestra electrónica/MCU
Recuerda que para añadir impresoras de terceros has de poner el nuevo printer.cfg en un USB (con formato FAT32/4096) en el conector USB2 (abajo izquierda) y la impresora conectada en el USB1 ajustando el printer.cfg
Os facilitamos la configuración para las electrónicas que hemos probado:
Desde el repositorio de Klipper podéis encontrar muchos ejemplos para diferentes electrónicas.
SKR Octopus PRO
Elegiremos las siguientes opciones dependiendo del procesador/version de nuestra Octopus:
SKR MINI E3 V3
Elegiremos las siguientes opciones dependiendo del procesador/version de nuestra Mini E3 v3:
Una vez tengamos todas las opciones ajustadas pulsaremos q para salir y "Yes" para almacenar la configuración, si lanzamos el proceso desde Kiauh nos realizará directamente el comando make.
Una vez terminado el compilado del firmware podremos encontrar el binario klipper.bin en el directorio /home/pi/klipper/out el cual podremos aplicar directamente por DFU o usando la SD tal como tenemos en nuestra guía.
Elegiremos las siguientes opciones dependiendo del procesador/version de nuestra Spider:
Si tu Spider es posterior al 23/6/2021 elige como Bootloader offset 32KiB bootloader.
Si tu Spider es anterior al 23/6/2021 elige como Bootloader offset 64KiB bootloader.
Una vez tengamos todas las opciones ajustadas pulsaremos q para salir y "Yes" para almacenar la configuracion, si lanzamos el proceso desde Kiauh nos realizará directamente el comando make.
Una vez terminado el compilado del firmware podremos encontrar el binario klipper.bin en el directorio /home/pi/klipper/out el cual podremos aplicar directamente por DFU o usando la SD tal como tenemos en nuestra guía.
MKS cuenta con un repositorio de ejemplos para Klipper que es de agradecer. Podéis encontrarlos en el siguiente link.
3Dwork Klipper Bundle:
Desde 3Dwork mantenemos un bundle para Klipper que incluye macros, configuraciones de máquinas, etc... entre ellas damos soporte a diferentes electrónicas que utilizando una macro podemos compilar nuestro firmware Klipper de una forma totalmente automatizada y sencilla.
Firmware Klipper pre-generado desde Auto Builder 3Dwork
También contamos con un sistema de auto builder de firmware Klipper basado en nuestro bundle que compila, para las electrónicas soportadas, para diferentes electrónicas de forma diaria.
EL USO DE ESTOS FIRMWARE KLIPPER PRE-GENERADOS SON BAJO VUESTRA PROPIA RESPONSABILIDAD!!!
Siempre aconsejamos que cada usuario cree por si mismo su firmware desde su host Klipper.
Del siguiente listado haremos click en nuestra electrónica y nos descargaremos el firmware Klipper compilado a aplicar en nuestra electrónica siguiendo las instrucciones del fabricante!!!
Verificando la conexión
Ahora que tenemos nuestro firmware Klipper en nuestra electrónica procederemos a verificar que tenemos comunicación con ella, un paso previo y necesario antes de continuar con la configuración de Klipper.
Elegiremos el tipo de conexión entre nuestra electrónica y la Pi, normalmente y aconsejable USB:
En el caso que usemos Klipper por los pines GPIO deberemos habilitar la comunicación serial en nuestra pi, para simplificar el proceso teneis aqui unos comandos para que sea más sencillo:
sudo raspi-config nonint do_serial 2
echo dtoverlay=pi3-disable-bt | sudo tee -a /boot/config.txt
sudo reboot
En el caso que no detecte nuestra electrónica deberemos verificar el proceso de aplicar el firwmare Klipper o el cableado:
En el este correcto nos listará un dispositivo, es importante anotarse este ya que lo necesitaremos más adelante:
En el caso que no realicemos el proceso desde Kiauh podemos usar el comando ls /dev/serial/by-id para listar los dispositivos conectados.
Descargaremos la última versión de MainsailOS desde aquí desde el apartado Assets que deberemos desplegar o hacer mostrar todos los que existen. Disponemos de soporte para basados en Raspberry y Armbian (OrangePi) que podemos identificar por el nombre fácilmente.
Descargaremos la última versión de RatOS desde aquí desde el apartado Assets que deberemos desplegar o hacer mostrar todos los que existen. Disponemos de soporte para basados en Raspberry y CB1 (Bigtreetech) que podemos identificar por el nombre facilmente.