Si trabajaste con I2C, sabés que es uno de esos buses que vuelve agradable convivir con microcontroladores modernos. Con un puñado de cables y no demasiado código se conversa con todo tipo de hardware: sensores, displays y dispositivos de entrada. Existen incluso teclados I2C, aunque tienden a ser lentos, y no precisamente en el buen sentido en lo que respecta a teclados.
El proyecto bt2i2c de Roberto Alsina promete mejorar las cosas. Con su firmware flasheado en un Raspberry Pi Pico W, podés establecer conexión con cualquier teclado Bluetooth estándar y enviar las pulsaciones por I2C. Desde la perspectiva del proyecto receptor, la entrada parece venir de un teclado BlackBerry BBQ20/BBQ10 usando la dirección 0x1F, lo que significa que ya existe código abundante para trabajar con él. Aunque no es estrictamente necesario, conectar un display ST7789 al Pi Pico vía SPI da feedback visual sobre el estado de la conexión.
¿Qué hardware se necesita exactamente?
La receta mínima es austera: un Pi Pico W (precio típico USD 6 a 8 en distribuidores chilenos) más cualquier teclado Bluetooth comercial. El Pico W es el modelo con WiFi y Bluetooth integrado, basado en el SoC RP2040 con dos núcleos Cortex-M0+ a 133 MHz. Opcionalmente, un display ST7789 de 240x240 px conectado por SPI muestra estado de pairing y batería del teclado emparejado.
La emulación de la dirección 0x1F apunta deliberadamente al BlackBerry BBQ20, un teclado QWERTY físico de 35 teclas diseñado por Solder Party que se volvió referencia en la comunidad maker. Como ya hay drivers maduros para ese chip en proyectos como Beepy, M5Stack CardKB y forks del Meshtastic, cualquier sketch que ya consuma un BBQ20 funciona sin tocar una línea de código.
¿Para qué proyectos sirve?
A medida que los microcontroladores se vuelven más potentes y capaces de hacer cosas que antes hacíamos en una computadora "real", un proyecto como este abre potencial interesante. Vimos varios "writerdecks" corriendo sobre chips como el ESP32, y no es difícil ver el atractivo de poder emparejar tu teclado Bluetooth favorito a uno de ellos.
¿Cómo se compara con alternativas?
| Solución | Precio aprox | Latencia | Soporte SW |
|---|---|---|---|
| BBQ20 físico (Solder Party) | USD 30 a 40 | Baja | Maduro |
| Teclado I2C dedicado (M5Stack CardKB) | USD 10 a 15 | Media | Maduro |
| bt2i2c (Pi Pico W + BT keyboard) | USD 6 a 8 + teclado | Variable según BT | Reutiliza driver BBQ20 |
| HID USB sobre adapter ESP32 | USD 5 a 10 | Baja | Fragmentado |
El trade-off claro de bt2i2c es la latencia del enlace Bluetooth, que puede oscilar entre 7 y 25 ms según el teclado y la interferencia 2.4 GHz, contra menos de 2 ms del I2C nativo o un USB HID directo. Para escritura de texto a velocidad humana esa diferencia es imperceptible; para gaming o input en tiempo real no es el camino.
¿Dónde está el firmware y cómo se prueba?
El proyecto vive en el blog de Alsina con instrucciones de flash y emparejamiento. El bus I2C se cablea en los pines GP0 (SDA) y GP1 (SCL) por defecto, configurable en el firmware. Para chilenos y latinoamericanos importa otro dato: como el firmware emula un dispositivo BBQ20 estándar, cualquier proyecto que ya consume ese chip funciona sin tocar la lógica del host. Esto es relevante porque distribuidores locales ya venden tanto Pi Pico W como teclados Bluetooth genéricos por menos de CLP 15.000 combinados.




