Ardunio Uno connected only sending data once


I have been looking around and while there are similar posts to be found I haven’t seen anything that helps.

I have an Arduino Uno connected to an RFM95. This is then talking to TTN via a Laird RG186. This is my first time doing this and I have been following a tutorial I found on at Mobilefish here: tutorial

It works…once as far as I can tell. I found something that said try the newer library for a different issue. I had a go with it but the newer library takes up too much RAM.

Is it possible to get some help as to why my node is sending ‘Hello World’ once please?

This is the modified config.h:
config-h.txt (3.5 KB)

This is the modified ttn-abp-example:
ttn-abp.txt (8.9 KB)

This is an example from the serial output:
Serial-output.txt (860 Bytes)

This is a snip of the ttn console showing it received some data (‘hello world’ twice’??):

Any help is greatly appreciated. Thanks.

Two things;

The RFM98 is a 3.3V logic device, do not connect directly to a 5V logic device such as an Arduino UNO, you can fry the LoRa device.

Most Arduino UNOs only have a very limited current capability on the 3.3V supply, not really suitable for a LoRa transmitter.

Oh! Thats not so good then lol. I had seen a few tutorials using Unos so I didn’t even think it wasn’t a suitable choice.

Could you tell me what would be a good choice by any chance? Is it a case of move up the range to say a Mega? Down the range to something that has better current capability? Or is it more move away from Arduino and pick something else?

If your just experimenting for now, then an Arduino Pro Minis in the 3.3v 8Mhz version is really just the same as a UNO but without all the extra stuff. Same memory and flash. very cheap.

You need an external USB to serial adapter for programming, but they are cheap enough also.

A Mega is also 5V unfortunatly.

The Adafruit Feather M0 is one of the more supported platforms for an Arduino-based LMiC, something that should apply to both the board and to a custom setup using the same MCU.

While an Arduino Mega would get you more memory, it would still be designed to run at 5v, you could probably re-work one for a lower voltage though it may take some effort. Level translation is possible, too. Interestingly I’m not immediately seeing the input voltage limitations in the radio data sheet, it’s more concerned with RF specs than traditional digital ones.

Some “LoRa shield” boards intended for use on a 5v Arduino do things like use series resistors going into a 3v3-powered 74HC125MX in an attempt to shift the levels.

Keep in mind that LoRaWAN nodes are often battery powered and running at 5v is typically not advantageous under such circumstances.

In terms of your immediate failure, you likely need to do some Serial.println() based debugging to see why the code stops sending - or if in fact it keeps sending, to see what frequency/sf/etc and raw payload are sent in an attempt to figure out why the packets are not being received or not being accepted by the TTN server.

Thanks for your replies. I am going to get a feather I think after looking at the options. I will get a mini at some point so my soldering of the RFM95 doesn’t go to waste.

Thanks again.

@pyrasanth Is your gateway singlechannel or multichannel?

The OP called out a Laird RG186… a LoRaWAN Gw :slight_smile: (Full 8 channel device by definition - anything less isn’t a LoRaWAN ‘gateway’ and shouldn’t be described as such :wink: )