Project

General

Profile

Resolved: RFM12 board + Arduino receives only once

Added by mainvoid 3 months ago

I've built two RFM12 boards by JeeLab and successfully ran RF12Demo on them.
That is broadcast and dedicated node packets sent, received and acked by the both samples.

Yesterday I tried to run a pingPong demo sketch supplied with the library and observed the following:
None of the boards indicated reception.
However one board immediately after reset (reset button on Arduino) printed received packed contents ("Helo!) once and then went on quiet.
The other board didnt indicate anything on reset.
I've tried this a few times.
Also after that RF12Demo didnt work either. Again I was able to receive a broadcast packet on one of the board immediately after restart but nothing after that.

Any suggestions?
Is that a radio related issue or possibly a faulty module?

Many thanks,
Vlad


Replies (14)

RE: RFM12 board + Arduino receives only once - Added by martynj 3 months ago

@mainvoid,

Some pictures of the board construction and how you have interconnected to the Arduino (which model?) will be helpful.

RE: RFM12 board + Arduino receives only once - Added by mainvoid 3 months ago

martynj wrote:

@mainvoid,

Some pictures of the board construction and how you have interconnected to the Arduino (which model?) will be helpful.

Hi Martyn,

Thanks for your reply. I'm using arduino UNO boards.
Both are replicas of the original UNOs. Please find the pictures attached.

Let me know if you could suggest anything.
Thanks,
Vlad

RE: RFM12 board + Arduino receives only once - Added by JohnO 3 months ago

Can you get a close up of the voltage regulator on the Uno?

RE: RFM12 board + Arduino receives only once - Added by martynj 3 months ago

@mainvoid,

I can't see any issue with the construction in those pictures. Perhaps a shot or two of the ANT side of the RF module please?
If you go back to RF12demo and turn off quiet mode ('0q') you should eventually see some packets coming in prefaced with '?' especially if you are in a 'noisy' RF environment like near a laptop. These packets are just junk, triggered at random by noise and then rejected with CRC failure, but they at least confirm that the Rx section is working.

RE: RFM12 board + Arduino receives only once - Added by Rolf 3 months ago

What about the antenna? It should be a quarter of a wavelength, but this one is not. It is coiled, but I doubt if the inductivity is appropriate, and to serve as inductivity coil, the other end has to be contacted somewhere to allow a current to flow. - Just a first glance impresson, I did not make calculations.

RE: RFM12 board + Arduino receives only once - Added by JohnO 3 months ago

Sorry that my earlier response may have been a little cryptic. I note the reference to 3v3 on your UNO PCB and I was trying to establish if your Uno is running 5v or 3v3 logic. You have the resistors installed on the RFM12B board setting it up for 5v logic. The levels would obviously be wrong if you are actually running 3v3 logic on the Uno.

RE: RFM12 board + Arduino receives only once - Added by mainvoid 3 months ago

JohnO wrote:

Sorry that my earlier response may have been a little cryptic. I note the reference to 3v3 on your UNO PCB and I was trying to establish if your Uno is running 5v or 3v3 logic. You have the resistors installed on the RFM12B setting it up for 5v logic. The levels would obviously be wrong if you are actually running 3v3 logic on the Uno.

Hi John,
Thanks for your reply. I built the RFM breakboards to run off UNO's 5V pin.
It's the same setup on both UNO and it's just one particular RFM board that is acting up nomatter which UNO I plug it in.
After reset it always receives first transmission and then goes quiet. That probably suggests the other RF module keeps transmitting regularly.

RE: RFM12 board + Arduino receives only once - Added by JohnO 3 months ago

The 5v power to the RFM board is fine because there is a regulator onboard. The logic signals that the radio requires are 3v3. The resistors on the RFM board drop the logic voltage from the Uno from an expected 5v to around 3v3.

With the resistors fitted it is important that the logic voltage used by the Uno is 5v

RE: RFM12 board + Arduino receives only once - Added by mainvoid 3 months ago

martynj wrote:

@mainvoid,

I can't see any issue with the construction in those pictures. Perhaps a shot or two of the ANT side of the RF module please?
If you go back to RF12demo and turn off quiet mode ('0q') you should eventually see some packets coming in prefaced with '?' especially if you are in a 'noisy' RF environment like near a laptop. These packets are just junk, triggered at random by noise and then rejected with CRC failure, but they at least confirm that the Rx section is working.

Hi Martyn,

Please have look at the close ups attached. I narrowed it down to this particular RFM board.
It tends to receive initial transmission and then go quiet. Which probably suggests the other module transmits fine.
Behaviour is the same if plug this RFM board into another UNO.
Please also see some logs attached for two cases: when the counter part runs RFM12 Demo and pingPong. It always the same, only first transmission after reset is received.
I never see anything received on the other side though. Not even random data.

57600
Send and Receive
New config
OK 
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN
57600
Send and Receive
New config
OK  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP
57600
Send and Receive
New config
OK Hello!
57600
Send and Receive
New config
OK Hello!

RE: RFM12 board + Arduino receives only once - Added by mainvoid 3 months ago

UPDATE

I have just built another RFM12 board and it has been running well for about houlf hour now.
Same software and setup.

Could that be a faulty RFM12 module on the other board?
If so does anyone know if I could get it replaced?

Thanks a lot to all your replies and suggestions guys.

Vlad.

mainvoid wrote:

I've built two RFM12 boards by JeeLab and successfully ran RF12Demo on them.
That is broadcast and dedicated node packets sent, received and acked by the both samples.

Yesterday I tried to run a pingPong demo sketch supplied with the library and observed the following:
None of the boards indicated reception.
However one board immediately after reset (reset button on Arduino) printed received packed contents ("Helo!) once and then went on quiet.
The other board didnt indicate anything on reset.
I've tried this a few times.
Also after that RF12Demo didnt work either. Again I was able to receive a broadcast packet on one of the board immediately after restart but nothing after that.

Any suggestions?
Is that a radio related issue or possibly a faulty module?

Many thanks,
Vlad

RE: RFM12 board + Arduino receives only once - Added by martynj 3 months ago

@mainvoid,

The Shop will make contact with you shortly.

RE: RFM12 board + Arduino receives only once - Added by mainvoid 3 months ago

martynj wrote:

@mainvoid,

The Shop will make contact with you shortly.

Update.
The Shop kindly loaned a JeeLink v3c so I was able to take RSSI readings from the 3 of my boards:

#1 Most stable:
JeeLink -> board

0t
test 5 -> 66 b
OK 193 afc=0 fei=0 (-45dB)
board -> Jeelink
OK 52 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 afc=0 fei=0 (-43dB)

#2 The one that was only receiving once.
Now has been working stable for some time.
JeeLink -> board

0t
test 13 -> 66 b
OK 193 afc=0 fei=0 (-37dB)
ASC > A
board -> Jeelink
OK 34 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 afc=0 fei=0 (-35.5dB)

#3 The one that worked right after soldering.
Now developed a similar to #2 RX issue
JeeLink -> board
Only fraction of packet received:
JeeLink console:

0t
test 23 -> 66 b
0t
test 24 -> 66 b
0t
test 25 -> 66 b

Arduino console:
?X 211718
ASC <A . .
?X 211819
ASC <A . .
?X 21191A
ASC <A . .

The other way communication seems fine.
board -> Jeelink
OK 42 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 afc=0 fei=0 (-40dB)

So I'm confused. At the moment I'm suspecting flux residue on board which I was applying quite generously when soldering.
It's liquid and could potentially cause this instabilities.
I've cleaned the boards with technical alcohol but board #3 is still acting up.

Any suggestions greatly appreciated.
Many thanks to the Shop for providing a reference device.

RE: RFM12 board + Arduino receives only once - Added by martynj 3 months ago

@mainvoid,

Please run rf12demo on all for consistency (compile with #define RF69_COMPAT 0 so that the driver matches the RFM12B chip (the JeeLink is preloaded using #define RF69_COMPAT 1, so no need to change that side). If you have access to a multimeter, check the 3.3V output of the regulator (there is an unused header location on the edge you can tag a pin into). It should be rock solid i.e. no dip during TX or RX. You can put 'tttttttt...' into the rf12demo input buffer to get back to back transmission. Worth a check but rather unlikely since the Tx load is a lot heavier than the Rx load - you would expect an unstable voltage there to show on Tx before Rx.

The RSSI level is showing a reasonable level if the units are separated by a foot or so - is that the case?

RE: [RESOLVED] RFM12 board + Arduino receives only once - Added by mainvoid about 2 months ago

Hi all,

I have managed to get a stable setup with 4 my RFM12 modules working reliably.
I can only attribute initial instability to the excessive flux when soldering the RFM12 breakboards.
Thank you everyone for your help.

I'm marking this thread as closed now.

Many thanks,
Vlad

    (1-14/14)