Notifications
Clear all

Problem with cheap 433 MHz transmitter modules

10 Posts
7 Users
5 Likes
4,907 Views
Coop
 Coop
(@coop)
Active Member
Joined: 12 months ago
Posts: 4
Topic starter  

I'm having problems with the small, 433Mhz transmitter modules. I'm using a transmit and receive pair like Bill showed in the video "Using Inexpensive 433 MHz RF Modules with Arduino" (and referenced on same-named page on the DroneBot Workshop site).

Just using the test transmit (RF-Xmit-Demo-1.ino) sketch and I'm getting absolutely nothing. I've hooked up the module as shown, installed the libraries, and run the sketch. Rather than building the receiver on another Arduino (that's another possible point of failure), I fired up my SDR, and saw that it's not transmitting. I get a blip when I power up the Arduino, and another when I power down. Perhaps because I'm new (hi all!) I can't attach an image of the SDR waterfall, but it's obvious from the SDR that there's no RF (other than the burst when I power up power/down the transmitter).

Anyone have any positive experience with these little modules? I wasn't expecting a particularly great range or anything, but I was expecting them to at least work. I've tried two, and both of them appear to be nonfunctional.


   
Quote
Will
 Will
(@will)
Famed Member
Joined: 2 years ago
Posts: 2235
 

@coop

What happens if you build the Arduino receiver or have you tried that ?

Also, have you attached an antenna to the transmitter ?

Experience is what you get when you don't get what you want.


   
Inst-Tech reacted
ReplyQuote
Coop
 Coop
(@coop)
Active Member
Joined: 12 months ago
Posts: 4
Topic starter  

@Will, thanks for the quick reply.

I didn't build the receiver because I have a known functioning good receiver in that band. It's an SDR (or Software Defined Radio) that not only receives but gives me a visual output of the signals received.

If I built both the transmitter and the receiver I wouldn't know where the problem might be!

The SDR shows that there is an RF chirp when power is applied or removed from the radio, but no transmission otherwise.

I did have an antenna (properly sized) attached to both the transmitter and SDR receiver, they were only a metre apart on my desk.

it's a bit frustrating, as you can imagine. ¯\_(ツ)_/¯


   
ReplyQuote
Ron
 Ron
(@zander)
Famed Member
Joined: 2 years ago
Posts: 4001
 

@coop Take a couple minutes and build the receiver half of the project. What you are seeing as a chirp may in fact be the entire message. The transmit code is extremely simple so I doubt you miscopied it but when you have a failing version of someone else's code that is the obvious first thing to check.

Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting


   
ReplyQuote
DaveE
(@davee)
Noble Member
Joined: 2 years ago
Posts: 796
 

Hi @coop,

   I haven't played with these modules, so this is a shot in the dark .... treat with as much caution, cynicism etc. as you see fit.

As there are only 3 connections, plus an antenna, you might not think there is any scope for problems, but in my experience, even the simplest circuits can play up, with 'soldered' wires not actually connecting, etc. so I would try to check the voltages actually on the transmitter chip pins, not forgetting to make sure the 0V line is intact.

If you have an oscilloscope, then I would suggest looking at the data drive from the Arduino to the transmitter, at the transmitter data pin?

-----------

If you haven't got an oscilloscope, then a plan B is required ... how about?

I can't find much data on the transmitter ... I think it is possible that it will output a steady carrier wave at 433MHz when simply provided with (say) 5V on power and data pins, plus of course 0V on the ground pin and the antenna connection. Your SDR ought to be able to see the signal. Also you could look at the current draw and see how it compares with any data sheet values, and see the effect of connecting/disconnecting/connecting to 0V the data pin. (Of course, continuously transmitting is not a permitted mode, but hopefully a few seconds operation will not annoy anyone.)

However, it is also possible it needs a pulsing data signal, so alternately, change your Arduino program to a simple blink test type one, with the data line high for (say) 2 milliseconds, low 10 microseconds. A DC mutimeter should see the data line as near 5V (assuming a 5V Arduino), as it is high nearly all of the time. Check the voltage at the data pin drive as close as possible to the transmitter chip as possible to check it is seeing the same story.

Hopefully you will get a idea as to whether your transmitter shows some signs of life or not. I took your report that the SDR showed some kind of response as a hopeful sign ... fingers crossed!

Hope it helps. Best wishes. Dave


   
ReplyQuote
ronsmitsnl
(@ronsmitsnl)
Eminent Member
Joined: 11 months ago
Posts: 20
 

Looking at the sketch, the first thing I would do is add a Serial.println("sending message") in the loop of the transmitter. that would at least tell you that there is a transmission every 1 second.


   
ReplyQuote
Inst-Tech
(@inst-tech)
Reputable Member
Joined: 1 year ago
Posts: 365
 

Hi @coop, As @ronsmitsnl has suggested, placing a Serial,print ln("sending message") command is a good idea because the transmitter is is sending the message every second.. so on your serial monitor you will see that the sketch has at least gotten that far.. Since the the Radiohead library expects to see the data transmitted on pin 12 of the Arduino, with a scope, you should see pin 12 going high to low as data packets are transmitted..probably wouldn't se this with a DVM or logic probe because of the speed of transmission..all that is apparently done in the Radiohead library.  Checking all connection is a very good idea though, you'd be surprised how often bad connection , or wiring errors happen, even on simple circuits like this one..Step by step, don't let it frustrate you... remember your smarter than those stupid circuits...lol

hope this helps ..

regards,

LouisR

LouisR


   
ReplyQuote
Coop
 Coop
(@coop)
Active Member
Joined: 12 months ago
Posts: 4
Topic starter  

Thanks for all the replies I appreciate them!

I actually had implemented the print command into the transmitter code before I posted here; yes, the code is cycling through properly.

I’ve used SAW filters as resonators in the past and found that cheap ones often didn’t start out of the box. We used to tap them (perhaps releasing manufacturing debris?) and sometimes they worked. You get what you pay for, I suppose.

I found a copy of what passes for a datasheet for the transmitter module online and confirmed that it will radiate a carrier signal if the data pin is connected high. I did that (through a 10K resistor) and the transmitter sang like a canary (433.XX MHz, with harmonics from DC to light*).

Reconnecting the data pin of the same module (moving it from the pull-up resistor to the output pin of the Arduino) and I started seeing the pulsed carrier (once each second as per the delay 1000 command) on the SDR (I’m using it like a spectrum analyser).

Same problems with the second module; absolutely no output (other than a chirp on power on/off), until I tied the data pin high, and then it worked fine.

So, confirming that the transmitter modules work if you give them a bit of initial persuasion I wired up the receiver on another Arduino. Alas, disappointment again.

Although the SDR confirms that the transmitter is working fine, there is no evidence that the receiver is picking anything up. Once again, I’ve put a printf command in the code confirming that it’s ‘listening’, but nothing appears on the serial monitor.

I understand that these receivers are pretty broadband, but I notice that there is a tuning slug on the receiver. Maybe I’ll mark its position and then slowly tune through a bit of its range while the transmitter is doing it’s thing…

For the record, the transmitter, receiver and SDR all have matched 17 cm antennas, and they’re only about a metre apart on my desk.

Thanks for all the suggestions, everyone! It's too nice out to play with this right now, I'll be out doing yard work for a while.

 

* (OMG, the harmonics! I've attached screen snaps, one of the operating transmitter (note the happy one-per-second data bursts) and one with the signal pin tied high through a 10K pull up resistor - look at strength of those harmonics)

433 harmonics
433 operating

   
ron bentley reacted
ReplyQuote
Ron
 Ron
(@zander)
Famed Member
Joined: 2 years ago
Posts: 4001
 

@coop That's very mysterious. You wired and coded everything the same as Bill did and it doesn't work. You probably have a 3rd device since these are so cheap, so try just swapping a different unit first for the transmitter then the receiver. The odds that more than one is 'bad' is very low. Let us know what you find. Another approach is to just set both the original transmitter and receiver aside and try another pair.

Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting


   
Inst-Tech reacted
ReplyQuote
MattKelley
(@mattkelley)
Active Member
Joined: 12 months ago
Posts: 3
 

I bought the HiLetgo 433 Mhz modules from Amazon https://www.amazon.com/dp/B01DKC2EY4?psc=1&ref=ppx_yo2ov_dt_b_product_details

I connected them as described in Bill's video with 2 arduinos and copied the code.  They worked as described.

I want to increase the transmit power so I tried powering the transmitter at 9 volts. The  transmiitter seems to have shut down as no messages appear in the serial monitor.

Has anyone had success powering the transmitter at a higher voltage?

Matt


   
ReplyQuote