ERA400TRS Internal "Memory" Locations

Post any general questions you may have here and we will endeavor to answer them as best we can.

Moderators: radiomadeeasy, WirelessMike

ERA400TRS Internal "Memory" Locations

Postby Docwyatt » Thu Oct 17, 2013 5:48 pm

I recently started developing a PIC Microchip sensor node based on the Amicus18 board, and am using the RADiuS-S boards to create the RF network between the nodes.

At the moment, development is in its early stages, but there are some pieces of information that I need to ascertain from the ERA module that I would like to use. One of the things I am currently working on is the routing protocol used to send data around the RF network. As part of that, I need to retrieve information like the current nodes battery/power levels, and RF signal strengths, in order to determine the path taken.

Using a software based serial breakout box, and several versions of the ER Companion software, I have found the "memory" locations for the serial number, where to set the group ID and encryption IDs. Is there any other locations that would be handy to read (such as the signal strength of the last data received, or in general for the module)? Is this even possible?
Posts: 2
Joined: Wed Oct 02, 2013 11:35 am
Location: Perth, Western Australia, AU

Re: ERA400TRS Internal "Memory" Locations

Postby Antman » Mon Oct 21, 2013 5:07 pm


There are commands to read back the digital RSSI stored in the module. This can be a live RSSI figure or last packet received. If you look at our data sheet easyRadio Advanced Radio Modules (Rev 3.6) ... 20v3.6.pdf you can find information on page 14 for the ER commands and page 18 for the RSSI table. Depending on the bandwidth (12.5Khz to 150Khz) you are using for the module there is a readout value on the RSSI table that corresponds with that bandwdith.

Live RSSi = ER_CMD#T9
Last packet = ER_CMD#T8

We were asked recently about using the RSSI to wakeup the module at a certain level. This can be useful in some applications. So I have added this for your reference:-

On page 14 the command ER_CMD#a1pxx will be the command structure you use to set the carrier detect threshold. Obviously the first part is straight forward ER_CMD#a1 then you must decide on P polarity if you want to have 1 = idle high (0 when carrier detect) or 0 = rest at 0 (1 when carrier detect). The final bit xx is the RSSI value in HEX. You have to work out the xx figure by reading back RSSI by using the ER commands ER_CMD#T8 or ER_CMD#T9. The T8 command calls the last RSSI figure transmitted and stored while the T9 gets the live RSSI figure. See page 18 for the RSSI figures, however make sure you know which bandwidth you are using from the table below this chart. Default bandwidth is 100KHz. Also Carrier Detect is set to FF (default off/Disabled).

A good way to get your RSSI figure is to use the live RSSI figure using ER_CMD#T9. Send this command several times and pick the highest HEX number from all your results. This will give you the local background noise levels and you can then use a number which is 2 above this, for example if the highest RSSI result was 22 decimal (= 16 in HEX) then make it 24 decimal and then convert it back to Hex which = 18 (See RSSI table). Let us say you want the module to idle high = 1. So now your command will be ER_CMD#a1118 “

This is a break down for you:-

ER_CMD#a1118 First part of command this is fixed all the time.

ER_CMD#a1118 Polarity is idle High = 1

ER_CMD#a1118 This is the hex reading from your RSSI from the receiving end

Hope this helps

User avatar
Posts: 37
Joined: Mon Nov 19, 2012 3:53 pm

Return to General Technical Support

Who is online

Users browsing this forum: No registered users and 1 guest