How to connect Adafruit Feather 32u4 LoRa to TTN?

I have a The Things Indoor Gateway. I set up 3 nodes with 2 Arduino Unos and one Arduino Mega. One node is still in V2 connecting with ABP. I hope to migrate it to V3 this Friday. The others use OTAA. All have the Dragino LORA shield. The sketches in the Arduino library work well. I used the OTAA sketch in “Examples”, “The Things Network”, “SendOTAA”.

The sketches in which library though?

If it’s more than (at a guess) about a year old, it’s probably not right for V3.

Really you want a fully current install.

I can’t find Adafruit Feather 32u4 RFM95 LoRa Radio - 868 MHz in the device grid. How can I record it manually?

It’s really the software which matters, not the hardware. Hardware is only relevant when it strongly implies what the software is, for example on a commercial end node device running the manufacturer’s firmwawre, rather than an experimentor/developer platform like you have.

See if there’s an entry for LMiC, which is hopefully the software you are using.

This is documented in the following topic: Big LoRa32u4 boards topic

Please be clear what you mean and use the correct terms and names. Otherwise things will turn into a guessing game.

It’s not exactly clear what you mean above so I will switch over to assumption mode:

Presumably you want to register your device in the Console.
With ‘device grid’ you presumably mean the LoRaWAN Device Repository.
With ‘record it’ you probably mean register it.

You can manually register a device in the console using the Manually ‘tab’ which is next to the From The LoRaWAN Device Repository ‘tab’.
For more information see the documentation (in console see Documentation link bottom-right).

The LoRaWAN library to use, as @cslorabox already mentioned is to use a recent version of MCCI LMIC. For more information see: Overview of LoRaWAN Libraries [HowTo]
You can use the ttn-otaa.ino example that is included with the library as starter sketch.

The following may also be useful: LMIC-node
While LMIC-node does not directly support your Adafruit Feather 32u4 board, it does contain good coding examples for how to use the LMIC library.

It’s exactly as you said in the first part of the presentation.

Because bluejedi is correct, I will comment, the adafruit 32u4 feather does not have enough RAM to run the LMIC software. As stated in the instructions at learn.adafruit.com. The adafruit feather m0 with LoRa does have enough RAM, there is a tutorial at learn.adafruit.com for that feather, using the LMIC software.

Well, it’s a headache to set up; but regression tests are run for the 32u4 as part of CI testing for the LMIC. So maybe we’re talking about different things. You must disable “Class B” support (Ping and Beacon) – which is not really a problem because Class B still doesn’t work in the LMIC.

Although Adafruit Feather 32u4 and other ATmega32xx based boards are (due to limited memory) much less suited for new LMIC based LoRaWAN applications, the statement “adafruit 32u4 feather does not have enough RAM to run the LMIC software” is not correct however.

The MCCI LMIC library will run just fine on ATmega32xx based boards like Arduino Pro Mini, Adafruit Feather 32u4 and BSFrance 32u4 II. The only problem is that there will not be much room left for larger, more advanced sketches due to the (nowadays) limited memory resources on these 8-bit controllers.

Over time LoRaWAN versions have changed, new features have to be supported and the memory footprint of MCCI LMIC has grown accordingly. For this reason the LMIC-node example application cannot use MCCI LMIC with these boards. The ttn-otaa.ino example included with the library will run fine however.

As @terrillmoore already mentioned: to use MCCI LMIC with these 8-bit controllers it is best to disable Ping and Beacons to minimize the memory footprint. It is also necessary to relax LMIC timing by setting LMIC ClockError, otherwise downlinks and OTAA joins will commonly fail with these boards.
For setting LMIC ClockError see here and here for an example.

LMIC-node does not (directly) support the Adafruit Feather 32u4 (because support for this board was not yet added). LMIC-node does support some other ATmega32xx based boards however.
Due to the ATmega32xx’s memory limitations, LMIC-node cannot run in combination with MCCI LMIC (preferred) on these 8-bit boards. Instead it will use the Classic LMIC library for these boards which is smaller. Classic LMIC is deprecated however and (much) less LoRaWAN compliant which is/can be an issue for TTN/TTS V3.

I see, too many similar names… Thanks for the clarification, @bluejedi!

1 Like

I have this problem for Adafruit Feather 32u4 at 868 frequency when I try to connect to TTN.ttn

“No response from RN module” would suggest you’re running a sketch intended for a board with a Roving Networks module on it, rather than the bare radio found on the Adafruit board and being discussed in this thread. For the Adafruit board you need to use a recent version of LMiC such as MCCI’s.

Or a Microchip RN29xx(915Mhz)/28xx(868Mhz) LoRaWAN module?

Because Microchip bought Roving Networks - but kept the numbering scheme

IIRC it was only ever launched as a ‘Microchip’ module, not under the Roving Networks brand so trying to avoid confusing OP… original core team behind the development of original LoRaMAC & LMIC, and then the pre-cursor push into what we eventually launched as the LoRa Alliance was always listed as Semtech, IBM, added Microchip and later others…etc. No ref to Roving Networks so if OP started googling for that it could waste a lot of time/effort :wink: Otherwise we might as well start saying a module using Cycleo Silicon/IP! :slight_smile:

Do you recommend the MCCI library?

Not really relevant to your hardware - you have a LoRaWAN module that does all the work that LMIC would do.

1 Like

Other way around. They’re trying to use software for the RN module, but their Adafruit board has a bare radio

Doh! :roll_eyes:

In that case, @arlx07, you should use MCC LMIC to be found on GitHub and as that’s flying without the safety net of LMIC-node, you need to go through the instructions line by line.

Or replace the device with an Adafruit Feather M0 RFM95 which is directly supported by both LMIC & LMIC-node.