INFORMACIÓN
El RFM69HCW 915 MHz es un módulo transceptor RF de alta potencia que permite transmitir y recibir datos en la banda ISM de 915 MHz, utilizando técnicas de modulación FSK/GFSK/OOK para lograr comunicaciones inalámbricas de corto a mediano alcance con bajo consumo de energía. A diferencia de los módulos LoRa (como el RFM95), el RFM69HCW no usa modulación LoRa, sino un esquema más tradicional, lo que lo hace ideal para enlaces rápidos y estables en redes punto a punto o en malla. Su funcionamiento se basa en la comunicación con un microcontrolador mediante SPI, desde donde se configuran parámetros como frecuencia, tasa de datos, potencia de transmisión y encriptación AES integrada, que asegura la comunicación entre nodos.
El RFM69HCW 915 MHz se emplea en proyectos donde se requiere comunicación inalámbrica confiable de corto a mediano alcance con bajo consumo energético, como en redes de sensores inalámbricos, sistemas de domótica, monitoreo ambiental y agrícola, lectura remota de medidores, comunicaciones punto a punto o en malla, y aplicaciones de IoT que no necesitan la gran cobertura de LoRa pero sí estabilidad y seguridad. Sus usos incluyen automatización del hogar, control remoto de dispositivos, sistemas de alarma, y monitoreo industrial. Es compatible con diversas tarjetas de desarrollo y microcontroladores, entre ellas Arduino (Uno, Mega, Pro Mini), ESP32, ESP8266, STM32, y también puede integrarse con Raspberry Pi mediante la interfaz SPI, lo que lo hace versátil y adecuado tanto para prototipos educativos como para implementaciones profesionales.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Potencia de Transmisión: -18 dBm (0.016 mW) a + 20 dBm (100 mW) en pasos de 1 dBm.
- Rango de aprox.: 500 metros, dependiendo de obstrucciones, frecuencia, antena y potencia de salida.
- Sensibilidad de Recepción: Hasta -120 dBm a 1.2 kbps.
- Tasas de bits (FSK): 1,2 kbps a 300 kbps.
- Rango de Voltaje: 1.8 a 3.6 VDC.
- Consumo de Corriente:
- 0.1 uA de reposo.
- 1.25 mA de espera.
- 16 mA de recepción.
- 130 mA de transmisión (máximo).
- Cifrado: AES de 128 bits (opcional).
- Búfer de Paquetes (FIFO): 66 bytes.
- Temperatura de Funcionamiento: – 40 ° C ~ 85 ° C.
- Frecuencia: 433 MHz ~ 915 MHz.
- Cree redes multipunto con direcciones de nodo individuales.
- Dimensiones: 16 mm x 16 mm x 3 mm.
- Peso: 1 g.
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
¿Cómo puede probar el RFM69HCW 915MHz Transceptor Lora?
Materiales Necesarios:
- 2× RFM69HCW 915 MHz (con antenas adecuadas para 915 MHz: una antena dipolo o de cuarto de onda, ~8.2 cm de longitud para 1/4 onda).
- 2× microcontroladores compatibles (por ejemplo, Arduino Uno / Nano / Pro Mini 3.3V / ESP32, etc.).
- Importante: El RFM69HCW opera a 3.3V. Si usas Arduino de 5V necesitas conversores de nivel lógico para las líneas SPI y NSS/DIO, o usar una versión de 3.3V (Pro Mini 3.3V) y alimentar con 3.3V directa.
- Fuente de alimentación estable de 3.3V capaz de entregar al menos 200 mA por módulo (el transmitidor en potencia alta puede consumir picos).
- Cables dupont para conexiones.
- PC con IDE de Arduino (o plataforma elegida) y cable USB.
- (Opcional, para diagnóstico avanzado):
- Analizador lógico (para ver SPI / DIO0).
- Osciloscopio o SDR / analizador de espectro (para ver la señal RF).
- Medidor de potencia RF o atenuador + receptor para verificar salida.
- IDE de Arduino instalado.
- Biblioteca LowPowerLab RFM69 (muy usada): https://www.github.com/LowPowerLab/RFM69 (descárgala e instálala en el IDE de Arduino).
- Terminal serial (el monitor serial del IDE basta).
Conexiones de Hardware.
Asumiendo que usas un Arduino Pro Mini / Nano a 3.3V o haces conversión de nivel, conexiones típicas (SPI + control):
| RFM69HCW Pin | Función | Arduino (ejemplo) |
|---|---|---|
| VCC | 3.3V power | 3.3V |
| GND | Tierra | GND |
| SCK | SPI Clock | D13 (SCK) |
| MOSI | SPI MOSI | D11 (MOSI) |
| MISO | SPI MISO | D12 (MISO) |
| NSS (CS) | Chip Select | D10 (puede cambiar) |
| DIO0 | IRQ / Packet | D2 (interruptible) |
| RESET | (opcional) | pin digital (o dejar) |
Nota: Algunos módulos exponen pines con nombres diferentes; verifica el silkscreen. Si usas un Arduino de 5V, usa un conversor de nivel para SCK/MOSI/NSS/DIO0; MISO puede ir directo (salida del módulo).
Conecta dos nodos idénticamente (cada uno con su propio Arduino y módulo), ajustando direcciones en software.
Instalación de la Biblioteca y Ejemplo Básico.
- En el IDE de Arduino: Sketch > Include Library > Add .ZIP Library y selecciona la carpeta de la biblioteca RFM69 descargada.
- Abre el ejemplo de “Receive” y “Send” que trae la librería:
examples/RFM69/RawSendexamples/RFM69/RawReceive
- Modifica los parámetros del sketch para que coincidan:
- Frecuencia a 915 MHz (
RF69_915MHZ). - ID de red y nodos (por ejemplo, nodo 1 envía a nodo 2).
- Llave de encriptación opcional (por ahora, déjala deshabilitada para simplificar).
- Frecuencia a 915 MHz (
Ejemplo mínimo transmisor (Arduino):
#include <RFM69.h>
#include <SPI.h>
#define NODE_ID 1
#define TARGET_ID 2
#define NETWORKID 100
#define FREQUENCY RF69_915MHZ
#define IS_RFM69HW true // true si es HCW (high power)
#define ENCRYPT_KEY "" // dejar en blanco al principio
RFM69 radio;
void setup() {
Serial.begin(115200);
radio.initialize(FREQUENCY, NODE_ID, NETWORKID);
radio.setHighPower(); // si es RFM69HCW
radio.encrypt(NULL); // sin encriptación
Serial.println("Transmisor listo");
}
void loop() {
static int counter = 0;
char msg[20];
sprintf(msg, "Hola %d", counter++);
radio.send(TARGET_ID, msg, strlen(msg));
radio.receiveDone(); // limpiar
Serial.print("Enviado: "); Serial.println(msg);
delay(1000);
}
Ejemplo receptor:
#include <RFM69.h>
#include <SPI.h>
#define NODE_ID 2
#define TARGET_ID 1
#define NETWORKID 100
#define FREQUENCY RF69_915MHZ
#define IS_RFM69HW true
#define ENCRYPT_KEY ""
RFM69 radio;
void setup() {
Serial.begin(115200);
radio.initialize(FREQUENCY, NODE_ID, NETWORKID);
radio.setHighPower(); // si es HCW
radio.encrypt(NULL);
Serial.println("Receptor listo");
}
void loop() {
if (radio.receiveDone()) {
Serial.print("Recibido de nodo "); Serial.print(radio.SENDERID);
Serial.print(": ");
Serial.println((char*)radio.DATA);
Serial.print("RSSI: "); Serial.println(radio.RSSI);
}
}
Asegúrate de ajustar NODE_ID y TARGET_ID de forma cruzada entre los dos para que uno envíe al otro.
Prueba Básica de Comunicación.
- Carga el sketch de transmisor en el Arduino del nodo 1.
- Carga el sketch de receptor en el nodo 2.
- Abre dos monitores seriales: uno para cada nodo (puede ser en dos ventanas o alternando).
- Verifica que el transmisor imprima “Enviado: Hola X” y el receptor muestre los mensajes recibidos con el RSSI.
Qué validar:
- Llega el mensaje completo sin corrupción.
- RSSI (indicativo de nivel de señal recibida).
- Sin errores de CRC (la librería los gestiona; si no aparece mensaje, puede ser debido a que no llegó o fue descartado).
Pruebas de Enlace y Calidad.
- a. Medición de RSSI en recepción
- Observa el valor de
radio.RSSIen el receptor. Es un valor en dBm aproximado del nivel de señal. - Repite con variaciones de distancia y obstáculos para ver cómo cae el RSSI.
- Observa el valor de
- b. Prueba de pérdida de paquetes
- Modifica el transmisor para enviar un contador grande (por ejemplo, cada 200 ms) y en el receptor compara el número esperado con el recibido para calcular porcentaje de pérdida sobre 1 minuto.
- c. Prueba de alcance
- Empieza con ambos nodos cerca (1 m), luego aléjalos progresivamente (5 m, 10 m, etc.) hasta que la tasa de recepción caiga bajo umbral aceptable o se pierda enlace.
- Registra distancia vs. porcentaje de paquetes exitosos y RSSI.
- d. Prueba de potencia de transmisión
- Cambia la configuración de potencia si la biblioteca lo permite (
radio.setPower(level)en algunos forks) y observa el efecto en RSSI y alcance.
- Cambia la configuración de potencia si la biblioteca lo permite (


























Valoraciones
No hay valoraciones aún.