Page cover image

BTT Pi

Con el creciente uso de Klipper o Octoprint para dotar a nuestras impresoras de nuevas funciones de gestión, el uso de SBCs como Raspberry Pi afectó a la disponibilidad y precio de este tipo dispositivos.

Bigtreetech con su CB1 ha logrado cubrir ese espacio de falta de dispositivos. Utilizando sus módulos CB1 en diferentes productos como su serie Manta de electrónicas, Pad de pantallas todo en uno y para competir directamente en formato con esta Bigreetech Pi.

Bigtreetech Pi

Tal como hemos comentado, la escasez de este tipo de dispositivos así como la creciente utilización de Klipper para nuestras impresoras fue aprovechado por Bigtreetech para ofrecer una alternativa con su CB1 que integraron en diferentes líneas de sus productos.

Para competir directamente con Raspberry Pi sacaron su Bigtreetech Pi que podemos usar como un reemplazo de estas (sería el equivalente a una Raspberry Pi 3 B) dado su formato físico prácticamente idéntico.

A continuación vamos a revisar algunas de sus especificaciones técnicas:

CPU

Allwinner H616, Quad-Core Cortex-A53 @1.5GHz

GPU

Mali G31 MP2, OpenGL 3.2

RAM

1GB DDR3 SDRAM

COMs

Fast Ethernet 100Mbps WiFi 2.4G/802.11 b/g/n USB2.0x4 USB Type-Cx1 ADXL345 Accelerometer (* ADXL345 sensor not included) Port USB/CAN (* require USB adapter not included) IR Receiver

Audio

3.5mm jack, HDMI

Video

HDMIx1: HDMI 2.0A, 4K SPI Display Port

GPIO

40-pin GPIO

Power

DC 5V/2A from USB Type-C DC 12/24V from Power connector

Algo que sin duda nos va a enamorar a algunos es que podamos alimentar nuestra Bigtreetech Pi tanto de la forma tradicional como desde un conector dedicado para poder utilizar nuestra fuente de impresora para ello.

Como siempre Bigtreetech incluye todo lo necesario para la puesta en marcha de nuestra Bigtreetech Pi... y como no podría faltar nuestro patito preferido!!!

También os facilitamos algunos esquemas:

Ya os comentamos anteriormente que esta Bigtreetech Pi sería el equivalente a una Raspberry Pi 3 B, montando esta una MCU Allwinner H616 con cuatro cores Cortex-A53 a 1.5GHz lo que sobre el papel nos da unos 300Mhz más que la Raspberry Pi 3 B. Siguiendo con las comparativas, la Bigtreetech Pi monta los mismos cores Cortex-A53 pero en este caso a 1.5GHz y montando el doble de RAM que la Raspberry Pi Zero 2 W.

Expansión/Mejoras

También disponemos de los típicos pines GPIO, en la sección de esquemas anterior podéis encontrar el diagrama de pines, para poder gestionar sensores y otros dispositivos aunque hay que aclarar que estos pines GPIO no son directamente compatibles con los de Raspberry. En cualquier caso son accesibles desde el sistema o normalmente desde Klipper al montar nuestra Bigtreetech Pi como segunda MCU.

Además, contamos con múltiples conectores de expansión específicos:

Bigtreetech Pi dispone de un conector para el uso de un acelerómetro en Klipper que nos permita, de una forma sencilla y precisa, nuestro Input Shaper.

En el caso de que queramos usar un acelómetro de este tipo deberemos de seguir los siguientes pasos:

  • editaremos mediante SSH nuestro fichero /boot/BoardEnv.txt :

sudo nano /boot/BoardEnv.txt
  • dentro del BoardEnv.txt descomentaremos la siguiente línea overlays=spidev0_0 que nos habilitará el canal SPI necesario para la comunicación con nuestro acelerómetro. Y pulsaremos CTRL+X y Y para guardar los cambios:

  • reiniciaremos nuestra Bigtreetech Pi

reboot
  • Una vez reiniciada nuestra Bigtreetech Pi, y desde el interfaz web, actualiaremos nuestro printer.cfg (o el include que necesitemos en caso que tengas una instalación modular) para definir nuestro acelerómetro:

[adxl345] 
cs_pin: host:gpio67
spi_bus: spidev0.0
axes_map: x,y,z

[resonance_tester]
accel_chip: adxl345
accel_per_hz: 70
probe_points: 117.5,117.5,10

Recuerda que para poder tener acceso a los pines de la es necesario que este como segunda MCU en tu configuracion de Klipper realizando el siguiente este proceso que tienes en el link y añadirla a tu configuración de Klipper:

[mcu host]
serial: /tmp/klipper_host_mcu

Ahora solo queda seguir el proceso de Input Shaper para usar nuestro acelerómetro.

Puesta en marcha

Ahora que ya conocemos a fondo nuestra Bigtreetech Pi y lo que puede ofrecernos es hora de ponernos manos a la obra para poner en marcha nuestra Bigtreetech Pi.

Aunque podemos utilizar nuestra Bigtreetech Pi en prácticamente cualquier aplicación donde usaríamos una Raspberry Pi nosotros nos vamos a centrar en el uso con nuestras impresoras, en concreto usando Klipper.

