bigtreetech pi

Bigtreetech Pi : la alternativa π

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.

Como siempre antes de seguir con el artículo, recordarte que puedes unirte a 3DWork en nuestro canal de Telegram lleno de trastornados por la impresión 3D, o en nuestras redes sociales FacebookTwitterInstagram.

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.

image 83

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:

CPUAllwinner H616, Quad-Core Cortex-A53 @1.5GHz
GPUMali G31 MP2, OpenGL 3.2
RAM1GB DDR3 SDRAM
COMsFast 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
Audio3.5mm jack, HDMI
VideoHDMIx1: HDMI 2.0A, 4K
SPI Display Port
GPIO40-pin GPIO
PowerDC 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.

image 80

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!!!

image 84

También os facilitamos algunos esquemas:

image
image 1
image 2
image 3

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.

image 87

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.

image 82

ADXL345:

Aunque la Bigtreetech Pi dispone de un conector para el uso de este acelerómetro es importante aclarar que no viene incluído en el kit y es necesario comprarlo por separado

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:
image 81
  • 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

Bigtreetech Pi como segunda MCU:

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.

Bigtreetech Pi dispone también de un conector CANbus para la conexión a este bus de extensiones como toolheads.

Puerto CANbus:

Aunque la Bigtreetech Pi dispone de un conector CAN es importante aclarar que requiere de un módulo USB que no viene incluído en el kit y es necesario comprarlo por separado

image 4
image 5

IMPORTANTE!!!

Aunque la Bigtreetech Pi dispone de un conector CAN es importante aclarar que requiere de un módulo USB que no viene incluído en el kit y es necesario comprarlo por separado

El nombre del pin de control que podemos encontrar en el esquema anterior para controlar el ventilador de nuestra Bigtreetech Pi es el nombre que hace referencia al pin de su GPIO pero este no está expuesto en el conector.

Para calcular el pin GPIO correcto a utilizar en nuestro Klipper deberemos de utilizar la siguiente fórmula:

[(PG – PA)*32] + {Pin Number} = GPIO pin

Donde tenemos:

  • Px es… PA=1, PB=2…PG=7
  • Pin Number para PG19 = 19

Con lo que nos queda la siguiente fórmula y valor a utilizar:

[(7- 1)*32] + 19 = 211 GPIO pin

Con esto nos queda que deberemos usar en nuestro Klipper:

pin: host:gpio211

Ahora en nuestro printer.cfg o include, en el caso de usar una configuración modular, lo añadiremos de la siguiente forma:

Conexión a Bigtreetech Pi como segunda MCU

[mcu host]
serial: /tmp/klipper_host_mcu

Añadiendo la gestión de ventilador de la electrónica del host:

[temperature_fan bigtreetech_pi]
pin: host:gpio211
kick_start_time: 0.8
#shutdown_speed: 0
off_below: 0.1
max_power: 1.0
#fan_speed: 0.6
sensor_type: temperature_host
control: pid
min_temp: 0
max_temp: 85
#max_delta: 5.0
pid_kp: 1.0
pid_ki: 0.5
pid_kd: 2.0
min_speed: 0.1
max_speed: 0.6
target_temp: 38

Bigtreetech Pi dispone de un conector HDMI para la conexión de pantallas donde poder, por ejemplo, mostrar el interfaz KlipperScreen. Estas pantallas suelen requerir de la conexión USB para poder habilitar la parte táctil.

image 85

Por otro lado normalmente el sistema automáticamente detecta la resolución HDMI de nuestra pantalla pero en el caso que no sea así deberemos de ajustar el valor de extraargs=video, en nuestro /boot/BoardEnv.txt, para indicar la resolución de nuestro dispositivo. Como ejemplo:

  • BTT-HDMI7 resolution = 1024×600: extraargs=video=HDMI-A-1:1024x600-24@60
  • BTT-HDMI5 resolution = 800×480: extraargs=video=HDMI-A-1:800x480-24@60

Bigtreetech Pi dispone también de un conector SPI para la conexión de pantallas de este tipo.

NO es aconsejable habilitar una pantalla SPI cuando utilizamos CAN.

Los dispositivos CAN suele ser crítico el flujo de datos y en tiempo real por lo que al compartir el mismo bus entre pantalla SPI y CAN puede provocar problemas de rendimiento… algo crítico normalmente para dispositivos CAN.

Dicho lo anterior y en el caso que queramos habilitar una pantalla SPI en nuestra Bigtreetech Pi habilitaremos overlays=tft35_spi en nuestro /boot/BoardEnv.txt. Tendremos que tener en cuenta la siguiente información para nuestra configuración Klipper:

SPI1_CLK=PH6
SPI1_MISO=PH8
SPI1_MOSI=PH7
TFT35_SPI_CS=PC7
MCP2515_CS=PC11
MCP2515_IRQ=PC9
image 86

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.

image 75

Hablando de Klipper no nos cansaremos de indicar que Bigtreetech es una marca que activamente apoya Klipper desde 2022.

Eso para nosotros como usuarios de Klipper hemos de dar valor… primero, porque nos aseguramos que utilizando los productos de Bigtreetech vamos a tener la mejor experiencia con Klipper… segundo, que gracias a apoyar los productos de Bigtreetech estamos apoyando el desarrollo y avance de Klipper.

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,

image 78
image 79

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:

image 77

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

Que revisar si tenemos problemas de red:

En el caso de 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.
En el caso de utilizar RatOS contamos con la ventaja que nuestra Bigtreetech Pi montará un punto de acceso WiFi desde donde podremos configurarla. En este caso nos conectaremos al punto de acceso llamado RatOS, contraseña Raspberry, y desde nuestro navegador conectaremos a http://192.168.50.1/configure siguiendo los pasos que nos indicará el asistente de configuración.
Recuerda que en el propio system.cfg mencionado anteriormente existe configuración para el punto de acceso en el caso de querer utilizar la impresora en ubicaciones sin red 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:

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
image 76
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

3D enthusiasts