Pad 7
El mejor todo-en-uno para Klipper
Última actualización
El mejor todo-en-uno para Klipper
Última actualización
Bigtreetech entra de lleno en las soluciones Klipper todo en uno con su Pad 7.
Si ya hace unas semanas disfrutamos con una solución similar, la Raspberry Pad 5, que nos dejó un excelente sabor de boca la cual tenemos controlando dos de nuestras máquinas de laboratorio. Ahora Bigtreetech ha lanzado su hermana mayor Pad 7 que la hacen una solución perfecta todo en uno.
A continuación podrás ver más detalles de sus características así como que tal se comporta.
La Pad 7 de Bigtreetech cuenta con una imponente pantalla de 7" además de montar su módulo CM4, en nuestro caso un módulo CB1 basado en un chip Allwinner H616, que es una solución perfecta para correr Klipper.
Para completar el dispositivo contamos con una excelente carcasa relativamente compacta en la que tenemos un acceso sencillo a la multitud de conexiones disponibles que os detallaremos más adelante.
En la parte software y dependiendo del módulo CM4 que usemos tendremos acceso a diferentes distribuciones de Linux/Raspberry Pi OS que nos van a permitir disfrutar de una experiencia con Klipper perfecta, algo que en otros dispositivos similares de otras marcas nos ha acabado siendo un gran dolor de cabeza... de nuevo Bigtreetech piensa en la comunidad maker que siempre se agradece!!!
Como es costumbre en Bigtreetech la Pad 7 viene con unas excelentes características hardware:
Pantalla táctil de 7"
1024*600 y 60Hz de refresco
táctil de 5 puntos con función de vibración al tacto
ángulo de visión de 178º
500 Cd/m2 de brillo
sensor de iluminación para el ajuste automático del brillo
zócalo CM4 para módulo SBC compatible con
Bigtreetech CB1 v2.2 (normalmente incluído en el kit), procesador Allwinner H616 quad-core Cortex-A53, GPU Mali-G31 MP2, 1GB RAM, soporte WiFi 802.11 b/g/n
Raspberry Pi CM4, procesador Broadcom BCM2711 quad-core Cortex-A72, VideoCore IV GPU, de 1 a 8 GB RAM, 0 a 32GB memoria eMMC, Wifi 5 y Bluetooth 5 dependiendo de la versión
zócalo MicroSD, el kit incluye una microSD SanDisk con el OS para CB1 de Bigtreetech basado en Debian OS y con Klipper y sus componentes instalados
puertos de expansión
puerto ethernet 10/100M (si usamos CB1) o Gigabit (si usamos CM4)
en cuanto a puertos USB contamos con 3 puertos USB 2.0 y 1 Type-C para instalar el sistema en el caso de usar un módulo Raspberry Pi CM4
contamos con un puerto CANbus (MCP2515) para expansión de MCUs con Klipper
conector SPI para el uso del acelerómetro ADXL345 incluído en el kit
altavóz incorporado con botones para el control de volumen, también contamos con una salida jack 3.5mm lo que nos va a permitir la conexión de altavoces externos
led RGB para notificaciones
Alimentación
fuente de alimentación 12V/2A DC
consumo aproximado de 7.3W
Dado que el interfaz CANbus y el SPI son compartidos no es posible el uso simultáneo de estos.
A continuación os facilitamos unos diagramas del Pad 7:
Tal como os adelantábamos en las especificaciones, la Pad 7 viene preparada con varios conexiones de expansión/mejoras que podremos utilizar para expandir sus funcionalidades como el empleo de acelerómetros, CANbus, etc...
La instalación de acelerómetro ADXL345, incluído en nuestro kit, no puede ser más sencilla y una vez ajustada la configuración de nuestro sistema simplemente será conectarlo al puerto SPI de nuestro Pad 7
En el esquema anterior podemos encontrar el orden de pines del conector por si queremos usar otro acelerómetro.
Bigtreetech siempre ha estado muy pendiente de los usuarios, por eso es una de las pocas marcas que soportan proyectos relacionados con Klipper lo que nos asegura una mejor experiencia en su uso.
Es por ello que, y dependiendo del módulo CM4 que usemos, vamos a tener diferentes opciones de distribuciones de Klipper a instalar:
A continuación procederemos a instalar el sistema Klipper en nuestro módulo CB1, tenemos dos opciones:
Usar la distribución genérica de Bigtreetech
Utilizando RatOS que tiene algunas ventajas, y desventajas dependiendo de tu nivel de conocimientos en Klipper, como la pre-instalación de varios componentes, compatibilidad con varias electrónicas e impresoras con pre configurados y macros por defecto.
Una vez descargada la distribución de Klipper que más nos guste, emplearemos Raspberry Pi Imager o balenaEtcher para transferir la imagen de Klipper a nuestra tarjeta SD. Es aconsejable una tarjeta de al menos 16-32Gb. Para esta guía usaremos RatOS que es la distribución de Klipper que solemos usar normalmente.
Una vez finalizado el proceso y desde el explorador de nuestro ordenador accederemos a nuestra SD donde tendremos una partición llamada BOOT.
En esta encontraremos un fichero system.cfg donde ajustaremos el nombre de red para nuestro host Klipper:
Os recordamos que normalmente en este tipo de configuraciones el símbolo # todo lo que se encuentre después de ese símbolo se considera un comentario y no se tendrá en cuenta al procesar el fichero de configuración.
La configuración WiFi, en el caso que no uses tu Pad 7 con cable de red, volveremos a nuestro fichero system.cfg donde ajustaremos nuestro WIFI_SSID y WIFI_PASSWD:
Siguiendo en el fichero system.cfg donde en este caso ajustaremos las opciones específicas para nuestra Pad 7
BTT_PAD7="ON" # Habilita los scripts necesarios para una Pad7
TOUCH_VIBRATION="OFF" # OFF: Desactiva la vibracion ante pulsaciones ON: Habilita la vibracion
TOUCH_SOUND="ON" # OFF: Desactiva el sonido ante pulsaciones ON: Habilita el sonido
AUTO_BRIGHTNESS="ON"# OFF Desactiva el ajuste automatico del brillo ON: Habilita el ajuste automatico
De las opciones anteriores vamos a hacer un apunte en referencia a la vibración ante pulsaciones de pantalla. KlipperScreen, el componente usado para mostrar el interfaz de Klipper en nuestra Pad 7, no dispone de una API para la gestión para habilitar la vibración actualmente.
En el caso que no usemos una distribución del sistema de Bigtreetech deberemos realizar los siguientes cambios para usar el fork creado por Bigtreetech de KlipperScreen que si que implementa esta funcionalidad:
Abriremos nuestro moonraker.conf desde nuestra interfaz web Mainsail
Cambiaremos el update_manager KlipperScreen de la siguiente forma
Una vez realizado el cambio de configuración es aconsejable reiniciar el sistema, una vez reiniciado iremos a nuestro Mainsail/Machine/Update Manager y daremos al icono de refrescar y haremos un Hard Recovery en el componente KlipperScreen:
Una vez finalizado el proceso ya debería funcionar correctamente la respuesta mediante vibración al pulsar la pantalla
A continuación vamos a configurar las opciones específicas para nuestra Pad 7 que en este caso haremos sobre nuestro fichero BoardEnv.txt donde ajustaremos lo siguiente:
ws2812: Habilita los leds de notificación que se encuentran en la esquina superior derecha de nuestra Pad 7
light: Habilita la retroiluminación de pantalla
mcp2515: Habilita el conversor MCP2515 SPI a CAN, que habilita el uso de CAN en nuestra Pad 7
spidev1_1: Habilita spidev1_1 permitiendo que el puerto SPI pueda contactar con el acelerómetro ADXL345
IMPORTANTE!!! el uso de CANbus y el puerto SPI de la Pad 7 no se pueden utilizar de forma simultánea.
Habilitar CANbus, tal como os comentamos en el punto anterior habilitando mcp2515 en nuestro fichero BoardEnv.txt habilitará CANbus en nuestro sistema en el caso que lo usemos
Ajuste del interfaz CAN, si en el paso anterior habilitamos CAN en este paso configuraremos su interfaz. Usando sudo nano /etc/network/interfaces.d/can0 añadiremos o ajustaremos este fichero tal como tienes a continuación:
Habilitando un acelerómetro ADXL345, al igual que con CANbus con habilitar la opción spidev1_1 nuestro sistema habilitará el acceso al puerto SPI de nuestra Pad 7. Tenéis más información sobre acelerómetros en nuestra guía de Input Shaper. En este caso necesitaremos ajustar las siguientes configuraciones en nuestro printer.cfg o alguno de sus includes:
Una vez tenemos instalado nuestro sistema operativo en la Pad 7 arrancaremos esta, Si todo va bien la pantalla mostrará la interfaz KlipperScreen la cual nos informará de un error por no encontrar nuestro printer.cfg con la configuración de nuestra impresora.
No hay que asustarse, simplemente no tenemos ninguna configuración habilitada y por ello nos indica que nuestro Klipper encontró un error. Para comenzar con la configuración nos conectaremos a la interfaz web (Mainsail) desde nuestro navegador web usando http://btt-pad7.local o si personalizamos durante la configuración este nombre usaremos el personalizado.
Para poder encontrar la IP de nuestra Pad 7 podemos usar Fing que es una aplicación multiplataforma que nos escaneará y listará todos los dispositivos de nuestra red. Debería aparecer con el nombre de host btt-pad7 o aquel definido en nuestro system.cfg anteriormente.
En el caso que no encontremos la IP conectaremos la SD de nuevo a nuestro ordenador y revisaremos el fichero system.cfg en busca de cualquier fallo al añadir nuestros datos WiFi.
Una vez identificada nuestra IP iremos a nuestro navegador y la usaremos para acceder a la interfaz web de Klipper... os aconsejamos que lo primero a hacer sea una actualización de todos los componentes de Klipper:
Ya con acceso a la interfaz solo nos queda crear y aplicar el firmware Klipper a nuestra MCU (electrónica) y encontrar nuestro serialID, tenéis información de estos pasos aquí.
Algunos de estos pasos van a requerir que conectemos nuestra Pad 7 a nuestra MCU usando un cable USB o CAN!!!
Una vez ya tenemos aplicado el firmware a nuestra MCU y con el serialID de comunicación solo nos queda crear y ajustar nuestra configuración de máquina de Klipper, conexión y macros que queramos utilizar.
Si todo ha ido bien nuestra Pad 7 ya podrá conectar a nuestra MCU y nuestra pantalla mostrará un interfaz de control de esta!!!
Os aconsejamos seguir los pasos descritos en nuestras guías de configuración de Klipper, algunos de ellos podréis lanzarlos desde las propias opciones de la pantalla, os aconsejamos seguir por orden las guías de configuración para asegurarnos que dejamos todo perfecto.
Tenéis más información detallada de este proceso en nuestra guía de Input Shaper, en cualquier caso, os vamos a guiar en el proceso usando nuestra Pad 7.
Comenzaremos conectando nuestro ADXL345 incluído en el kit al puerto SPI.
Actualizaremos nuestro printer.cfg
añadiendo como seguna MCU nuestra CB1 y definiremos el acelerómetro (en nuestro caso para una CB1, recuerda que en CM4 esta configuración es ligeramente diferente)
En nuestro caso vamos a lanzar el proceso en una de nuestras impresoras cartesianas por lo que deberemos colocar el sensor en el eje X (cabezal de impresión) y después de realizar las mediciones anclarlo a nuestro eje Y (cama). En el caso que tengamos una impresora CoreXY con anclarlo en el cabezal de impresión es suficiente.
Para más información del proceso os aconsejamos seguir nuestra guía de Input Shaper.
También podréis realizar el proceso desde la pantalla Printer/Configuration/Input Shaper/Auto-calibrate.
Klipper es un firmware de impresoras 3D increíblemente flexible y potente como hemos visto, un aspecto importante es su integración y configuración de nuestro laminador.
Un aspecto importante es asegurarnos que nuestro laminador genera el laminado o g-code (G-code flavor) válido para que este sea interpretado por Klipper. A día de hoy laminadores como PrusaSlicer/SuperSlicer y Bambu Studio/OrcaSlicer soportan la generación del g-code para Klipper por los que suelen ser los más aconsejables.
Otros laminadores se pueden utilizar sin problema, dado que Klipper puede procesar g-codes generados para Marlin o Smoothiware, pero pueden necesitar de ciertos ajustes para evitar que se incluyan códigos g-code que no están soportados por Klipper. De igual forma generar g-code para otros sistemas puede ocasionar problemas similares, por ejemplo seleccionar Marlin2.
En este caso es aconsejable revisar la configuración de nuestro laminador y seleccionar que genere el laminado en formato Klipper, Marlin o Smoothiware... por este orden idealmente.
Otro aspecto importante es ajustar nuestros g-codes de inicio y fin de impresión, al menos, para el uso de macros de Klipper en lugar que los tradicionales y limitados g-codes. Podéis encontrar más información y detalles en la guía de configuración de Klipper en laminadores. A modo de ejemplo:
El uso de macros en Klipper nos va a permitir elevar el control y personalización de nuestras máquinas a niveles increíbles.
Otra gran mejora es que podemos subir nuestros g-codes directamente desde el laminador, algo que es muy cómodo. Moonraker emula la API de Octoprint, algo muy útil para hacerlo compatible con cualquier herramienta que use Octoprint
Como ya hemos comentado en muchas ocasiones Klipper es un sistema extremadamente versátil que junto como un host como nuestra Pad 7 nos puede permitir controlar varias impresoras de forma simultánea.
A continuación os vamos a guiar por el proceso para disponer de múltiples instancias de Klipper en nuestra Pad 7 lo que nos permitirá poder controlar nuestras máquinas de forma centralizada.
En nuestras pruebas hemos controlado hasta 3 impresoras de forma simultánea sin grandes problemas de rendimiento, pero sin usar ninguna webcam para el proceso de imágenes, y por la carga del sistema creemos que podría controlar 4 impresoras.
Comenzaremos conectandonos a nuestra Pad 7 usando un cliente SSH, lanzando un comando ls -l veremos que tenemos instalado en nuestra Pad 7:
Es posible la instalación de nuestras instancias Klipper de forma manual pero preferimos usar Kiauh. Kiauh es un sensacional módulo para Klipper el cual nos va a permitir lanzar de forma sencilla diferentes acciones desde un sistema de menús sencillo. Vamos a proceder a instalarlo lanzando el comando:
Una vez tenemos Kiauh instalado lo lanzaremos con el siguiente comando que nos mostrará el sistema de menús de Kiauh:
Como vemos en la captura anterior en nuestro caso disponemos de 1 instancia de Klipper, Moonraker así como KlipperScreen o Crowsnest. A continuación vamos a proceder a desinstalar Moonraker, pulsando sobre la opción 3 (Remove) y después 2 (Moonraker) ... durante el proceso nos solicitará el password de nuestro usuario:
Una vez finalizado el proceso pulsaremos 1 (Klipper) para eliminar nuestra instancia de Klipper:
Dependiendo de la distribución que usemos para instalar inicialmente nuestro sistema Klipper en nuestra Pad 7 podemos encontrarnos que Kiauh no es capaz de desnstalar el servicio Klipper correctamente lanzando errores de Permission denied
.
Podemos realizar la desinstalación lanzando estos dos comandos:
Si todo ha ido correctamente Kiauh nos mostrará que no tenemos instancias de Klipper y Moonraker:
Ahora procederemos a instalar Klipper usando la opción 1 (Install), 1 (Klipper) y 1 (Python 3.x)... nos solicitará el número de instancias que queremos instalar, en nuestro caso vamos a usar nuestra Pad 7 para controlar 2 impresoras. nAntes de instalar las instancias nos solicitará si queremos asignar a cada instancia un nombre personalizado, nuestro consejo es que NO personalicemos las instancias ya que después podremos hacerlo por otro lado que evitará que nuestras instancias de Klipper usen una estructura de nombres no estandarizada.:
Una vez finalizado el proceso, y si todo funcionó según lo esperado, iremos al menú principal de Kiauh (B) que contamos con nuestras 2 instancias instaladas:
A continuación vamos a instalar nuestras instancias de Moonraker pulsando 1 (Install) y 2 (Moonraker)... el propio Kiauh nos va a detectar nuestras instancias de Moonraker y sugerir el número de estas a instalar:
Una vez finalizado el proceso, y en el menú principal de Kiauh, podremos ver nuestras instancias de Moonraker... es muy importante que nos anotemos el puerto de cada una de nuestras instancias ya que más adelante nos va a ser necesario:
Ya tenemos todas nuestras instancias instaladas, solamente nos queda salir de Kiauh y reniciar nuestra Pad 7 con el comando sudo reboot
.
Volveremos a conectarnos por SSH a nuestra Pad 7 y volveremos a lanzar el comando ls -l para comprobar que tenemos nuestos directorios de configuración por cada una de nuestras instancias:
Continuaremos con los siguientes pasos a realizar desde nuestra interfaz web, en nuestro caso Mainsail, donde abriremos nuestro navegador web favorito en nuestro ordenador/tablet usando su IP o nombre de host donde nos solicitará que añadamos una impresora:
Añadiremos nuestras instancias de Moonraker, recuerda la información de las insancias que nos proporcionó Kiauh previamente:
Entraremos en nuestras instancias y cambiaremos el nombre, y también desde UI_SETTINGS podemos personalizar el color del logo, para poder identificar cada instancia claramente. También podemos usar el desplegable para elegir entre una instancia u otra:
Ahora tocará configurar cada una de nuestras instancias con su propio printer.cfg e includes que tengamos para nuestra impresoras.
Como manejar la conexión cuando usamos múltiples instancias?
Normalmente en instalaciones de una sola instancia se aconseja que la configuración para conectar a nuestra/s electrónicas se realicen por serial_id. En el caso de utilizar múltiples instancias aconsejamos el uso by-path, donde asociaremos cada uno de los puertos USB de nuestra Pad 7 a nuestras máquinas. Importante!!! recordar que al usar by-path nuestra impresora siempre ha de estar conectada al mismo puerto de nuestro host!!!
Conectaremos nuestra impresora, en este caso utilizamos el conector USB trasero superior, y volvemos a lanzar el comando ls /dev/serial/by-path/*:
Utilizaremos esta cadena de conexión en nuestra sección [mcu] de la instancia que corresponda con la impresora conectada.
Realizaremos el mismo proceso para conectar el resto de impresoras. En nuestro ejemplo nos quedó de la siguiente forma: - PRINTER 1
PRINTER 2
El siguiente paso será configurar nuestro KlipperScreen para que podamos conecta a nuestras instancias para poderlas gestionar cómodamente desde la pantalla de nuestra Pad 7. Para ello tendremos que volver a nuestro cliente SSH para editar el fichero de configuración de KlipperScreen:
Y copiaremos la siguiente configuración, ajusta los nombres de impresoras y puertos de Moonraker a tu propia instalación:
Para finalizar pulsaremos CTRL+X y Y para salir y guardar los cambios y reiniciaremos KlipperScreen con el siguiente comando sudo service KlipperScreen restart
. Si tdo ha ido correcto nuestra pantalla mostrará acceso a nuestras dos impresoras, pudiendo cambiar de una a otra pulsando sobre el icono de las dos flechas cruzadas:
Durante los últimos meses hemos probado todo tipo de soluciones para Klipper y sin duda si tienes pensado pasarte a Klipper, si no lo usas ya, las electrónicas de Bigtreetech son la mejor opción que hemos probado.
En el caso de la Pad7, y después de quedar encantados con la Pad5, es un equipo ideal para iniciarte en Klipper ya que disponemos todo en un mismo dispositivo, con un precio muy competitivo, y además pudiendo usar libremente Klipper.
Además la inclusión de herramientas, tornillería y accesorios como el acelerómetro ayudan a que la puesta en marcha y uso de Klipper sera relativamente sencilla.
Con una estupenda pantalla, quizás en ocasiones demasiado grande aunque nuestros cansados ojos lo agradecen, un buen puñado de conexiones y un acabado muy correcto los compañeros de Bigtreetech han hecho un gran producto.
Además como siempre con Bigtreetech vamos a encontrar abundante documentación y un buen soporte tanto del fabricante como de la comunidad lo que siempre ayuda... sobretodo si eres novato en Klipper ya que es un mundo nuevo totalmente diferente a otros firmwares para impresora 3D.
A continuación os ayudamos a resolver algunos problemas que podemos encontrarnos con nuestra Pad 7.
Aunque cada vez Klipper mejora más los procesos en ocasiones podremos encontrarnos que nuestro acelerómetro no funciona de forma correcta, en estos casos os aconsejamos reviesar los siguientes puntos:
En la parte trasera de nuestra Pad 7 contamos con unos micro-interruptores que nos permiten ajustar la configuración hardware. Asegúrate que los tienes en las posiciones correctas:
Asegúrate que conectaste el cable correctamente entre tu Pad 7 y el acelerómetro tal como te indicamos al inicio de esta guía, en especial revisa el cableado en el caso que no uses un acelerómetro de Bigtreetech.
Desde SSH comprobaremos que nuestro canal SPI esté funcionando correctamente lanzando el comando ls /dev/spi
... en el caso que tengamos un módulo CB1 nos aparecerá un dispositivo spidev1.1
y si usamos un módulo CM4 spidev0.1
Lanzaremos el comando ls /dev/serial/by-path/*
para ver que no tenemos ningún dispositivo conectado: