LoPy4 LoRa Data Corruption

  • I'm trying to get raw lora data transmission going on the LoPy4's. I've been running the original LoPy's for a year with no issues but the LoPy4's seem to get scrambled data. I created a small test program to verify. Any ideas what could cause this? I'm running the same code on 2 units.

    import socket
    import machine
    import time
    # initialize LoRa in LORA mode
    # more params can also be given, like frequency, tx power and spreading factor
    lora = LoRa(mode=LoRa.LORA)
    lora.init(mode=LoRa.LORA, frequency=918000000, power_mode=LoRa.ALWAYS_ON, tx_power=20, bandwidth=LoRa.BW_125KHZ, sf=9,
                  preamble=8, coding_rate=LoRa.CODING_4_8, tx_iq=False, rx_iq=False)
    # create a raw LoRa socket
    s = socket.socket(socket.AF_LORA, socket.SOCK_RAW)
    # send some data
    s.send('Hello From COM7')
    while True:
        # get any data received...
        data = s.recv(64)
        if data:
          s.send('Hello From COM7')
        # wait a random amount of time
      #  time.sleep(1)

    Here's the console output.

    b'Hello From \xc7OM7'
    b'Hello Erom \xc7OM7'
    b'Hello From \xc5OM7'
    b'Hello From \xc5OM7'
    b'Hello From\x10\xc6OM7'
    b'Hello From COM7'

  • @ssmith


    You can find all the specs for the LoRa transceiver we're using on these modules here:

    LoPy: https://www.semtech.com/uploads/documents/sx1272.pdf

    LoPy4: https://www.semtech.com/uploads/documents/sx1276.pdf

  • This appears to be a receiver saturation issue. At what point does the LoRa receiver saturate? my rssi is at -25 on both devices. If I change the sf to 7 then I don't get errors.

  • Yes, both running 1.15. I also see it on ones running 1.13. If I run a lopy4 and a lopy I don't get any data through.

  • Hi,

    Are both LoPy4's running on the latest firmware? We released a new update yesterday. Can you try updating both and let me know if the issue persists?

Log in to reply

Pycom on Twitter

Looks like your connection to Pycom Forum was lost, please wait while we try to reconnect.