Lopy4 433MHz

  • Hi,

    How can I change my Lopy4 to work on 433Mhz. When I run command:

    C:\Program Files (x86)\Pycom\Pycom Firmware Update>pycom-fwtool-cli.exe -p COM4 lpwan

    My output is:
    Running in PIC mode
    SMAC: 70B3D54997FB6121
    SID: 004D367E
    PAC: 5C044BFB32BC008E

    Then I try to change in EU433
    C:\Program Files (x86)\Pycom\Pycom Firmware Update>pycom-fwtool-cli.exe -p COM4 lpwan --region EU433

    the output is:
    Invalid LoRa region EU433 must be one of: EU868 US915 AS923 AU915

    BR Mladen

  • @robert-hh said in Lopy4 433MHz:

    @bmarkus Standard build of Pycom. You know that I made a version of the pycom firmware and tested that against LORIOT. It worked.

    I see, thanks. I was not sure your are referring to the LoRa Alliance or PyCom

  • @bmarkus Standard build of Pycom. You know that I made a version of the pycom firmware and tested that against LORIOT. It worked.

  • @robert-hh said in Lopy4 433MHz:

    @berni 433 MHz is not supported in the standard .

    Which standard?

  • @berni Hey. Ive litterally just asked the team exactly that question. Ill update when I hear back. I imagine we will but would have to confirm that

  • @robert-hh Thank you for your answer. It makes sense now. Any idea if Pycom will support that band in the future. It would be great since the LoPy4 has specific support for 433Mhz.

  • @berni 433 MHz is not supported in the standard . I made a version of the firmware once, but I removed it. I can re-build it, but it is at an old version of MicroPython, something like 1.14.x

  • I am testing my LoPy4 on the 433MHz with the NanoGateway. However, no matter how I defined the frequencies, the node still operates on 868MHz band and I am not receiving anything on the Nano Gateway configured at 433. All the messages are picked up by my 868MHz LoRaWAN gateway...

    This is my code to set the channels on the node:

    # Using EU433, but have to select region EU868 on the LOPY-4 to access EU433
    # Put any other arguments into this call that you need
    lora = LoRa(mode=LoRa.LORAWAN, region=LoRa.EU868)
    # Replace the three default channels:
    lora.add_channel(index=0, frequency=434375000, dr_min=0, dr_max=5)
    lora.add_channel(index=1, frequency=434375000, dr_min=0, dr_max=5)
    lora.add_channel(index=2, frequency=434375000, dr_min=0, dr_max=5)
    # remove all the non-default channels
    for i in range(3, 16):

    I am trying now with the FW version 1.20.0.rc4

    Any idea what is going on or how could I get my LoRaWAN operating at 433MHz?

  • @bed Thanks. I did not make my second pass through modlora.c yet and compare it with the LORaWAN specs. In my first run I had the impression, that also the existing code has some 'shortcuts'.
    B.T.W.: I tried OTAA join on Wednesday, and besides the inherent timing problem of the nanogateway it works. Since in general downlink worked, that was to be expected.

  • @robert-hh Hi Robert,

    I had a quick look at the code diffs and it makes sense to me (nothing bad stuck out). I'll pull it in the next couple of days to look at it in full context and report back any issues.

    It all looks pretty straight forward -- add in the region file, add manual add/remove of channels, and other sanity checks. Looks great so far.


  • @bed @Mladen I tested now LoraWan with Loriot, and both uplink and downlink work. I did not try OTAA join yet. The old problem with inconsistent timing of downlink messages at the nanogateway still remains. It is recommended to select the RX2 response window at the Loriot device setting. With that, OTAA join should work too. TTN has no support for EU433.

    The modified code is at this repository and branch: https://github.com/robert-hh/pycom-micropython-sigfox/tree/eu433. It still requires a second review pass. I'll do that in a few days, when the changes made are not so obvious to me any more, forcing me to reconsider them.

  • @robert-hh That's really promising -- thanks for checking that out.

  • @mladen I now have a LoPy4 and made a first test. Using region EU868 and just setting the frequency to 433 MHz creates a 433 MHz carrier at the proper antenna output of the LoPy4. I'll continue my testing.

  • @mladen Sorry, I could not test that. It's only supported with a LoPy4, which I do not own. I just have LoPy's ans FiPy's. I did not consider that before, even if it was obvious (!).

  • THX for replys, I will try next week

  • @bed OK. I will not have time for that before the weekend.

  • @robert-hh That would be useful -- try the EU433 values on a transmit and see if there is transmission on the correct antenna. I saw some of your other posts w.r.t. the receive windows being out of alignment and that setup looked awesome.

    I'm not at the point of using EU433 yet, but knowing if the current firmware could be used for those frequencies would be useful.

  • @bed I did not look into the details yet. i could give it simply a try and look, which output is used, if any.

  • Hi @robert-hh - I'm fuzzy about how the lf vs. hf antenna switch works - I hoped that it would just work :)

    From my reading of the Semtech SX1276 datasheet, it seems that there are two RF sections, one for the lf and one for the hf:


    I figured (hoped) that the pycom U.FL connectors went to the two different sections and that the Semtech chip then used the correct section depending on the frequency that was written into it's registers.

    But, again, I've only use the hf side for AU915 and AS923, so I don't know if this is true or not. It would make things easier - just hook up an antenna to the correct U.FL connector for which band you are using, and that's it. But it could be wishful thinking.

  • @bed I considered that, but did not find an answer yet on how the switch of the antenna connector happens. I have to look into the driver code, if that is done by the drive upon selecting the frequency range.
    Besides that, clearly supporting the region EU433 seems not the largest change of the code.

Log in to reply

Pycom on Twitter