Instalación Klipper

Una vez dicho esto procederemos a instalar el sistema Klipper en nuestro módulo CB1, tenemos dos opciones:

  • 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. Los pasos son muy sencillos, una vez tengamos abierto Raspberry Pi Imager, seleccionaremos Use custom y elegiremos nuestra imagen a aplicar en nuestra SD,

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 nuestra configuración WiFi donde ajustaremos nuestro WIFI_SSID y WIFI_PASSWD a los datos de nuestra red:

Una vez tengamos estos ajustes tan solo tendremos que introducir la SD en nuestra Bigtreetech Pi y encenderla!!

Configurando Klipper

Si todo ha ido correctamente en unos minutos ya tendremos disponible nuestra Bigtreetech Pi en nuestra red.

Para comenzar con la configuración nos conectaremos a la interfaz web (Mainsail) desde nuestro navegador web usando http://btt-cb1.local o si personalizamos durante la configuración este nombre usaremos el personalizado.

Para poder encontrar la IP de nuestra Bigtreetech Pi 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-cb1 o aquel definido en nuestro system.cfg anteriormente.

spaces%2F MTqLw6KI5FruaRNEMZD

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:

spaces%2F MTqLw6KI5FruaRNEMZD 887967055%2Fuploads%2FCpyeqRceuGR2nzBqIeR0%2Fimage

Como primer paso vamos a conectarnos a nuestra Bigtreetech Pi usando SSH, en nuestro caso utilizamos Terminus como cliente SSH porque es multiplataforma, gratuito, bastante sencillo e intuitivo.

Datos de conexión SSH:

Tal como os comentamos tenemos dos distribuciones a elegir para nuestra Bigtreetech Pi y dependiendo de la elección el usuario/password para conectar pueden variar:

  • En el caso de utilizar la imagen de Bigtreetech para CB1:

    • usuario: biqu

    • password: biqu

  • Si utilizamos la imagen de RatOS:

    • usuario: pi

    • password: raspberry

Por seguridad se aconseja cambiar la contraseña, en todo caso si no tenemos nuestro dispositivo Bigtreetech Pi expuesto podemos mantenerla por lo menos inicialmente hasta que conozcamos mejor el sistema.

Una vez ya conectamos y controlamos el acceso por SSH suele ser aconsejable la instalación de Kiauh. Kiauh es algo así como una llave suiza para Klipper ya que contiene algunas funciones que nos pueden ser útiles en determinadas circunstancias, por ejemplo cuando algunas funciones o módulos de Klipper no funcioan como es debido, o simplemente para instalación de determinados módulos extras de una forma sencilla. Para instalar Kiauh:

sudo apt-get update && sudo apt-get install git -y
cd ~ && git clone https://github.com/th33xitus/kiauh.git

Una vez instalado Kiauh lo lanzaremos con:

./kiauh/kiauh.sh
Aspecto de Kiauh

Desde la consola dispondremos de unos menús para poder ver que tenemos instalado y gestionar instalaciones, actualizaciones, eliminar módulos de Klipper además de opciones especiales avanzadas.

Volviendo a la interfaz web 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í.

Una vez ya tenemos aplicado el firmware a nuestra MCU y con el serialID de comunicación solo nos queda generar y ajustar nuestra configuración de máquina de Klipper, conexión y macros que queramos utilizar.

Si todo ha ido bien, nuestra Bigtreetech Pi ya podrá conectar a nuestra MCU y nuestra pantalla mostrará una 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.

Controlar varias impresoras

Como ya hemos comentado en muchas ocasiones, Klipper es un sistema extremadamente versátil que junto como un host como nuestra Bigtreetech Pi nos puede permitir controlar varias impresoras de forma simultánea.

¿Cuántas impresoras puede soportar mi Bigtreetech Pi ?

Al igual que hicimos con nuestra Pad 7, en nuestras pruebas hemos controlado hasta 3 impresoras de forma simultánea sin grandes problemas de rendimiento.

Es importante indicar que sin usar ninguna webcam para el proceso de imágenes, y por la carga del sistema creemos que podría controlar 4 impresoras sin esa carga de procesado de imágenes

Dado que ya explicamos este tema en nuestra guía de la Bigtreetech Pad 7 donde tenéis el detalle del proceso.

Ajustes de nuestro laminador con Klipper

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.

spaces%2F MTqLw6KI5FruaRNEMZD 887967055%2Fuploads%2FRwlhTjD484Si6Q8zJ7OE%2Fimage
Ejemplo de configuración de G-code flavor en OrcaSlicer

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:

spaces%2F MTqLw6KI5FruaRNEMZD 887967055%2Fuploads%2FLobq1EoY1y4ZXZcabTJb%2Fimage
Ejemplo de G-codes inicio y fin en OrcaSlicer

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

spaces%2F MTqLw6KI5FruaRNEMZD 887967055%2Fuploads%2FvCVgiZX4hdYdJI7fNBh0%2Fimage
Integración de OrcaSlicer para envío de g-codes directamente del laminador

Última actualización