Duet 2 Wifi - Klipper

Las electrónicas Duet son muy buenas, sobre todo en entornos de producción porque son muy robustas. Originalmente, usan RRF que es un gran firmware 3D pero sinceramente nunca nos hemos llevado muy bien con él y en especial desde que Klipper empezó a dar sus primeros pasos.

Vamos a explicar el proceso a seguir para aplicar el firmware Klipper a nuestra Duet en especial teniendo en cuenta algunos aspectos importantes.

IMPORTANTE!!

El proceso de aplicar un firmware a una electrónica es un paso crítico que de fallar o realizarse de forma incorrecta puede dejar dañada nuestra electrónica y puede requerir de herramientas adicionales para recuperarla o incluso dejar inservible de darse el caso.

Los siguientes pasos si los realizas son bajo tu propia responsabilidad!!!

Klipper... ojo con el sistema que utilizamos en nustro host

MainsailOS es una de las distribuciones, para Raspberry, más utilizadas y actualizadas ya que tenemos todo pre-instalado... por contra y en el caso de Duet puede dar problemas si utilizamos una distribución de MainsailOS basada en Debian 11. Podemos averiguar que usamos mediante el comando lsb_release

Aunque puede ser un poco laborioso, en el caso que el escenario anterior sea el vuestro, os aconsejamos utilizar dos imágenes... una con MainsailOS actualizado y otra u otro dispositivo host utilizando una version OS que no esté afectada por el fallo anterior.

Podemos utilizar una distribución de Rasbian Lite antigua basada en buster, realizaremos la instalación de Kiauh y desde el instalar Kiauh. Desde el propio Kiauh pudemos hacer el proceso de creación y aplicar el firmware y debería funcionar.

  • Descargaremos una imagen de Raspian LITE 10 BUSTER (legacy) que podréis encontrar aquí y la aplicaremos en una SD nueva para continuar manteniendo nuestro MainsailOS actualizado. Asegúrate que habilitas la opción de SSH al quemar la imagen a la SD desde RaspiImager además de los datos de tu WiFi de ser necesario.

  • Abriremos Terminus o Putty, cliente SSH para conectarnos al host con la imagen Raspbian Buster, recuerda encontrar la IP de tu host para ello.

  • Desde el terminal SSH e instalaremos Git:

sudo apt update
sudo apt -get install git -y
  • Instalaremos y lanzamos Kiauh:

cd ~
git clone 
https://github.com/th33xitus/kiauh.git
./kiauh/kiauh.sh
  • Dentro de Kiauh instalaremos una instancia de Klipper y Moonraker y ya podemos salir de Kiauh. Cin esto ya tenemos una versión actaulizada y mínima de Klipper en una versión antigua no afectada por el problema con Duet.

Creando el firmware Klipper

IMPORTANTE!!!

Antes de seguir este proceso os aconsejamos revisar el anterior con detalle!!!

Vamos al paso sencillo que es crear el firmware para nuestra Duet utilizando el comando make menuconfig desde SSH, recuerda entrar en el directorio klipper antes, utilizando las siguientes opciones:

cd klipper
make menuconfig

Guardaremos y saldremos.

El siguiente paso es generar el firmware con la configuración anterior utilizando el comando make

Aplicando el firmware a nuestra Duet

El siguiente paso, el complicado, es el de aplicar el firmware creado anteriormente en nuestra Duet. Os aconsejamos revisar le guía de Duet para más detalle del proceso.

En concreto nos fijaremos en los pasos para preparar nuestra Duet para ponerla en flash mode, previamente deberemos haber hecho el proceso de borrado de firmware.

También tenemos el proceso en otra guía que hicimos hace tiempo sobre la BLV que podéis ver en el siguiente link:

Básicamente deberemos de:

IMPORTANTE!!! Conexión Raspberry/Duet

Dado que normalmente las Duet no tienen un jumper de alimentación USB es importante que tapemos el pin 5v del conector USB para evitar retroalimentación

Este pin ha de quedar sin tapar cuando realicemos el proceso de actualización de firmware cuando la Duet no tenga alimentación de la fuente.

  • Hacer un borrado del firmware, haremos un factory reset de nuestra placa, para ello con la placa apagada colocaremos un jumper en los pines de borrado (Erase pins en la imagen de abajo. A continuación conectaremos el cable USB para alimentar nuestra placa. Una vez el led DIAG se encienda, quitaremos el jumper y tendremos nuestra placa sin ningún firmware instalado

  • Pulsaremos el botón RESET (Reset button) para poner en modo DFU

  • Obtendremos el USB ID mediante el comando ls /dev/serial/by-id/* que copiaremos.

  • Pararemos el servicio Klipper por seguridad sudo service klipper stop

  • Lanzaremos el comando para aplicar el firmware creado reemplazando el /dev/serial/by-id/xxxx por el obtenido en pasos anteriores make flash FLASH_DEVICE=/dev/serial/by-id/xxxx

  • Si aparece algo como lo siguiente ya tenemos Klipper en nuestra Duet!!!

  • Volveremos a iniciar el servicio Klipper con sudo service klipper start.

Ahora con nuestro firmware Klipper aplicado podemos volver a nuestro MainsailOS y desde el interfaz web comentazar a ajustar nuestro printer.cfg y verificar que todo funcione correctamente.

printer.cfg

Ahora que ya tenemos nuestro firmware Klipper aplicado y el USB ID que obtuvimos con el ls en el paso anterior ya podemos montar nuestro printer.cfg, podemos utilizar el ejemplo proporcionado por Klipper en su Github.

A continuación un ejemplo de printer.cfg y uno de macros:

Ajustes opcionales

A continuación os sugerimos algunos ajustes de Klipper interesantes para nuestra BLV:

  • Configuración de la gestión de apagado/encendido

  • Usar nuestra pantalla PanelDue, conectando la pantalla a nuestra Pi por GPIO... más detalle aquí

    • Ejecutaremos la utilidad raspi-config mediante sudo raspi-config e iremos a la opción 3 Interface Options > P6 Serial Port > No > Yes y reiniciaremos nuestra Pi

    • Nos aseguraremos que nuestro PanelDue está configurado en 115200

    • Por último deberemos de realizar algunas modificaciones en el fichero moonraker.cfg de nuestro Klipper, aquí tenéis más detalles de los cambios.

Tenéis un video de Nero3D para más referencias.

También tenéis el siguiente PDF muy bueno aunque algo antiguo sobre el proceso.

Última actualización