> For the complete documentation index, see [llms.txt](https://klipper.3dwork.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://klipper.3dwork.io/klipper/empezamos/sensor-nivelacion/biqu-microprobe.md).

# BIQU MicroProbe

El BIQU MicroProbe es un sensor de nivelación con pin retráctil, similar en concepto al BLTouch pero con un funcionamiento electrónico diferente y algunas ventajas interesantes respecto a él.

<figure><img src="https://content.gitbook.com/content/H6gCE2fgkkpOScJ72TP7/blobs/wnJwWZUgMgFMoEi2VEkj/image.png" alt=""><figcaption><p>Diagrama de conexiones del BIQU MicroProbe</p></figcaption></figure>

**Características principales:**

* Tamaño reducido e integrable en casi cualquier cabezal
* Peso reducido — minimiza el impacto en inercias y vibraciones
* Instalación similar a un BLTouch
* Buena precisión y fiabilidad
* Pin de contacto reemplazable
* Compatible con una amplia variedad de impresoras y electrónicas
* Precio competitivo

## Dónde comprarlo

{% tabs %}
{% tab title="AliExpress" %}
{% embed url="<https://s.click.aliexpress.com/e/182731559?productUrl=https://www.aliexpress.com/item/1005006314165426.html>" %}
{% endtab %}

{% tab title="HTA3D" %}
[<img src="https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2Fgit-blob-95d7684ea37b2a1d7f40174118c20215c048a41f%2Fhta3d-logo.png?alt=media" alt="HTA3D" data-size="line">](https://www.hta3d.com/es/bigtreetech-microprobe-v2.0-sonda-compacta-de-autonivelacion-para-impresoras-3d?tracking=5fb41d44d535d)

Bigtreetech MicroProbe V2.0 (polaridad V2, ver aviso más abajo).
{% endtab %}
{% endtabs %}

{% hint style="info" %}
} Si utilizas los links de compra, el precio del producto será el mismo que si accedes de manera habitual, pero a 3DWork le quedará una pequeña comisión. Algo que nos ayudará a soportar el proyecto y continuar generando contenido.
{% endhint %}

{% hint style="warning" %}
**Diferencias importantes respecto al BLTouch**

<img src="https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2FAG8TD608M4pkxTCVg46Y%2Fimage.png?alt=media&amp;token=51a1cff5-a93f-48c2-ad75-87cea577133f" alt="" data-size="original">

**V1 vs V2**: existen dos versiones con polaridad de señal invertida.

* **V1**: trigger en **HIGH** — pin de señal sin modificador (`^PIN`)
* **V2**: trigger en **LOW** — pin de señal con modificador negado (`^!PIN`)

**La V2 necesita una señal pull-up fuerte**. En algunas electrónicas puede dar problemas con ciertos pines que no tienen pull-up externo suficiente. Si el sensor no responde correctamente, prueba con otro pin o añade una resistencia pull-up externa.

Verifica la versión de tu sensor antes de copiar ninguna configuración.
{% endhint %}

## Compilación y flasheo del firmware

El MicroProbe no requiere flasheo de firmware adicional. Se conecta directamente a la electrónica de la impresora como un sensor de probe estándar.

## Configuración Klipper

La configuración del MicroProbe usa la sección `[probe]` estándar de Klipper con el añadido de un pin de servo para controlar el despliegue y recogida del pin.

### Estructura general

```ini
# Pin de control servo (despliegue/recogida)
[output_pin probe_enable]
pin: PIN_SERVO          # Ajusta al pin de tu electrónica
value: 0                # Recogido por defecto

# Sensor probe
[probe]
pin: ^!PIN_SEÑAL        # V1: ^PIN  |  V2: ^!PIN
deactivate_on_each_sample: False
x_offset: 0.0           # Offset real de tu instalación
y_offset: 0.0           # Offset real de tu instalación
z_offset: 0.0           # Se calibra con PROBE_CALIBRATE
speed: 5.0
lift_speed: 10.0
samples: 2              # Número de muestras por punto
samples_result: median  # median o average
sample_retract_dist: 3.0
samples_tolerance: 0.050
samples_tolerance_retries: 3
activate_gcode:
    Probe_Deploy
    G4 P500             # 500ms para desplegar
deactivate_gcode:
    Probe_Stow

# Macros de despliegue y recogida
[gcode_macro Probe_Deploy]
gcode:
    SET_PIN PIN=probe_enable VALUE=1

[gcode_macro Probe_Stow]
gcode:
    SET_PIN PIN=probe_enable VALUE=0
```

{% hint style="info" %}
**`samples`, `samples_tolerance` y `samples_tolerance_retries`** son parámetros recomendados para mejorar la fiabilidad de las medidas. Con `samples: 2` y `samples_result: median`, Klipper toma 2 lecturas por punto y usa la mediana — si las lecturas difieren más de `samples_tolerance` (50 µm), lo reintenta hasta 3 veces. Esto evita resultados erróneos por vibraciones o ruido eléctrico.
{% endhint %}

### Configuración por electrónica

{% tabs %}
{% tab title="M8P v2.0" %}
Cableado:

<figure><img src="https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2FQNTC82E1fHv6Q8xAdNaf%2Fimage.png?alt=media&amp;token=ae3cde5e-f02c-40f9-a13d-838afd23166c" alt=""><figcaption></figcaption></figure>

```ini
[output_pin probe_enable]
pin: PD12

[probe]
pin: ^!PD13  # V1: ^PD13  |  V2: ^!PD13
```

{% endtab %}

{% tab title="M8P v1.1" %}
Cableado:

<figure><img src="https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2FKD39salZ1HhE6ZiKAqNc%2Fimage.png?alt=media&amp;token=fa955101-70e1-4e65-a727-8337f56ef860" alt=""><figcaption></figcaption></figure>

```ini
[output_pin probe_enable]
pin: PB1

[probe]
pin: ^!PB2  # V1: ^PB2  |  V2: ^!PB2
```

{% endtab %}

{% tab title="M5P" %}
Cableado:

<figure><img src="https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2Fl3Nig0pZoYCXwr7iOYDf%2Fimage.png?alt=media&amp;token=12bd9ad9-5193-4b45-8322-ba3c1e4ccc76" alt=""><figcaption></figcaption></figure>

```ini
[output_pin probe_enable]
pin: PC15

[probe]
pin: ^!PC13  # V1: ^PC13  |  V2: ^!PC13
```

{% endtab %}

{% tab title="Octopus" %}
Cableado:

<figure><img src="https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2FPSnFafiEaxGHKWAXoEcC%2Fimage.png?alt=media&amp;token=00b6e259-c4ee-4f1d-9648-aabf03ab1945" alt=""><figcaption></figcaption></figure>

```ini
[output_pin probe_enable]
pin: PB6

[probe]
pin: ^!PB7  # V1: ^PB7  |  V2: ^!PB7
```

{% endtab %}

{% tab title="Octopus MAX" %}
Cableado:

<figure><img src="https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2F6g0ltsoIeC9KiB7lI1Z5%2Fimage.png?alt=media&amp;token=f3765afc-f5e3-4ba8-8c38-02843c259376" alt=""><figcaption></figcaption></figure>

```ini
[output_pin probe_enable]
pin: PB6

[probe]
pin: ^!PB15  # V1: ^PB15  |  V2: ^!PB15
```

{% endtab %}

{% tab title="E3 EZ" %}
Cableado:

<figure><img src="https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2FOOPdyoKq57Yz4TjzUyWi%2Fimage.png?alt=media&amp;token=ccd6d5cf-ccd7-4773-8b27-cb2056ed9c86" alt=""><figcaption></figcaption></figure>

```ini
[output_pin probe_enable]
pin: PA7

[probe]
pin: ^!PA6  # V1: ^PA6  |  V2: ^!PA6
```

{% endtab %}

{% tab title="SKR 3" %}
Cableado con Z-Endstop:

<figure><img src="https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2FXwiAWtsTl59O7vYIJ6zo%2Fimage.png?alt=media&amp;token=3882aa12-aa1f-423a-b224-01814462f85b" alt=""><figcaption></figcaption></figure>

O usando el conector PROBE:

<figure><img src="https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2FPwIOVk58T0o5RH47OzI2%2Fimage.png?alt=media&amp;token=2437c0cd-f948-4a3e-9f11-a0bfc4ec4ef5" alt=""><figcaption></figcaption></figure>

```ini
[output_pin probe_enable]
pin: PE5

[probe]
pin: ^!PC13  # V1: ^PC13  |  V2: ^!PC13
```

{% endtab %}

{% tab title="MINI E3 v3.0" %}
Cableado:

<figure><img src="https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2F8OHSxv1PcnoCdya4qLN8%2Fimage.png?alt=media&amp;token=4c227ea9-c74e-4e2f-863f-529111cc1305" alt=""><figcaption></figcaption></figure>

```ini
[output_pin probe_enable]
pin: PA1

[probe]
pin: ^!PC14  # V1: ^PC14  |  V2: ^!PC14
```

{% endtab %}
{% endtabs %}

### Safe Z Homing

Es muy recomendable añadir `[safe_z_home]` para que el homing Z se realice siempre con el sensor desplegado en una posición segura:

```ini
[safe_z_home]
home_xy_position: X_CENTRO, Y_CENTRO  # Ajusta al centro de tu cama
speed: 100
z_hop: 10           # Sube Z antes de mover a la posición de home
z_hop_speed: 20
```

Sustituye `X_CENTRO, Y_CENTRO` por las coordenadas del centro de tu área de impresión (teniendo en cuenta el offset XY del sensor).

### Bed Mesh

Añade la sección `[bed_mesh]` ajustada a tu impresora:

```ini
[bed_mesh]
speed: 150
horizontal_move_z: 10
mesh_min: XMIN, YMIN    # Mínimo alcanzable por el sensor (nozzle offset incluido)
mesh_max: XMAX, YMAX    # Máximo alcanzable por el sensor
probe_count: 5, 5       # Puntos de sondeo en X e Y
mesh_pps: 2, 2
algorithm: bicubic
fade_start: 1
fade_end: 10
```

Para calcular correctamente `mesh_min` y `mesh_max` teniendo en cuenta el offset XY del sensor, consulta la [guía de sensores de nivelación](/klipper/empezamos/sensor-nivelacion.md).

## Comprobaciones previas — antes del primer home

Antes de lanzar ningún `G28`, verifica que el sensor funciona correctamente:

**1. Despliega el pin:**

```gcode
Probe_Deploy
```

**2. Con el pin desplegado, lanza:**

```gcode
QUERY_PROBE
```

Debe devolver `probe: open`.

**3. Recoge el pin:**

```gcode
Probe_Stow
```

**4. Activa manualmente el sensor acercando un objeto metálico al pin y lanza:**

```gcode
QUERY_PROBE
```

Debe devolver `probe: TRIGGERED`.

### Si el comportamiento es el inverso

Cambia el modificador del pin en la sección `[probe]`:

* Si tienes `^!PIN`, cámbialo a `^PIN`
* Si tienes `^PIN`, cámbialo a `^!PIN`

### Si el pin no se despliega o recoge

* Verifica el cableado físico
* Comprueba que el pin configurado en `[output_pin probe_enable]` corresponde al puerto donde está conectado el sensor
* Revisa en el log de Klipper que la sección se está cargando correctamente

### Si el estado no cambia al activar el sensor

* Verifica el cableado de la señal
* Prueba a cambiar entre pull-up y pull-down en la definición del pin
* En la V2, asegúrate de que el pin tiene suficiente pull-up — considera usar otro pin o añadir resistencia pull-up externa

## Calibración del Z-Offset

Una vez que las comprobaciones son correctas, calibra el z-offset:

```gcode
G28
PROBE_CALIBRATE
```

Sigue el asistente para ajustar la altura del nozzle con el papel. Al terminar, acepta y guarda:

```gcode
SAVE_CONFIG
```

Más información en la [guía de sensores de nivelación → ajuste del z-offset](/klipper/empezamos/sensor-nivelacion.md#ajuste-del-z-offset-usando-papel-o-galga).
