RSSI Measurement on SI4432

Skiwi

New Member
Can I ask Goeytex or Westaus55, (or anyone else who may have an answer) if they have any more info on measuring RSSI with the SI4432?
I have bought some boards from e-bay (maybe this was the first mistake? I should try the Dorj models)
http://www.ebay.com.au/itm/251512074247?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

I have Westaus55's code working (from 'Getting Started with PICAXE and Dorji DRF4431F13 Wireless' post, but, as per the discussion in the post, the RSSI doesnt work reliably.
To test, I have made it work by simply removing the data decoding, and reading the $26 register once nIRQ changes.
However, all I get is numbers between 61-64, which calculates to about -86 to -89dBm, no matter what distance I move the transmitter away. It is not trying to read the incoming data, I have removed that command from the routine

I have also tried Goeyex's RSSI Indicator code. I removed the scanning and fixed it to the 434Mhz that Westaus55's code transmits on. I have it reading the RSSI $26 register OK, but I get the same readings. Thus leading me to suspect the SI4432 boards I have are dodgy (I have tried 4, all read the same, +/- a few digits)
Or does the read $26 command need to be sent at a more precise time, i.e. once the SI4432 has stopped receiving data? I have added various pauses to try to catch this point, or send the request once nIRQ clears.

I am using a 28X2

Both versions of code are brilliant.
My project will be a simple data link, send a command one way, receive at a remote end, transmit environment data back. So Westaus55's code is the perfect basis for my project. Data speed isnt a concern, I can work with 4800 baud.
I hope to include RSSI in the data to show how the link is performing (especially in inclement weather).

I could send a command to respond only with RSSI, then send another command to respond with data. This is all proposals still, its the RSSI question I am working on before putting it all together.

Any suggestions?
 

srnet

Senior Member
The RSSI result is an instantaneous reading, if you want to read the signal strength of a incoming packet then you need to read the RSSI register whilst the packet is in progress of being received, and before it finishes.

There is an example of this in the $50SAT code, located at the dropbox link on this page;

http://www.50dollarsat.info/

Search the slot 0 program for RSSI to see how its read.

For $50SAT if you send the correct test packet number\type and its received, $50SAT responds with the packet RSSI in slow Morse, and this function does reliably read the RSSI.
 

Skiwi

New Member
Thanks srnet. I have tried the same method as your $50SAT code. Each variation I try, I can read the RSSI register, I just get rubbish. (as in, a reading that varies a little, but not with the change in signal, via path length change, from the Tx)
I can set the code to read all the registers so I know i have that working.
All I can summise now is that the SI4432 boards I have, have something wrong.
Next step is to test to see what range I can achieve, to confirm the receivers operation. I do wonder if I have fried the front end. I started with the Tx module on full power, and only about 1m away. At least they are cheap, its all learning!
 

srnet

Senior Member
Its normally then TX side that gets fried, turning on full power with no antenna can do it easily enough.

When playing with these modules, then a simple UHF handheld is very useful, or one of the $10 DVB USB dongles (RTL2832). You can then at tell if the TX side is putting something out. Its also easy to make the Si4432 put out a audio tone check tone so you can the TX is working at program start up.

As for range, if you use the settings for $50SAT which are based on 1kbps, then at the lowest power of 1mW, with a fully working TX and RX you ought to get 200-300M on a flat open field using 1/4 wave vertical wires, RX and TX at shoulder height.
 
Top