Is it possible to do some LoRa sniffing?

Hi there. I just purchased a Heltec WiFi LoRa V3; please consider that I have no experience with Arduino IDE. I have successfully tested some examples, like the LoRaReceiver. Since I only own a single board, my idea was to see if I could sniff some LoRa packets in the air. I don’t mind reading the content (I know they could be encrypted) but I’m not seeing anything at all. I live in a dense urban environment, and I don’t know if what I’m expecting is something feasible or not. I was expecting to see a lot of LoRa messages, maybe I should play with the settings, like the LoRa bandwidth?
Suggestions welcomed :slight_smile:

Hi kepler- were you able to actually to compile and upload the Lora Receiver example code, or are you using the board “as delivered” with the Lora Receiver example code? Just curious. Thanks

Yes! At the moment my board is running this code:

#include "LoRaWan_APP.h"
#include "Arduino.h"


#define RF_FREQUENCY                                915000000 // Hz

#define TX_OUTPUT_POWER                             14        // dBm

#define LORA_BANDWIDTH                              0         // [0: 125 kHz,
                                                              //  1: 250 kHz,
                                                              //  2: 500 kHz,
                                                              //  3: Reserved]
#define LORA_SPREADING_FACTOR                       7         // [SF7..SF12]
#define LORA_CODINGRATE                             1         // [1: 4/5,
                                                              //  2: 4/6,
                                                              //  3: 4/7,
                                                              //  4: 4/8]
#define LORA_PREAMBLE_LENGTH                        8         // Same for Tx and Rx
#define LORA_SYMBOL_TIMEOUT                         0         // Symbols
#define LORA_FIX_LENGTH_PAYLOAD_ON                  false
#define LORA_IQ_INVERSION_ON                        false


#define RX_TIMEOUT_VALUE                            1000
#define BUFFER_SIZE                                 30 // Define the payload size here

char txpacket[BUFFER_SIZE];
char rxpacket[BUFFER_SIZE];

static RadioEvents_t RadioEvents;

int16_t txNumber;

int16_t rssi,rxSize;

bool lora_idle = true;

void setup() {
    Serial.begin(115200);
    Mcu.begin();
    
    txNumber=0;
    rssi=0;
  
    RadioEvents.RxDone = OnRxDone;
    Radio.Init( &RadioEvents );
    Radio.SetChannel( RF_FREQUENCY );
    Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,
                               LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,
                               LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON,
                               0, true, 0, 0, LORA_IQ_INVERSION_ON, true );
}



void loop()
{
  if(lora_idle)
  {
    lora_idle = false;
    Serial.println("into RX mode");
    Radio.Rx(0);
  }
  Radio.IrqProcess( );
}

void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
{
    rssi=rssi;
    rxSize=size;
    memcpy(rxpacket, payload, size );
    rxpacket[size]='\0';
    Radio.Sleep( );
    Serial.printf("\r\nreceived packet \"%s\" with rssi %d , length %d\r\n",rxpacket,rssi,rxSize);
    lora_idle = true;
}

Nice progress. I see you are not using the HelTec libraries, which don’t seem to have added support for V3.

from heltec.h:
#if defined( WIFI_LoRa_32 ) || defined( WIFI_LoRa_32_V2 ) || defined( Wireless_Stick ) || defined( Wireless_Stick_Lite ) || defined( Wireless_Bridge )

What are you using for a development environment that recognizes the Heltec V3 boards with the ESP32-S3 chips?

It appears as if you are using the Heltec CubeCell libraries and examples instead of any Heltec WiFi LoRa V3 librairies and examples…

How do you know that? Anyway, it seems that on GitHub the code is not updated since some years ago. I’m starting thinking that getting this board (V3) has not been a good idea :frowning:

A serach on the “LoRaWan_APP.h” library reference in the code links back to HelTec CubeCell.

I am thinking the V3 product could be quite decent once board & library support catches up in the Arduino IDE and / or Platform IO. It built on the ESP32-S3 chip.

I hope HelTec monitors these forums and will provide the V3 support soon. As you mention, the GitHub postings are rather stale.