How to connect Adafruit Feather 32u4 LoRa to TTN?

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.

@arlx07 It looks like you are wasting our time!

You were already advised to read the instructions in the Big LoRa32u4 boards topic.

Instead of following the instructions in that topic you tried to run other, unsuitable software for your board (for RNxxxx module which your module does not have).
Then you come back and ask for help because you don’t get that working, confusing other users with errors about RN module. And now you are asking if we recommend the ‘MCCI library’…

YES! and this was/is already documented at the start of the Big LoRa32u4 boards topic.

With the current TTS CE V3 (aka TTN V3) network you do not have (many) other options than using the MCCI LMIC library with your board.

1 Like

Where can I find APPEUI, DEVEUI, APPKEY for the adafruit feather 32u4 868MHz boards?

When you register the node on the Console, under you application, it can create you one.

I know this is an old thread, but I recently got two Adafruit Feather 32u4 US915 boards. Also this is my first experience with LoRa and TTN. And also C++.

I’ve been able to make them talk to each other with some TX/RX sketches, but I am having a heckuva time trying to get it to work with the mcci-catena/arduino-lmic library.

Also I’m a bit of a noob and I’m not sure I’m using the sketch properly.

At least, I am confident that I’m not getting anything out of the radio when i run that ttn-otaa-feather-us915.ino file.

I’ve put in my keys for eveui, appeui, and appkey, but I dont think that would have to do with nothing coming out of the radio.

I do have a connection going from pin 6 and DIO1.

At the top of ttn_otaa_feather_us915.ino, i have added

#define ARDUINO_AVR_FEATHER32U4 1

I’m not 100% sure what the right way to do this is. Its been a long time since I’ve done much with C++.

On the serial monitor in the arduino ide, I get:

Starting
Packet queued
315705: EV_JOINING
316285: EV_TXSTART

My dad is a ham, and he used one of his receivers to listen to 915MHz, and he didn’t hear anything.

He DID hear something when I tried the TX/RX demo programs before.

Its just, when I try to use that lmic.h library, nothing happens.

Regardless of whether or not I can hit a TTN node (theres supposed to be one very close to me), at least i would like to confirm some traffic leaving the radio.

Is this worth putting a ton of time into or should I go with a different board with better software support?

Thanks!

-Travis