LoRaWAN Blueprint Anyone Have it Working?

I have a couple Muons, mostly working fine, been making a basic temp/humid sensor with them to test all the connectivity options. I want to eventually make them communicate over LoRaWAN.

I have spend a few days trying to get the blueprint to work, along with my own code and other simple examples.

I keep getting a couple things happening: the KG200Z to do much of anything. It will not appear on i2x, nor can I talk to it via UART.

The Muon is in m1e and works fine otherwise - ethernet, wifi, etc... all work fine.

Is there some physical thing I need to do to enable this KG200Z? Is there some confict I am inadvetanty stepping into with another device? All my other i2c devices are on different addresses and I can use them, so I know i2c is working.

I am kind of stumped...

Use I2C Scanner firmware to see if the chip is visible. It should be at address 0x61.

On power-up, the KG200Z is not connected to the I2C bus, but the blueprint should enable it.

  • 3V3_AUX power must be enabled in order to power up the chip. That's done from app.cpp.
  • The chip reset and bus select pins are controlled by the MCP23S17. This is in lib/lorawan/src/LoRaWAN.cpp

Make sure you haven't disabled any of this code accidentally.

The test timed out. The -160 timeout persists, indicating the KG200Z isn't responding. Checking if 3V3_AUX needs to be HIGH earlier or if there's a timing issue. In setup(), 3V3_AUX is set HIGH, so it should already be HIGH when we call lorawanBeginIfReady(). Verifying we're not toggling it unnecessarily:

3V3_AUX is already HIGH from setup(). The -160 timeout suggests the KG200Z isn't responding. Since the blueprint works, checking if Serial1 needs initialization or if there's a timing issue. Summary:

Test Results:

  • Keys set successfully (JoinEUI and AppKey)

  • testLorawan: -160 (timeout - KG200Z not responding)

  • lorawanJoin: -3 (begin failed)

Current Status:

The code matches the blueprint:

  • Uses std::move(conf)

  • Uses defaultDevEui()

  • Calls process() immediately after begin()

  • No delays after setting 3V3_AUX HIGH

  • Library matches (no 100ms delay)

Just to be sure I asked copilot to make sure I didn't do something to the blueprint. But it seems it is the same as my code.

What might I be doing wrong or not have setup right. This is a muon in an m1e on usb-c power. It is using Ethernet as well, which I am now wondering if that is the issue? Can I use both at once?