3
\$\begingroup\$

Background

To learn about radio, I started with the simplest module I could find: a simple 433 MHz receiver and transmitter module pair, where you can use RadioHead ASK to bit-bang a signal on the MCU.

I purchased the most widely available module pair on eBay UK. The receiver has the marking RX470C-V01 and the transmitter has no markings. Curiously, this module pair is not the most common on eBay US (so it doesn't feature heavily in videos and tutorials on the Internet).

RX470C-V01

The most commonly used 433 MHz module pair demonstrated on the Internet actually seems to be the pair with the markings, FS1000A and MX-RM-5V 080408 (e.g. Using Inexpensive 433 MHz RF Modules with Arduino). This seems to be the most available pair sold on eBay US.

FS1000A & MX-RM-5V 080408

Problem

I've been struggling with reliability the RX470C-V01 module pair (the first photo in my question). Often the receiver doesn't get the message from the transmitter. Taking a look at the received signal on the oscilloscope, it doesn't match the transmitted signal very well (some waves are longer/shorter/missing when comparing the two). Reliability degrades further when separating the transmitter and receiver by a few feet. I have tried making my own antenna out of wire and using various external SMA antennas, but this didn't improve reliability and sometimes made it far worse.

The particular eBay listing I purchased from did not specify which antenna was for which module, so I made what I thought was a good guess and soldered the wiggly end of the short antenna to the RX module with two holes. To me, it just looked like that was the right way round. I'm not exactly sure why it has two holes, so if someone could explain this for me, that would be helpful. The longer antenna, I connected to the transmitter (one hole/via for the antenna).

RX470C-V01 antenna hole

What didn't help, is that the shorter antenna is often shown in eBay listings with the receiver, which tells me that many sellers don't really know either (hardly surprising).

RX470C-V01 wrong antenna match

I'm wondering: Why is the end of the shorter antenna wiggly? Why does the the receiver module have two antenna holes/vias?

Edit:

As requested, here is the waveform. I took a picture of the beginning and the end. It's generated by RadioHead ASK, which bitbangs on IO. There are two MCUs and 4 modules; each MCU has a TX and RX module. The first MCU is ESP8266, and the other MCU is an ATtiny84 using an external 8 MHz crystal.

ESP8266 TX waveform start:

Waveform

ESP8266 TX waveform end:

Waveform

ATtiny TX waveform start:

Waveform

ATtiny TX waveform end:

Waveform

\$\endgroup\$
17
  • 5
    \$\begingroup\$ I've successfully used 433 MHz modules but I didn't buy them from ebay (or any of the other hobbyist sources) and, importantly, they came from a reputable source that provided a fairly decent data sheet and has a quality assurance system in place. You pay more of course but, you don't get the problems. "How much do you value your time" is something that maybe you should ask yourself. \$\endgroup\$
    – Andy aka
    Oct 24, 2022 at 13:37
  • 1
    \$\begingroup\$ Yes, the modules I used came from RF-solutions but it was a different model but still used FM. Of course, to get the best out of any simple module you need to play a few tricks with the transmitter to get max performance from the receiver. Did you send a data preamble? Did you use a CRC bye? \$\endgroup\$
    – Andy aka
    Oct 24, 2022 at 14:20
  • 2
    \$\begingroup\$ @NickBolton I recommend a preamble and a CRC. \$\endgroup\$
    – Andy aka
    Oct 24, 2022 at 14:56
  • 1
    \$\begingroup\$ Please show the waveform you are attempting to send. In addition to a preamble and checksum/CRC you also need to ensure that the signal is DC balanced. \$\endgroup\$ Oct 24, 2022 at 15:58
  • 1
    \$\begingroup\$ The Radiohead library does transmit a DC balanced signal as well as suitable preamble and CRC. So that's a good start. \$\endgroup\$ Oct 24, 2022 at 23:32

2 Answers 2

6
\$\begingroup\$

Consider alternatives

"How much do you value your time" is something that maybe you should ask yourself.

-- Andy aka

These cheap radio modules are not particularly reliable and don't come with a datasheet. They're also very sensitive to any noise on the 433MHz range, so in terms of a learning experience it can be intermittent and counterproductive (unless you want to learn how troublesome cheap modules can be).

Lesson: When buying a part, always make sure there's a datasheet. If you want a reliable part, order from a reputable electronic components supplier (i.e. not eBay or a hobby site).

For anyone who wants to learn how to use radio, a more modern low cost module (e.g. LoRa, RFM69, etc) would most likely provide a much more productive learning experience.

For 433Mhz, I found that LoRa, while designed for long range, worked really well for short range, and it took almost no time to implement. Don't let the SPI interface put you off, LoRa is really easy to implement with libraries, e.g. #include <RH_RF95.h> (RH_RF95) from the RadioHead library.

///                 Arduino      RFM95/96/97/98
///                 GND----------GND   (ground in)
///                 3V3----------3.3V  (3.3V in)
/// interrupt 0 pin D2-----------DIO0  (interrupt request out)
///          SS pin D10----------NSS   (CS chip select in)
///         SCK pin D13----------SCK   (SPI clock in)
///        MOSI pin D11----------MOSI  (SPI Data in)
///        MISO pin D12----------MISO  (SPI Data out)
RH_RF95 rf95;

Simple example code can be found in the Arduino IDE menu (File > Examples > RadioHead).

RadioHead RF95 examples

You can also visit the "RF Transceivers" category of your favorite electronics components supplier (probably under something like "Wireless Modules & Adaptors > RF Modules"). It's a bit pricer than eBay, but you get the benefit of quality control and datasheets.

If you do insist on purchasing from eBay, prices for LoRa modules are almost the same as the less reliable 433MHz modules (though almost certainly they're cheap knock-offs with no quality control). Actually though, I have found that eBay is sometimes much more expensive than proper electronics components stores.

LoRa vs cheap 433MHz module

Swap the antennas

If you absolutely must use the RX470C-V01 or similar...

With the lack of a datasheet or any useful documentation, I resorted to digging around on the Internet. It became apparent that it's the receiver that actually needs the longer antenna. I sifted through a few eBay listings for the RX470C-V01 and eventually found one that states which antenna is for what module.

RX470C-V01 antenna instructions

After swapping the antennas (as shown below), I found that reliability improved (but it's still not bulletproof).

RX470C-V01 with swapped antennas

Caveat: It is possible that some other factor that changed my environment, and I'm aware that 433MHz is quite a busy frequency.

\$\endgroup\$
8
  • 2
    \$\begingroup\$ Mr. Bolton, I've built a number of 433MHz radios, and those modules are really pretty crappy. An FCC compliant radio, fully optimized with helical antenna like that should go around 300 meters (best case / open field), and 150 meters worse case. Most modern radio ICs have all the software integrated into them and basically require no RF firmware. Check out the ti.com/product/CC1310, CC1310, for a super modern / RTOS driven approach to a sub-GHz design. I've bit banged $0.05 / TX / RX ICs at 433MHz for consumer, and it's a lotta software to bring up a bare metal system. \$\endgroup\$
    – Leroy105
    Oct 24, 2022 at 19:08
  • \$\begingroup\$ Absolutely, of course I'd never use bit banging on a cheap 433MHz module for an actual product, this was purely for learning purposes but to be honest I'm not sure it was worth the experience. The CC1310 looks great for product development, so I'll have give that part a try. \$\endgroup\$ Oct 24, 2022 at 19:34
  • 1
    \$\begingroup\$ What’s wrong with bit banging? There’s plenty of commercial products that do this. Radiohead uses a fairly good modulation method but you need to consider these modules are cheap n cheerful and you have to expect to resend data as there is plenty of interference on 433MHz. \$\endgroup\$
    – Kartman
    Oct 25, 2022 at 5:33
  • \$\begingroup\$ > "What’s wrong with bit banging?" -- In my experience, it's the least efficient way to send data; I only bit-bang if I absolutely have to. What commercial projects can you think of? \$\endgroup\$ Oct 25, 2022 at 13:59
  • \$\begingroup\$ The CC1310, if you can accept, that you are not really building a bit-bang / C approach, setup the tasks in the RTOS, and use all of their libraries -- I cannot imagine a faster way to bring up a commercial product. I spent 1 year coding raw-metal C, to build a commercial product using the absolute cheapest ICs. Using the CC1310, it would take 2 months tops... \$\endgroup\$
    – Leroy105
    Oct 25, 2022 at 20:40
2
\$\begingroup\$

I've used exactly these modules for the simplest possible remote control: I wanted to switch on a solid-state opto-coupled mains relay (to illuminate an "On Air" lamp in a radio studio). My approach was very crude, running an NE567 oscillator at the transmit end, at about 2 kHz, and then using another NE567 as a tone detector at the receive end. When the output of the '567 at the receiver went "low", I energised the LED inside the solid-state relay, switching mains to the "On Air" lamp. Both transmitter and receiver were run from 7805 regulators to ensure frequency stability.

This simplest approach worked flawlessly over about 17 metres and through two walls!

\$\endgroup\$
1
  • \$\begingroup\$ "> 17 metres and through two walls" -- Nice \$\endgroup\$ Jul 26 at 14:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.