> For the complete documentation index, see [llms.txt](https://labs.3dwork.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://labs.3dwork.io/reviews-guias/electronica/bigtreetech-skr/skr-octopus-pro.md).

# SKR Octopus PRO

Evolución de la estupenda Octopus lanzada hace menos de un año esta evolución ha sido pensada **para máquinas que requieren volúmenes o velocidades altas de impresión** usando para ello componentes más potentes/avanzados que los usados normalmente.

Tal como aconsejábamos para la [**SKR Octopus**](/reviews-guias/electronica/bigtreetech-skr/skr-octopus.md) normal estas placas están especialmente indicadas para máquinas estilo "CoreXY" como [**Voron 2.4**](https://vorondesign.com/voron2.4) una [**BLV**](https://www.blvprojects.com/blv-mgn-cube-3d-printer) o [**VCore3**](https://v-core.ratrig.com/) siendo a día de hoy las mejores máquinas en este formato en especial si vamos a montar estos formatos en alto rendimiento.

Os dejamos un video interesante de BigtreeTech sobre esta placa.

{% embed url="<https://www.youtube.com/watch?v=1VYRrK3WHTo>" %}

## Introducción

Antes de continuar con el artículo me gustaría recordarte como siempre que disponemos de una gran comunidad en nuestro [**canal de Telegram**](https://t.me/trastornados). Allí solemos compartir todas nuestras dudas y experiencias. Si deseas formar parte de él, no tengas reparo alguno en unirte a nosotros.

También puedes encontrar mucha ayuda o recursos directamente en el grupo de Telegram de [**SKR**](https://t.me/SKR_board_32bits),‌ así como otras guías de ayuda en nuestro Bot de Telegram [**@ThreeDWorkHelpBot**](https://t.me/ThreeDWorkHelpBot)**.**

## ¿Dónde puedo comprar la BigTreeTech SKR Octopus?

Aqui tienes un link a [**Markets.sx**](https://markets.sx/) con los mejores precios en diferentes sitios (Amazon, Aliexpress, Gearbest,etc.).

![](/files/fQTvLc5yxlVWQEaWuexG)

{% embed url="<https://markets.sx/index.php?AL=1.24&AM=1.04&GB=0.38&keyword=Bigtreetech+octopus+pro+v1.0&search=20211108T151611Z&type=normal>" %}

## Diagramas BigTreeTech Octopus PRO

Aunque las diferencias con su hermana Octopus son mínimas podéis encontrar sus esquemas de conectores, pineado y medidas a continuación.

{% tabs %}
{% tab title="Conectores" %}
![](/files/dOO3O2s4PZGCv7VLW6ug)
{% endtab %}

{% tab title="Pins" %}
![](/files/L7HsMo8mbP3sTHCCgNRq)
{% endtab %}

{% tab title="Cotas" %}
![](/files/JRdOSWv9VTbtDLeg3VMJ)
{% endtab %}

{% tab title="Extendido" %}
![](/files/oFwqTZcQuC1oLhFx6fNs)
{% endtab %}
{% endtabs %}

También podéis acceder al [**manual de la SKR Octopus PRO**](https://github.com/bigtreetech/BIGTREETECH-OCTOPUS-Pro/blob/main/BTT_Octopus_pro_EN.pdf) que facilita el fabricante en su Github junto con otra información interesante sobre esta impresionante placa.

## Principales características

Características más importantes de esta **Octopus PRO** :

* Dos versiones de MCUs
  * MCU de **32b ARM Cortex-M4 STM32F446ZET6** con una frecuencia de reloj de **180MHz y 512kB de memoria flash** siendo esta versión la más aconsejable para firmwares Klipper o Marlin
  * MCU de **32b ARM Cortex-M4 STM32F429ZGT6** con una frecuencia de reloj de **168Mhz y 1MB de memoria flash** siendo esta versión la más aconsejable para firmware RRF
* Soporte para **firmware Klipper, Marlin y RRF**
* **Interface para Raspberry Pi** tanto por USB como UART por GPIO
* Hasta **4 hotends**
* Hasta **8 drivers de alto voltaje o normales con nueva electrónica de protección**
* Alimentación independiente para motores, cama caliente y electrónica
* **DCDC integrados para proveer alimentación a 12V (4A), 5V (8A) y 3.3V (1A)** ideal para no necesitar de comonentes externos
* Hasta **6 ventiladores controlables** y **2 sin control** con la posibilidad de selecciión del voltaje de trabajo entre Vin, 12V y 5V.
* **Protección ante cortos en las tomas de ventiladores**, importante por una mala manipulación o fallo de estos componentes ya que es uno de los problemas más comunes con las placas de nuestras máquinas
* Conector **USB-C** que permite la emulación serie para poder **imprimir mediante USB**
* Compatibilidad con casi cualquier pantalla aunque aconsejable siempre usar las estupendas [**pantallas duales de SKR**](/reviews-guias/electronica/bigtreetech-skr/pantallas-bigtreetech-skr.md)
* **MOSFETs de alto rendimiento** que mejoran la eficiencia y velocidad de calentado de los calentadores
* **Fusibles de protección reemplazables** de forma sencilla
* **Doble salida de motor para el eje Z**
* **Mejoras en el bootloader** soportando la actualización por **USB** (aconsejable) y **DFU** (usuarios avanzados)
* **EEPROM de 32K** (AT24C32)
* Conectores para leds RGB y [**Neopixel**](broken://pages/-MX6fcF4o4EBWode9_5n)
* **Conector para interfaz WiFi** (ESP8266)
* **PT100 interface/amplificador** instalado soportando sensores de 2/3/4 cables
* **Protección ante corto en los conectores de termistores**, otra gran mejora también aplicada a los ventiladores. Permite reusar estos pines para otras tareas con un pin que hace bypass de estas protecciones
* Soporte de **BlTouch** y similares con un conector destinado para ellos y usable por otros sistemas **ABL**. El puerto del PROBE se añadió protección extra con un octoacoplador para no necesitar usar un diodo BAT85
* **CAN BUS** mediante conector 6P6C RJ11 para futuros módulos de expansión
* **SPI BUS** puerto de expansión para módulos SPI como el MAX31865
* **I2C BUS** puerto de expansión para módulos I2C
* Soporte para módulos **Relé** y [**UPS**](broken://pages/-MXs0uYnJD4u--rNc_-q)

## Diferencias Octopus PRO vs Octopus:

* **Soporte para drivers de alto voltaje (HV)** soportando hasta 60V teóricos aconsejamos trabajar con sistemas de 48V. Por supuesto podemos usar nuestra placa **Octopus PRO** con drivers estándar gracias a que BigtreeTech ha puesto a nuestra disposición un jumper para elegir un modo u otro.

![](/files/cbW6ZU0A4BRjd8HkblxK)

* Mejorada la **electrónica de control de drivers** con nuevos integrados que prometen mejorar la calidad y gestión del uso de drivers

![](/files/orFAw8RSLD2XqG8Y9nL2)

* Dos **versiones orientadas a diferentes firmwares**

![](/files/dvBByyX3qBXZU3QlvbW2)

* Inclusión de serie de un **amplificador para sensores PT100**, recordemos que la versión normal de la Octopus cuenta con la pre-instalación

![](/files/dLzByjto0vUMM6Od3gmy)

* Inclusión de un pequeño **buzzer para la notificación de alarmas**
* Se han **cambiado la polaridades en alguno de los conectores**

## **Conexiones SKR Octopus**

Dado que la Octopus PRO es prácticamente igual que su hermana Octopus no vamos a revisar el detalle de todas sus conexiones si no aquellas que han variado.

Podéis consultar el detalle de las conexiones comunes a ambas en nuest[**ra guía de la SKR Octopus**](/reviews-guias/electronica/bigtreetech-skr/skr-octopus.md).

### **Conector selección de alimentación**

La Octopus PRO dispone de un jumper para la selección de alimentación de la electrónica usando el puerto USB-C, con este pin conectado mediante un jumper la placa se alimentará por el puerto USB-C para realizar tareas de actualización de firmware o test básicos.

Es importante no colocar este jumper en un uso normal estando conectado a la fuente de alimentación de la impresora.

![Conector selección de entrada alimentación USB/Fuente](/files/KjIT4ECGRi05z6PDrCgv)

### **Drivers**

Otra gran mejora, enfocada a máquinas específicas, es el **soporte a drivers/motores HV (alto voltaje)**.

Los 8 zócalos de la Octopus PRO resaltan sobre su hermana con unos condensadores mas contundentes además de unos zócalos con más altura. Las mejoras en la gestión de los drivers no solamente se limitan a mejorar los condensadores si no a la i**nclusión de una electrónica de control para los drivers**.

Para poder **usar drivers HV se incluye un jumper para activar esta función**, algo que nos ha encantado ya que podemos usar o no esta función en caso que lo necesitemos para nuestra máquina.

En el caso que usemos **drivers normales** colocaremos el jumper de la parte superior del zócalo (debajo del conector del cable del motor) en la parte derecha, en ese caso **los drivers usarían la entrada de corriente MOTHERBOARD** que normalmente es 24v.

![Jumper selección de alimentación para drivers en posición MOTHERBOARD POWER IN.](/files/coKzWl6VIiPKtmwwwTV4)

En el caso que usemos **drivers HV** colocaremos el jumper en la parte izquierda haciendo que la alimentación de nuestros **drivers usen la entrada de corriente MOTOR POWER IN** que podremos alcanzar hasta 60V.

![Jumper selección de alimentación para drivers en posición MOTOR POWER IN.](/files/YtF5mO10udxid7lclAZb)

### **Sensores PT100**

La **Octopus PRO** incluye la electrónica necesaria para poder usar los excelentes PT100 directamente soportando sensores de 2, 3 y 4 cables usando un micro-switch para indicarle a la placa qué tipo estamos usando.

![Conector sensor PT100 y micro-switch configuración.](/files/X3GeE7LvE9ZF9a00XTOv)

Configuración de micro-switches dependiendo del tipo de sensor PT100 usado:

<table><thead><tr><th width="150" align="center">1</th><th width="150" align="center">2</th><th width="150" align="center">3</th><th width="150" align="center">4</th><th align="center">Sensor</th></tr></thead><tbody><tr><td align="center">ON</td><td align="center">ON</td><td align="center">ON</td><td align="center">OFF</td><td align="center">PT100 - 2 cables</td></tr><tr><td align="center">ON</td><td align="center">ON</td><td align="center">OFF</td><td align="center">ON</td><td align="center">PT1000 - 2 cables</td></tr><tr><td align="center">OFF</td><td align="center">ON</td><td align="center">ON</td><td align="center">OFF</td><td align="center">PT100 - 3 cables</td></tr><tr><td align="center">OFF</td><td align="center">ON</td><td align="center">OFF</td><td align="center">ON</td><td align="center">PT1000 - 3 cables</td></tr><tr><td align="center">OFF</td><td align="center">OFF</td><td align="center">ON</td><td align="center">OFF</td><td align="center">PT100 - 4 cables</td></tr><tr><td align="center">OFF</td><td align="center">OFF</td><td align="center">OFF</td><td align="center">ON</td><td align="center">PT1000 - 4 cables</td></tr></tbody></table>

{% hint style="warning" %}
Recuerda que esta configuración es solamente a nivel de electrónica y necesitas especificar/definir en tu firmware el tipo de sensor adecuado. Usaremos 430 ohms para PT100 y 4300 ohms para PT1000.
{% endhint %}

En el caso que usemos sensores de tres cables es necesario realizar un ajuste en la placa. Revisa la imagen a continuación que muestra cómo viene la placa y que es la adecuada en el caso que usemos sensores de 2 o 4 cables. Para sensores de 3 cables es necesario retirar ambos SMD y colocar el marcado en azul en lugar del rojo dejando los puntos del zocalo azul desconectados. Al ser unos SMD de 0 ohmios podemos colocar un puente entre los puntos de los zócalos y no soldar los SMD si nos da problemas.

![Modificación en caso de uso de sensores PT100 de 3 cables.](/files/k0hQ1XE6rF4ah7m1yVUC)

## Configuración del firmware

Como ya hemos comentado BigtreeTech ha dotado a esta electrónica de la máxima compatibilidad con los firmwares más actuales soportando Marlin, Klipper y RRF.

Al igual que en la revisión de conexiones y dadas las similitudes con su hermana Octopus solamente os haremos referencia a las diferencias más detacables.

### Marlin

Os aconsejamos seguir nuestra [**guía para «cocinar» vuestro propio Marlin**](https://3dwork.qitec.net/guias-impresion-3d/mejoras-upgrades/marlin-guia-compilacion) que tenemos en la sección **/Marlin** de nuestro bot de ayuda en Telegram [**@ThreeDWorkHelpBot**](https://t.me/ThreeDWorkHelpBot)

Podéis encontrar las fuentes del firmware oficial [**aquí**](https://github.com/bigtreetech/BIGTREETECH-OCTOPUS-V1.0/tree/master/Firmware).

#### Modificando "platformio.ini"

En este fichero indicaremos nuestro chipset/electrónica buscando al inicio del ficheero el valor **env\_default** y cambiarlo por:

* Si nuestra **Octopus PRO** tiene la **MCU 446**

```
default_envs = BIGTREE_OCTOPUS_V1 
o
default_envs = BIGTREE_OCTOPUS_V1_USB
```

* En el caso de que nuestra **Octopus PRO** tenga la **MCU 429**

```
default_envs = BIGTREE_OCTOPUS_PRO_V1_F429 
o
default_envs = BIGTREE_OCTOPUS_PRO_V1_F429_USB
```

#### Modificando "configuration.h"

Primero de todo y como siempre hacemos os **aconsejamos añador un comentario a cualquier linea de configuración que modifiquemos**, ya que después nos será mucho más sencillo encontrar nuestras modificaciones para futuros cambios/consultas. Para ello podemos añadir:

```
En el caso que no tenga un comentario ya la linea
... // 3DWORK 
En el caso que ya tenga un comentario
... // 3DWORK ...
```

Como ya hemos comentado **solamente vamos a detallar los cambios con respecto a la Octopus normal** de los que **básicamente será la definición del tipo de MOTHERBOARD**. Para el resto de opciones [**os aconsejamos revisar el apartado Marlin de la guía de la Octopus**](/reviews-guias/electronica/bigtreetech-skr/skr-octopus.md#marlin).

```
// Choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_BTT_OCTOPUS_PRO_V1_0
#endif
```

### Klipper

[Klipper](https://www.klipper3d.org/) es un firmware open-source para nuestras impresoras 3D que **usa la potencia de una Raspberry Pi**, normalmente aunque se puede montar en muchos más dispositivos, **para el control de la electrónica de tu impresora**. Haciendo esto podemos hacer funcionar de una forma más veloz y con más precisión dependiendo del sistema y hardware que tengamos.

Algo que si que nos va a permitir Klipper en cualquier caso es el **poder tener un control a más bajo nivel de nuestra máquina, que también requerirá de un extra de conocimientos/esfuerzos, mayor velocidad a la hora de aplicar cualquier cambio además de un control remoto de la máquina de primera clase**.

Es importante recalcar que **si venimos de otros sistemas Klipper puede tener algunas restricciones en cuanto a compatibilidad con componentes o con determinadas funciones** que ahora tengamos en nuestra impresora.

Por otro lado **contamos con funciones muy interesantes de control de nuestra impresora como Pressure Advance (similar a Linear Advance de Marlin) y Input Shaper los cuales van a mejorar enormemente la velocidad y calidad**.

#### Conexión Raspberry Pi a nuestra Octopus

Como ya hemos comentado el corazón de Klipper corre en una Raspberry Pi normalmente, ya hemos comentado diferentes formas de conectar esta a nuestra Octopus pero para nuestro ejemplo usaremos la más común/sencilla que es usando un cable USB-C.

{% tabs %}
{% tab title="Raspberry pinout" %}
![](/files/gGsqhQiPFg7rAqAbF4AV)
{% endtab %}

{% tab title="Conexiones" %}
![Opciones de conexion USB-C / USART](/files/E9ODglO0Q4zddzR3ZlaV)

![Conexión USB-C](/files/-MjxHwWvK4NKdDbwJM58)

![Conexión USART](/files/-MjxI5Co3nKnIDmVj-2X)
{% endtab %}
{% endtabs %}

#### Compilando nuestro firmware

* Podemos seguir la [**documentación oficial de Klipper para instalarlo**](https://www.klipper3d.org/Installation.html) también aconsejamos usar [**Kiauh**](https://github.com/th33xitus/kiauh)**,** [**Fluidd Pi**](https://github.com/cadriel/FluiddPI) dispone de una imagen que facilita mucho el proceso de instalación de todos los componentes necesarios.
* Siguiendo la documentación anterior iremos a la opción de **Building the micro-controller** usando esta configuración **para MCU 446**:
  * \[\*] Enable extra low-level configuration options
  * Micro-controller Architecture = **STMicroelectronics STM32**
  * Processor model = **STM32F446**
  * Bootloader offset = **32KiB bootloader**
  * Clock Reference = **12 MHz crystal**
  * Si usamos **USB-C**
    * Communication interface = **USB (on PA11/PA12)**
  * Si usamos **USART2**
    * Communication interface = **Serial (on USART2 PD6/PD5)**

![Configuración para MCU 446](/files/zQJ9R3ZLidnD1SezGuRi)

* Si tenemos una MCU 429:
  * \[\*] Enable extra low-level configuration options
  * Micro-controller Architecture = **STMicroelectronics STM32**
  * Processor model = **STM32F429**
  * Bootloader offset = **32KiB bootloader**
  * Clock Reference = **8 MHz crystal**
  * Si usamos **USB-C**
    * Communication interface = **USB (on PA11/PA12)**
  * Si usamos **USART2**
    * Communication interface = **Serial (on USART2 PD6/PD5)**

![](/files/DMA6YTfSMiZkSAZhv9kL)

* El firmware **klipper.bin** se generará en la carpeta **home/pi/klipper/out** el cual si Klipper no es capaz de copiarlo directamente en la SD de nuestra **Octopus PRO** copiar manualmente en la SD usando [**WinSCP**](https://winscp.net/eng/download.php) o el comando **pscp** en el CMD.
* Actualizando nuestra **Octopus PRO** a firmware Klipper bastará con **renombrar el firmware creado/descargado firmware-USB.bin, firmware-USART2.bin o klipper.bin a fiwmware.bin** que es el nombre por defecto que usa el bootloader de nuestra **Octupus PRO** para hacer el. proceso de actualización.

#### Configuración básica de Klipper

* Usando como referencia [**documentación oficial de Klipper para instalarlo**](https://www.klipper3d.org/Installation.html) para configurar Klipper usaremos la configuración [**Octopus klipper.cfg**](https://github.com/bigtreetech/BIGTREETECH-OCTOPUS-V1.0/blob/master/Firmware/Klipper/Octopus%20klipper.cfg) como base para nuestro **printer.cfg** que incluye las definiciones correctas a nivel de pineado para nuestra Octopus.
* Puedes usar la [**documentación de configuración de Klipper**](https://www.klipper3d.org/Config_Reference.html) para habilitar las funciones que más nos interesen.
* Si vamos a usar USB-C para comunicar Klipper con Octopus ejecutaremos el siguiente comando desde **Klipper** **ls /dev/serial/by-id/\***, desde **Kiauh** disponemos desde su menú de una forma rápida y sencilla para ejecutar esta acción, para identificar el ID correcto de nuestra Octopus y añadirlo a nuestro **printer.cfg**

```
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_0E002B00135053424E363620-if00
```

![](/files/-MjxPJj2Q29gYyDz8R48)

* Si usamos USART2 para comunicar necesitaremos modificar algunas configuraciones en nuestra Raspberry Pi directamente en la SD desde el ordenador o. de la forma más cómoda y aconsejable que es mediante SSH
  * Eliminar o comentar la linea **console=serial0,115200** en **/boot/cmdline.txt**
  * Añadir **dtoverlay=pi3-miniuart-bt** al final de **/boot/config.txt**
  * Modificar la configuración de **\[mcu]** en **printer.cfg** a **serial: /dev/ttyAMA0** y habilitar **restart\_method: command**

```
...printer.cfg
[mcu]
serial: /dev/ttyAMA0
restart_method: command
```

![](/files/-MjxQ_TFyo7c7-k7PmMy)

### Firmware RepRap

La versatilidad de la SKR Octopus es total, ya hemos hablado en detalle de Marlin, Klipper y ahora toca el turno de RepRap el cual dada su complejidad os remitimos a su repositorio donde encontraréis las versiones preparadas para nuestra Octopus.

{% embed url="<https://github.com/bigtreetech/BIGTREETECH-OCTOPUS-V1.0/tree/master/Firmware/RepRapFirmware>" %}

### Actualización mediante DFU

Nuestra **Octopus PRO nos permite su actualización mediante DFU** que nos permitirá poder subir firmware o bootloader en caso que el proceso normal no funcione usando el cable USB-C.

Dado que es un proceso no recomendable para usaurios no experimentados os dejamos el enlace al [**documento de Bigtreetech**](https://github.com/bigtreetech/BIGTREETECH-OCTOPUS-V1.0/blob/master/Firmware/DFU%20Update%20bootloader/Octopus-DFU%20Update%20bootloader%20-%20en.pdf) donde explica el proceso.

## TMC5160 HV

* Soporte para motores de hasta 60V teóricos aunque en el caso de usar sobre una Octopus PRO aconsejamos trabajar con sistemas de 48V. Voltajes recomendados 12-24-36-48-56 V
* Gran calidad de construcción y componentes algo que acostumbra a ofrecer en todos los drivers fabricados por BigtreeTech

![](/files/GTgp9AcK7D4R5ufwdrZx)

{% hint style="warning" %}
En el caso de trabajar con máquinas con motores de alto voltaje (HV) es aconsejable que nuestra máquina disponga de una fuente dedicada a la alimentación de los motores siendo aconsejable que al menos sea de 200W o más dependiendo del número de drivers que usemos en este modo.
{% endhint %}

![Esquema de pines TMC5160 PRO/HV](/files/pSQPhAFYI3ydtuqheBKS)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://labs.3dwork.io/reviews-guias/electronica/bigtreetech-skr/skr-octopus-pro.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
