>> Back to LoRa Main topics

lamaPLC: Waveshare LoRA products

Waveshare offers a diverse range of LoRa and LoRaWAN products, primarily categorized into Gateways for network infrastructure, HATs/Expansion Boards for Raspberry Pi/Pico, Arduino, and standalone Core Modules for embedded integration.

Product CategoryExample ModelsPrimary ChipInterfaceKey Features
LoRaWAN GatewaySX1302/SX1303 868M Gateway HATSX1302 / SX1303SPI (via Mini-PCIe)8-10 channels, multi-node concurrency, high sensitivity (-141dBm)
Plug-and-play USB interfaceUSB-TO-LoRa-xFSX1262USB/UART (with AT commandsLF for 410–510MHz or HF for 850–930MHz
Node Expansion HATSX1262 LoRaWAN/GNSS HATSX1262SPIStandard 40-pin GPIO, integrated GPS (GNSS) on some models, LoRaWAN support
Point-to-Point HATSX1262/SX1268 LoRa HATSX1262 / SX1268UARTProprietary “private” protocol, does not support LoRaWAN, easy AT command config
Development BoardsRP2040-LoRaSX1262 + RP2040Internal SPIAll-in-one MCU + LoRa board, USB-C programming, compact form factor
Core ModulesCore 1262 HF/LFSX1262SPIMinimalist stamp-hole design for direct soldering onto custom PCBs
Industrial DTUSX1262-LoRa-DTU-xFSX1262RS232/485/422Rail-mount, aluminum alloy case, long-range wireless serial bridge

Important Selection Criteria

  • LoRa vs. LoRaWAN: Many Waveshare HATs are split by protocol. The UART Interface models often use a proprietary protocol and cannot connect to standard LoRaWAN gateways such as The Things Network.
  • Frequency Bands: Waveshare typically offers each product in two versions: LF (Low Frequency) for 410–510MHz (e.g., CN470) and HF (High Frequency) for 850–930MHz (e.g., EU868, US915).
  • Interface Choice: Use SPI products if you want full control via libraries (like RadioHead or LMIC); use UART or USB versions for simple plug-and-play serial data transmission.

Waveshare USB-TO-LoRa-xF02

USB-TO-LoRa-xF02 The USB-TO-LoRa-xF is an industrial-grade wireless data transfer unit from Waveshare that provides a plug-and-play USB interface for LoRa communication. It is designed to allow computers or other USB-enabled hosts to communicate over long distances using the Semtech SX1262 chip.

The “xF” in the name refers to the frequency version (e.g., LF for 410–510 MHz or HF for 850–930 MHz), and “02” typically denotes a specific hardware iteration or feature set.

USB-TO-LoRa-xF02 Lora AT commands

AT commandStatus queryType queryDescriptionNote
+++\r\nEnter AT command mode
AT+EXIT\r\nExit AT command mode
ATE\r\nEnable/disable AT command echo
AT+VER\r\nCheck the software version number
AT+HELP\r\nView AT help
AT+REBOOT\r\nReboot
After all parameter changing use AT+EXIT to save the parameters!
AT+SF=7\r\nAT+SF?AT+SF=?Set the spreading factor, the value range is 7~12

SF7: Highest data rate, shortest range, and lowest power consumption per packet.
SF12: Lowest data rate, longest range, and highest sensitivity for penetrating obstacles.

Default value: 7
AT+BW=0\r\nAT+BW?AT+BW=?Set bandwidth, 0 means 125KHz, 1 means 250KHz, 2 means 500KHz
AT+CR=1\r\nAT+CR?AT+CR=?Set the encoding rate to 1, 1 represents 4/5, 2 represents 4/6, 3 represents 4/7, 4 represents 4/8
AT+PWR=22\r\nAT+PWR?AT+PWR=?Set the RF power, the value range is 10~22dBm

Selectable Values: 10, 13, 17, or 22

Higher power levels (e.g., 22 dBm) provide the longest communication range but consume more power. At maximum power (22 dBm), the module's transient transmit current can reach approximately 100 mA to 107 mA.
Default: 22
AT+NETID=0\r\nAT+NETID?AT+NETID=?Network ID assignment, the value range is 0~65535

Only modules with the same Network ID, Frequency, and Air Speed can communicate with each other.

Default: 0
AT+LBT=0\r\nAT+LBT?AT+LBT=?Enable/disable LBT (Listen Before Talk) function, 0: disable, 1: enable

module enables or disables the Listen Before Talk (LBT) function. This feature is designed to prevent data collisions by ensuring the radio channel is clear before the module begins its own transmission.
In some regions (such as parts of Europe for the 868MHz band), LBT is a required alternative to strict “Duty Cycle” limitations to ensure fair access to the spectrum.

Default: 0
AT+MODE=1\r\nAT+MODE?AT+MODE=?DTU working mode, 1: stream mode, 2: packet mode, 3: relay mode

Stream Mode (AT+MODE=1): The factory default mode. It functions as a “virtual cable,” where data sent to the serial port is transmitted immediately in plaintext to all other modules on the same channel.

Packet Mode (AT+MODE=2): Used for targeted point-to-point or point-to-multipoint communication. In this mode, you must prefix your data with the target device's Address and Channel (e.g., FF FE 12 + data).

Relay Mode (AT+MODE=3): Configures the module to act as a repeater node to extend the transmission range. In this mode, the device only forwards packets and does not output data to its own serial interface.
AT+TXCH=18\r\nAT+TXCH?AT+TXCH=?Transmit channel, value range 0~80, corresponding frequency point is 850~930MHz or 410~490MHz

LF Version (usually labeled “LF” or marked with a 433MHz sticker)
Formula: Frequency (MHz) = 410 + Channel
Range: Channel 0: 410 MHz, Channel 23: 433 MHz (Default), Channel 80: 490 MHz
Default: 23 (corresponding to 433 MHz).
- Example: AT+TXCH=23 sets the frequency to 433 MHz (410 + 23).
- Example: AT+TXCH=80 sets the frequency to 490 MHz (410 + 80).

HF Version (usually labeled “HF” or marked with an 868/915MHz sticker)
Formula: Frequency (MHz) = 850 + Channel
Range: 850 MHz (Channel 0) to 930 MHz (Channel 80)
Default Value: 18 (corresponding to 868 MHz)
- Example: 868 MHz: AT+TXCH=18\r\n (Standard for Europe)
- Example: 915 MHz: AT+TXCH=65\r\n (Standard for North America/Australia)
- Example: 923 MHz: AT+TXCH=73\r\n (Common in Asia)
AT+RXCH=18\r\nAT+RXCH?AT+RXCH=?Receive channel, value range 0~80, corresponding frequency point is 850~930MHz or 410~490MHz

LF Version (usually labeled “LF” or marked with a 433MHz sticker)
Formula: Frequency (MHz) = 410 + Channel
Range: Channel 0: 410 MHz, Channel 23: 433 MHz (Default), Channel 80: 490 MHz
Default: 23 (corresponding to 433 MHz).
- Example: AT+TXCH=23 sets the frequency to 433 MHz (410 + 23).
- Example: AT+TXCH=80 sets the frequency to 490 MHz (410 + 80).

HF Version (usually labeled “HF” or marked with an 868/915MHz sticker)
Formula: Frequency (MHz) = 850 + Channel
Range: 850 MHz (Channel 0) to 930 MHz (Channel 80)
Default Value: 18 (corresponding to 868 MHz)
- Example: 868 MHz: AT+TXCH=18\r\n (Standard for Europe)
- Example: 915 MHz: AT+TXCH=65\r\n (Standard for North America/Australia)
- Example: 923 MHz: AT+TXCH=73\r\n (Common in Asia)
AT+RSSI=0\r\nAT+RSSI?AT+RSSI=?Enable/disable RSSI (Received Signal Strength Indicator) signal value output, 0: disable, 1: enable.

When enabled, the module appends a hexadecimal RSSI value to the end of every received data packet. Signal Quality: Typical LoRa RSSI values range from -30 dBm (very strong) to -120 dBm (very weak).

Default:0
AT+ADDR=0\r\nAT+ADDR?AT+ADDR=?Set DTU (Data Transfer Unit) address, value range 0~65535

This address acts as the device's identity within a network.
Broadcast Address: 65535 (Hex 0xFFFF). Setting a module to this address allows it to receive data from any other module on the same channel, regardless of the sender's target address.

Default:0
AT+PORT=0\r\nAT+PORT?AT+PORT=?The command is used to select the active hardware interface mode on the module.

Values:
1: RS485
2: RS232
3: USB (Typically the default for this specific dongle)

Typically, you do not need to change it unless you are using the same firmware on a different DTU hardware variant.
AT+KEY=0\r\nAT+KEY?AT+KEY=?Used to configure AES encryption for wireless data transmission, value range:

0: Disables encryption (factory default)
1 to 65535: Sets the specific key value for AES encryption
AT+BAUD=115200\r\nAT+BAUD?AT+BAUD=?Set COMx port baud rate, value range 1200~115200, 1200, 2400, ….., 57600,

Common Values: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200.

Default: 115200
AT+COMM=“8N1”\r\nAT+COMM?AT+COMM=?Set COM port parameters, data bits: 8 or 9, parity: N, O, E, stop bits: 0, 1, 2,

Default: 8N1
AT+AllP=xx\r\nAT+ALLP?Set the spreading factor to key multi-parameter

[spreading factor 7..12],[bandwidth 125/250/500],[encoding rate 1..4],[RF power 10/13/17/22],[Network ID 0..65535],[LBT function 0/1],[DTU Mode 1/2/3],[Transmit channel 0..80],[Receive channel 0..80],[RSSI signal 0/1],[DTU address 0..65535],[Application Port 1..223],[Baud rate 1200..115200],[COM port “8N1”],[AES Key 0..65535]

Example: AT+AllP=7,125,1,22,0,0,1,18,18,0,0,3,115200, “8N1”,0
AT+RESTORE=0\r\nAT+RESTORE? resets all configuration parameters to their factory default settings.

0: disabled, 1: enabled
2026/04/23 21:51

Waveshare Core 1262 HF/LF

Waveshare Core 1262 HF/LF The Waveshare Core1262 is a small LoRa module built around the latest Semtech SX1262 chip. It provides greater power efficiency and extended transmission range compared to the previous SX127x series.

The module is available in two versions based on the operating frequency:

  • Core1262-HF (High Frequency): Operates between 850 ~ 930MHz. It is primarily used in Europe, North America, and Oceania.
  • Core1262-LF (Low Frequency): Operates between 410 ~ 510MHz. It is typically used in Asia and Europe.

Technical Specifications

Both versions share common core specifications:

  • RF Chip: Semtech SX1262.
  • Modulation: LoRa and (G)FSK.
  • Transmit Power: Up to +22dBm at 3.3V.
  • Data Rate: LoRa (0.018~62.5Kbps), (G)FSK (0.6~300Kbps).
  • Communication Interface: SPI (18MHz maximum speed).
  • Operating Voltage: 3.3V.
  • Key Components: Features an industrial-grade TCXO (Temperature Compensated Crystal Oscillator) for stable operation in harsh conditions (0~85°C).
  • Documentation: Detailed guides and example codes are available on the Waveshare Wiki.

Waveshare Core 1262 HF/LF Pinout

Waveshare Core 1262 HF/LF Pinout

Pin NameTypeDescription
VCCPower3.3V power supply
GNDGroundGround connection
CSInputSPI Chip Select (Active Low)
SCK / CLKInputSPI Serial Clock (up to 18MHz)
MOSIInputSPI Master Out Slave In (Data to module)
MISOOutputSPI Master In Slave Out (Data from module)
RESETInputExternal Reset; pull low for 100µs to restore defaults
BUSYOutputStatus pin; High means busy, Low means idle (ready for commands)
DIO1OutputConfigurable IRQ/Interrupt output (often used for RX/TX completion)
RXENInputRF Switch Control; High for Receive mode
TXENInputRF Switch Control; High for Transmit mode
ANTRFAntenna connection pin (can be used if not using the IPEX connector)

Waveshare Core 1262 HF/LF Wiring

Because the Core1262 operates at 3.3V, you must use a 3.3V Arduino (like the MKR series) or use level shifters if using a 5V Uno to avoid damaging the module.

Ra-01 PinLogic level converterArduino Pin (Uno/Nano)Wire ColorNotes
VCCVa - Vb5V redPower
GNDGNDGND blackCommon ground
CLKA1 - B1D13 lightgreenSPI Clock
MISOA2 - B2D12 yellowSPI Master In Slave Out
MOSIA3 - B3D11 lightblueSPI Master Out Slave In
CS/NSSA4 - B4D10 purpleChip Select (CS)
RESETA5 - B5D9 darkblueReset Pin
BUSYA6 - B6D8 greenBusy Pin
DIO1A7 - B7D2 orangeInterrupt Pin (Required for RX)

Waveshare Core 1262 HF/LF Wiring

Arduino Example Code (using RadioLib)

Install RadioLib via the Arduino Library Manager before uploading this code.

#include <RadioLib.h>
 
// Pin definitions for Waveshare Core1262
// CS, DIO1, RESET, BUSY
SX1262 radio = new Module(10, 2, 9, 8);
 
void setup() {
  Serial.begin(9600);
 
  // Initialize SX1262
  // Frequency: 868.0 MHz (HF) or 433.0 MHz (LF)
  Serial.print(F("[SX1262] Initializing ... "));
  int state = radio.begin(868.0); // Change to 433.0 for LF version
 
  if (state == RADIOLIB_ERR_NONE) {
    Serial.println(F("success!"));
  } else {
    Serial.print(F("failed, code "));
    Serial.println(state);
    while (true);
  }
}
 
void loop() {
  Serial.print(F("[SX1262] Transmitting packet ... "));
 
  // Send a message
  int state = radio.transmit("Hello Waveshare!");
 
  if (state == RADIOLIB_ERR_NONE) {
    Serial.println(F("success!"));
    // Print measured data rate
    Serial.print(F("[SX1262] Datarate:\t"));
    Serial.print(radio.getDataRate());
    Serial.println(F(" bps"));
  } else {
    Serial.print(F("failed, code "));
    Serial.println(state);
  }
 
  // Wait 2 seconds before next transmission
  delay(2000);
}

Key Implementation Details

HF vs. LF: Ensure you set the radio.begin() frequency to match your hardware (e.g., 868.0 for HF in Europe, 915.0 for HF in the USA, or 433.0 for LF).

  • Busy Pin: Unlike older SX127x modules, the SX1262 requires monitoring the BUSY pin; the library handles this automatically if the pin is correctly assigned in the constructor.
  • TCXO Support: Waveshare modules often use a TCXO. If the module fails to initialize, you may need to enable TCXO voltage in your setup using radio.setTCXO(1.6);

Waveshare RP2040-LoRa

Waveshare RP2040-LoRa The Waveshare RP2040-LoRa is a compact development board that combines Raspberry Pi's RP2040 microcontroller with the next-generation SX1262 RF chip for long-range wireless communication. It is designed for low-power IoT applications such as smart homes, industrial monitoring, and data acquisition.

Key Specifications

  • Microcontroller: Dual-core Arm Cortex M0+ running up to 133 MHz.
  • Memory: 264KB SRAM and 2MB onboard Flash memory.
  • RF Chip: SX1262, which offers better power efficiency and range than the older SX127X series.
  • Sensitivity: High reception sensitivity of -148dBm.
  • Programmable Power: Up to 22 dBm output power.
  • Modulation: Supports LoRa, FSK, and GFSK.
  • GPIO: Up to 20 multi-function GPIO pins.

Frequency Versions

The board is available in two versions tailored for different regional regulations:

  • RP2040-LoRa-LF: Low-frequency version (410 ~ 525 MHz), typically used in Europe and Asia.
  • RP2040-LoRa-HF: High-frequency version (850 ~ 930 MHz), used in Europe, North America, and Oceania.

Development Resources

  • Programming: Supports drag-and-drop programming over USB and can be developed using C/C++ (SDK provided) or Arduino (via libraries like RadioLib).
  • Cloud Integration: Compatible with LoRa gateways for connecting to cloud servers like The Things Network (TTN) and ChirpStack.
  • Documentation: Detailed guides and example codes are available on the Waveshare Wiki.

Waveshare RP2040-LoRa Pinout

Waveshare RP2040-LoRa Pinout

Waveshare SX1262/SX1268 LoRa HAT

Waveshare SX1262/SX1268 LoRa HAT The Waveshare SX1262/SX1268 LoRa HAT is a Raspberry Pi expansion board designed for long-range wireless data transmission. It functions as a wireless serial port module, allowing devices like a Raspberry Pi, Arduino, or STM32 to communicate over several kilometers using LoRa modulation.

Key Specifications

  • Communication Range: Up to 5 km under ideal conditions.
  • Chipsets & Frequencies:
    • SX1262: Typically used for 868MHz (Europe) and 915MHz (Americas/Asia).
    • SX1268: Typically used for 433MHz and 470MHz (China/Asia).
  • Protocol: Uses a private protocol for point-to-point or point-to-multipoint communication; it does not natively support LoRaWAN.
  • Interface: Connects via the standard Raspberry Pi 40-pin GPIO or via an onboard CP2102 USB-to-UART converter for serial debugging.

Core Features

  • Operating Modes: Controlled via jumpers (M0 and M1), supporting Transmission, Configuration, Wake-on-Radio (WOR), and Deep Sleep modes.
  • Advanced Networking: Supports auto multi-level repeating (relay) to extend transmission distance and fixed-point/broadcast transmission.
  • Security & Reliability: Features a customizable communication key for encrypted transmission and Listen Before Talk (LBT) to monitor channel noise before sending.
  • Indicators: Includes 4 LED indicators for monitoring power (PWR), RX/TX status, and auxiliary (AUX) activity.

Lora topics on lamaPLC