Setting up the Rpi 3B+ with the Microchip RN2903A click from MicroE

(Rocket81 Man) #1

So I have plugged in all of the hardware but seem to be getting nowhere with the GPIO hat on the RPi 3B+

Just looking for good documentation to get this RN2903A LoRa module up an running or at least in a state I can test it with other LoRa devices.

Any help would be amazing!


interesting first post.
we really like some more information, that is, if you really want help.

see what I mean ?
start by searching this forum and put your question in the right topic if there is one
or tell us what you expected and what you get/not get.

(Rocket81 Man) #3

I have been using the MikroE click boards for LoRa that use the microchip RN2903A chipset. These LoRa modules were designed to be used on a Rpi 3B+ hat that uses the GPIO pins to collect serial data. Doing a search gave me very few results using the microchip RN2903. The purpose of the Rpi 3B+ is to collect information from a LoRa transmitting beacon which outputs GPS data when powered up. No need for too much processing on the transmitting side.

So here is how my system in theory should work:

Base station: Rpi 3B+ module with the MikroE hat + LoRa RN2903 module (RxTx) - the base station displays the Beacons location using received GPS data.

Beacon: LoRa RN2903 module paired with a Ublox Neo M8n GPS module - continuous output once powered on - sending data over LoRa. Ideally I’d like to use Arduino for simplicity.

The picture below is of the rocket launch 2 years ago.

Why build this system?
The idea is to track a rocket from launch to landing, gathering information like location data and velocity - live

I know of many commercial systems that do this.

Update: 7pm, August 4th -

I was able to get the Arduino Uno to see the NMEA sentences and output serial data without hassle. My problem was library based - and I am now using microNMEA.h which makes a huge difference. Also the unit outputs at 9600 bps - which is what is set at factory.

The next challenge is how to take that information and send it over LoRa using the RN2903 click board using the Arduino for processing the output.


(Jac Kersing) #4

The RN2903 is primarily LoRaWAN module, not a LoRa module. While it is possible to send data from one module to another, the modules are commonly used to send data to a back-end using a LoRaWAN gateway.

Because TTN is a LoRaWAN provider, the focus of this forum is to have the modules communicate to the TTN network, not module to module. (There are a few messages concerning that use case, use search to find them, search for the RN2483 as well)
Have you checked the Microchip support forum to see if there is any information available?

(Rocket81 Man) #5

Interesting - that does help, Kersing. Good information from other links: RN2483 are built practically identical to the RN2903 - so that’s good to know. I honestly thought they were completely different.

I checked into the Microchip support and it was made clear that these modules can support M2M transmission. The base station (which is a Rpi 3B+) will be connected to TTN to be clear via a 4G celluar-mobile data link. I’m just at the phase of getting the LoRaWAN module to work.

Just looking for pointers -

(Jac Kersing) #6

The RN2903 modules are not suited for gateway use. Your base station requires different lorawan hardware to become a gateway. With a RN2903 you can only listen at a single frequency with a single spreading factor, gateways need 8 channels with multiple spreading factors.
There are so called single channel gateways, however these are not lorawan compliant. The code for single channel gateways won’t work for the RN2903 modules without a lot of work.

For m2m the RN2483 and RN2903 should behave the same. The difference (apart from antenna circuit tuning) is the lorawan stack, not the Lora part of the stack.

(Rocket81 Man) #7

Kersing - I do appreciate the information. It is very important to get this project working with what I have been given. While I am missing some parts, I have two identical RN2903 modules and data needs to be send from one to the other.

P2P transmission at least - appears to be possible.

You’ve pointed me in a direction which needs further exploration.

(Jac Kersing) #8

Please read up on the difference between LoRa and LoRaWAN. I think for your intended use LoRa is the solution you want. Sending data from one RN2903 to the other should be possible. Just make sure you do not use software for LoRaWAN as that won’t work. That blog has a lot of the information you need.
Before starting to send data, I would recommend you read up on the legal requirements for the band you will be using. How much airtime can you use, how frequently are you allowed to transmit, things like that.
And for LoRa, please check which frequencies might be used for LoRaWAN in your vicinity and use a different frequency to avoid interference.

(LoRaTracker) #9

In my humble opinion, that device is a poor choice for the application. Yes you might get it to work but a raw LoRa module such as Hopes RFM9x or Dorji DRF127x are easy to drive and much more flexible.

For some examples of using LoRa for this type of GPS tracking take at my own Github;

There are test reports, code and build instructions.

A basic tracker and portable receiver with display will run on a humble Arduino Pro Mini, but if you wanted to integrate LoRaWAN\TTN into this then you need a board with more Flash and memory.

(Rocket81 Man) #10

Fantastic! At least I have somewhere to start. I’ll give it a go and report back. Thanks again for the feedback.

(Rocket81 Man) #11

I checked - 902 through 928 MHz is open in Canada for LoRa/LoRaWAN and radio beacon operation without restrictions.

(Sandgroper) #12

The RN2903A can be used for point-to-point LoRa communications. It is relatively easy to implement but has some serious limitations. It does not provide RSSI data for the last packet received (actually not for any packets received) so you have no idea how good or bad the link is between devices. The RN2903A also has a very basic (brain dead) API. You can send it a command to receive a packet but once you have done that you have no way of determining if it is dead or alive without interrogating it. If you interrogate it then it stops receiving. If you use it in a remote environment with little, if any, other LoRa traffic then you cannot have any level of confidence as to whether it is working or not. HOWEVER a big plus with this module is that it is certified for use in the US and elsewhere.

(Rocket81 Man) #13

I have decided to go with the SX1272 module for ease of use. Worked right out of the box.

I’m getting nothing but error codes and problems even getting simple transmission to work with the RN2903’s. Had one transmission work last night after a few hours of work.

(Sandgroper) #14

Good to know. Can you get the RSSI for the last received packet? Can you get the status of the module while in receive mode? Is it FCC certified?

(Rocket81 Man) #15

RSSI shows up. Not sure on FCC certification. P2P test was done at 1.5 km - the SX1272 sent data without hassle. Seems like the power is sitting at a continuous 18.5 dBm.

(Rocket81 Man) #16

I have a friend working on the E32 Sx1278 Lora modules from EByte. Just last night we were able to send a test message 3 km line of sight. Power output looks to be around 30dbm/500KHz or 1 Watt/500KHz.

(LoRaTracker) #17

There wont be many places where its legal to use such large bandwidths and powers.