STX-882 / SRX-882 Radio Testing

I recently did some testing of the STX-882 433HHz transmitter and the SRX-882 433MHz receiver and, after additional tests, updated my original findings.

I tested line-of-sight along a road. I performed two tests using Arduino NANOs and two laptops, shown below in Figure 1.

Fig 1. STX/SRX-882 Test laptops

Fig 1. STX/SRX-882 Test laptops

Both of the radios were equipped with the Helical antennas that were supplied by the seller. They are being powered by the USB port, so the tests are using 5 Volts despite having read that the radios “may” perform best at 3.3 volts. There was no ground plane and, in fact, no connection to earth ground at all. This is not ideal, that is for sure, but “that” is what was tested.

For the first test I wrote a simple test program that transmits a string with an incrementing number that utilized the RadioHead library. The outcome was somewhat disappointing. The manufacturer only claims a range of “Long distance working with STX882“. In my test reliable communications was limited to 55 feet (16 3/4 meters).

For my second test I used the cano64/ManchesterRF  Manchester code library and its test programs with some serial output added. I am interested in this library because Manchester coding is said to make for more reliable communications when using ATTiny85s, which is my final goal. The RC oscillator in ATTiny85 is reputed to drift, especially with temperature change. By the way, I first planned to test the PJON SoftwareBitBang library but the compiled code was so large that there was little space left for my application – so I abandoned PJON. There was an attempt to write a more compact version of PJON, named PJON_C, but the repository seems broken/incomplete and will not compile.

The outcome of this second test was slightly better – 70 feet (21+ meters), a 27% improvement but still not what I would call Long Distance.

Part of the problem may be the cute and convenient coiled antennas. After reading THIS-ARTICLE I see that the coiled antennas are more inferior to a straight wire than I anticipated – 10dB worse in the author’s experiments. 10dB is a lot ~ 316%. If the experiments by the author, Ralph Doncaster, are correct, using 16.5cm straight wire antennas may yield a 50-to-64 meter range. In my planned application a 16.5cm straight wire antenna is feasible. Using a half wave dipole antenna should perform even better, Doncaster says 10dB better, but physical space (33cm) would be a problem for my application.

UPDATE: I made some quarter-wave 433MHz antennas, see Figure 2 below,  for the STX/SRX-882 radios and repeated the same test as before, namely the cano64/ManchesterRF  Manchester code library and its test programs with some serial output added, line-of-sight along a road. I performed two tests using Arduino NANOs and two laptops, the same as before.

Fig. 2: 433MHz 1/4 wave and coil Antennas

Fig. 2: 433MHz 1/4 wave and coil Antennas

The results with the λ/4 antennas were a significant improvement over the Chinese eBay coil antennas. Error free range was 135 feet (41.15m). I must point out that performance may actually be better on flat ground than my tests indicate. This is because my road is a steep incline. The λ/4 antenna radiation pattern looks a bit like a doughnut.  Propagation along flat ground (see red line) provides the greatest range. However, as I walk down my road (see green line) the propagation pattern would, in theory, indicate reduced range. In 41 meters possibly this isn’t relevant, but level ground tests may show an improvement.

Fig. 3: Side View of Radiation Pattern

Fig. 3: Side View of Radiation Pattern

Also, I was curious about the actual frequency emitted by the 433MHz STX-882 transmitter so I searched my closet until I found my old SDR USB receiver stick. Mine is only labeled “DAB+FM+DVB-T” but it is one of many similar inexpensive devices based on the RTL2832 IC by Realtek Corporation. I use the SDR fob with the GQRX Open Source software. The STX-882 manufacturer’s datasheet indicates its frequency is 433.82(min), 433.92(typical), 434.02(max). Refer to Figure 4 and you’ll see that my STX-882 is working right at the “typical” frequency. The vertical red line is where my transmitter is transmitting every 5 seconds and the little red spot in the yellow area below the red line was one such transmission. If you are ultra curious or very board, you can hear a mp3 format sample audio output from the gqrz software at THIS-LINK.

Measured STX-882 Frequency

Fig. 4: Measured STX-882 Frequency

UPDATE#2: I took the SRX/STX-882 radios e/w λ/4 antennas to my local jogging track oval so that I could test on level ground. Results were identical to my sloping road – Error free range was 135 feet (41.15m). There is a pretty quick drop off – like a cliff – beyond that distance. Go to 138 feet (42.06m) and dropouts start.

UPDATE#3: Again, with the same SRX/STX-882 radios and λ/4 antennas, I retested on my sloped street but, this time, with mchr3k’s Manchester array library.  I used his array functions – transmitArray and receiveArray to communicate seven bytes of data per transmission. I send the array shown below:

struct measurement {
  uint8_t payload_size;       // Used by Manchester library
  uint8_t node;          // Network node ID - 0 to 254
  uint8_t humidity;      // humidity as integer byte storage
  int16_t temperature;   // Temperature as integer storage
  uint8_t ticks;         // Ticking count 0 - to -255
  uint8_t checksum;      // Checksum

Using mchr3K’s array library my testing yielded a reliable 146 foot range. Again, There is a sharp digital type drop off cliff as in 146′ works reliably but 147′ does not.

This entry was posted in Arduino, Electronics, Programming, software, wireless and tagged , , , . Bookmark the permalink.

3 Responses to STX-882 / SRX-882 Radio Testing

  1. Pingback: All SMD Radio Transmitter | Detect And Zero Rightmost One

  2. tmrsgv says:

    I am trying to send/receive using these SRX-882 modules along with two ATtiny85 (one tx, one rx).

    Working with the Manchester example codes and two Arduino Onu, everything seems to work. Once I switch to ATtiny, transmitter seems to be working but receiver in not.

    I tried changing baud to 1200 and even 600.
    Tried to change rx/tx pins

    Any ideas on why this doesn’t work with ATtiny85?


    • celem says:

      If you’re using the internal R/C clock it may be too slow for the critical timing, or that clock isn’t stable enough. Try using a crystal for better timing. Also try different Attiny processors as they vary within manufacturer tolerances. Good luck.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s