# Sidewinder X2

Las Artillery SW X2 vienen de serie con firmware Marlin 2.x y, teniendo en cuenta la potencia de la electrónica Ruby que monta y el soporte de Artillery, es muy aconsejable pasarlas al sistema Klipper.

{% hint style="danger" %}
**IMPORTANTE!!!**

* **Klipper a día de hoy no soporta el uso de pantallas serial de forma directa como las que montan estas Artillery por lo que�**<mark style="color:red;">**se aconseja la desconexión de la pantalla a la electrónica**</mark>**.**
* **Los siguientes procedimientos requieren de unos mínimos conocimientos, os aconsejamos antes informaros bien ya que�**<mark style="color:red;">**cualquier problema o fallo al aplicar este procedimiento es vuestra responsabilidad y pueda eliminar la garantía con Artillery**</mark>**.**
  {% endhint %}

Antes de empezar es necesario que dispongáis un host con Klipper instalado, no vamos a explicar este proceso ya que va a depender de gustos personales o necesidades específicas. Tenéis nuestra [guía de instalación aquí](/klipper/instalacion/guias-instalacion-especificas-impresora-electronica.md).

En nuestro caso os aconsejamos el uso de una Raspberry Pi o Bigtreetech Pi/Pad5/Pad7 con módulo CB1 y una usar una imagen de sistema con Klipper instalado como MainsailOS/RatOS dependiendo de vuestro host y conocimientos.

## Generar y aplicar el firmware Klipper a nuestra Ruby

{% hint style="warning" %}
**Los siguientes procedimientos requieren de unos mínimos conocimientos, os aconsejamos antes informaros bien ya que�**<mark style="color:red;">**cualquier problema o fallo al aplicar este procedimiento es vuestra responsabilidad y pueda eliminar la garantía con Artillery**</mark>**.**
{% endhint %}

El primer paso para poder aplicar el firmware Klipper en nuestra Artillery Ruby v1.x es poner esta en modo DFU.

Aunque se puede hacer lanzando comandos gcode (M997) os aconsejamos realizar el proceso mediante un jumper, con la impresora/electrónica completamente apagada sin alimentación, en la electrónica entre los pines BOOT y 3.3v tal como podéis ver en la siguiente captura.

Una vez ya tenemos el jumper el siguiente paso será [conectar por SSH](https://github.com/alienboyxp/gitbook_es_klipper_3dwork_io/blob/main/klipper/instalacion/empezamos/puesta-en-marcha-inicial.md#conexion-a-ssh) a nuestro host y lanzaremos los siguientes comandos:

```bash
cd ~/klipper/
make menuconfig
```

Nos aparecerá un menu para ajustar las opciones para compilar nuestro firmware Klipper, para ajustarlo a una Artillery Ruby:

* Ajustaremos **STMicroelectronics STM32** como **Micro-controller Architecture**
* En **Processor model** seleccionaremos **STM32F401**
* En **Bootloader** pondremos **No bootloader**
* Tan solo nos queda pulsar **Q para salir** y **Y para guardar cambios**

El siguiente paso será lanzar el comando para compilar el firmware:

```bash
make
```

Una vez finalizada la compilación del firmware conectaremos por USB nuestra Artillery Ruby a nuestro host y lanzaremos el siguiente comando para encontrar el serial id de esta:

```bash
ls /dev/serial/by-id/*
```

Deberíamos obtener algo como esto:

```bash
usb-Klipper_stm32f401xc_4F006F000351383532393535-if00
```

En el caso que no obtengamos el serial id os aconsejamos revisar la [guía de troubleshooting/resolución de problemas ](https://github.com/alienboyxp/gitbook_es_klipper_3dwork_io/blob/main/klipper/instalacion/troubleshooting.md)que os puede ser de ayuda para identificar el problema.

Pararemos el servicio Klipper por seguridad:

```bash
sudo service klipper stop
```

A continuación, y de nuevo asegurando que la Ruby se encuentra en modo DFU (jumper), conectada por USB y tenemos el serial id... lanzaremos el siguiente comando para aplicar el firmware a nuestra Ruby:

```bash
make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_stm32f401xc_4F006F000351383532393535-if00
```

Si todo ha ido bien podremos retirar el cable USB y el jumper.

Arrancaremos el servicio Klipper:

```bash
sudo service klipper start
```

¡Ya tenemos todo listo!!!

## Obtener un printer.cfg para nuestra Artillery

El siguiente paso, tal como tenéis en la [guía de primeros pasos](https://github.com/alienboyxp/gitbook_es_klipper_3dwork_io/blob/main/klipper/instalacion/empezamos/puesta-en-marcha-inicial.md), sería la de poner nuestro printer.cfg con las configuraciones de nuestra impresora/electrónica y ajustaremos en este el serial id.

A modo de ejemplo, os facilitamos los de Artillery que tenemos en el Github de Klipper y otros alternativos a usar bajo vuestra propia responsabilidad:

| Modelo                                                      |                                                                                                                                                                  |
| ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Artillery Sidewinder X2 (2022)                              | [printer.cfg](https://github.com/Klipper3d/klipper/blob/master/config/printer-artillery-sidewinder-x2-2022.cfg)                                                  |
| Artillery Genius Pro                                        |                                                                                                                                                                  |
| Artillery Sidewinder X1 (Stock)                             | [printer.cfg](https://github.com/Clank50AE/Clanks-Klipper-Configs/blob/master/SideWinder%20X1%20Stock.cfg) NO OFICIAL KLIPPER!!!                                 |
| Artillery Sidewinder X1 (Stock + Bltouch)                   | [printer.cfg](https://github.com/Clank50AE/Clanks-Klipper-Configs/blob/master/SideWinder%20X1%20BLTouch.cfg) NO OFICIAL KLIPPER!!!                               |
| Artillery Sidewinder X1 (SKR 1.4 Turbo + TMC2209 + Bltouch) | [printer.cfg](https://github.com/Clank50AE/Clanks-Klipper-Configs/blob/master/Sidewinder%20X1%20SKR%201_4%20Turbo%20TMC2209%20BLTouch.cfg) NO OFICIAL KLIPPER!!! |
| Artillery Genius (Stock)                                    | [printer.cfg](https://github.com/Clank50AE/Clanks-Klipper-Configs/blob/master/Genius%20Stock.cfg) NO OFICIAL KLIPPER!!!                                          |
| Artillery Genius (Stock + Bltouch)                          | [printer.cfg](https://github.com/Clank50AE/Clanks-Klipper-Configs/blob/master/Genius%20BLTouch.cfg) NO OFICIAL KLIPPER!!!                                        |
| Artillery Genius (SKR 1.4 Turbo + TMC2209 + Bltouch)        | [printer.cfg](https://github.com/Clank50AE/Clanks-Klipper-Configs/blob/master/Genius%20SKR%201_4%20Turbo%20TMC2209%20BLTouch.cfg) NO OFICIAL KLIPPER!!!          |

Una vez nuestro Klipper conecte con la electrónica, os aconsejamos seguir nuestra [guía de primeros pasos](https://github.com/alienboyxp/gitbook_es_klipper_3dwork_io/blob/main/klipper/instalacion/empezamos/puesta-en-marcha-inicial.md) para finalizar el proceso de configuración y ajustes.


---

# Agent Instructions: 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:

```
GET https://klipper.3dwork.io/klipper/instalacion/guias-instalacion-especificas-impresora-electronica/artillery-klipper/sw-x2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
