comm 433 picaxe =08M2

friis

Senior Member
Hi,
I am trying to make two 08M2 communicate. This is my RX pgm:

SYMBOL RECEIVER_CODE = 0 ' 0 .. 15

SYMBOL RX_PIN = C.4
SYMBOL RX_BAUD = N2400_4

SYMBOL MAX_DATA_LENGTH = 4

SYMBOL PREAMBLE_BYTE = $AA
SYMBOL SOM_BYTE = $C5
SYMBOL EOM_BYTE = $5C
SYMBOL POSTAMBLE_BYTE = $3A

SYMBOL dataLength = b0
SYMBOL data1 = b1
SYMBOL data2 = b2
SYMBOL data3 = b3
SYMBOL data4 = b4
SYMBOL data5 = b5
SYMBOL data6 = b6
SYMBOL data7 = b14
SYMBOL data8 = b15
SYMBOL data9 = b16



SYMBOL byteNumber = b7
SYMBOL bytePtr = b8
SYMBOL bbyte = b9
SYMBOL bbit = b10
SYMBOL k = b11
SYMBOL crc = b12
SYMBOL code = b13

SYMBOL POLYNOMIAL = $8C




PowerOnReset:

GOSUB ClearErrorLed
Lloop:

GOSUB ReceivePacket
GOSUB ShowPacket

GOTO Lloop

ReceivePacket:
high C.2
pause 2000
low C.2
pause 2000

SERIN RX_PIN,RX_BAUD,(PREAMBLE_BYTE,SOM_BYTE),code,dataLength,data1,data2,data3,data4,data5,data6,data7,data8,data9

high C.2
pause 2000
low C.2



CheckDataLength:

IF dataLength < 1 THEN Failed
IF dataLength > MAX_DATA_LENGTH THEN Failed

CheckReceiverCode:

;$AA,$AA,$AA,$AA,$AA,$C5,$00,4,"o","k","a","y",$94,$5C,$3A,$3A,$3A,$3A
bbyte = code & $0F
IF bbyte <> RECEIVER_CODE THEN Failed

SaveDataForUseLater:
;
POKE $50,data1
POKE $51,data2
POKE $52,data3
POKE $53,data4
POKE $54,data5
POKE $55,data6


If data1 = $6F then
high C.2
pause 2000
low c.2
endif




CheckEomByte:

bytePtr = $50 + dataLength + 1
PEEK bytePtr,bbyte
;bbyte = data6
IF bbyte <> EOM_BYTE THEN Failed

CheckChecksum:

crc = 0
bbyte = code
GOSUB CrcAdd

bytePtr = $50
FOR byteNumber = 1 TO dataLength
PEEK bytePtr,bbyte
bytePtr = bytePtr+1
GOSUB CrcAdd
NEXT

bytePtr = $50 + dataLength
PEEK bytePtr,bbyte
IF bbyte = crc THEN ReceivedPacket


Failed:

GOSUB SetErrorLed
GOTO ReceivePacket

ReceivedPacket:

GOSUB ClearErrorLed
RETURN

CrcAdd:
FOR bbit = 0 TO 7
k = bbyte ^ crc & 1
IF k = 0 THEN CrcAdd1
k = POLYNOMIAL
CrcAdd1:
crc = crc / 2 ^ k
bbyte = bbyte / 2
NEXT
RETURN

ShowPacket:
high C.2
pause 2000
low C.2

bbyte = code / $10
SERTXD("FROM ",bbyte,":")

bytePtr = $50
FOR byteNumber = 1 TO dataLength
PEEK bytePtr,bbyte
bytePtr = bytePtr+1
SERTXD(bbyte)
NEXT

SERTXD($0D,$0A)
RETURN

SetErrorLed:
SERTXD("BAD PACKET",$0D,$0A)
RETURN

ClearErrorLed:
RETURN

I have run both pgm in simulation. When I reach the SERIN I input "$AA,$AA,$AA,$AA,$AA,$C5,$00,4,"o","k","a","y",$94,$5C,$3A,$3A,$3A,$3A". This is what the TX pgm sends according to the simulation (and Cutecom), and it works. When I connect the two 08M2 with a wire the TX pgm transmits (according to an LED) and an RX LED flashes once.
It appears (to me) that the pgm stops in the SERIN, but why?
Can anyone help?
best regards
torben friis
 

geoff07

Senior Member
The usual reason that it would wait at SERIN is that it hasn't seen the qualifier byte and is waiting for it, why that might be isn't clear. Try a timeout if you want it to skip the SERIN and move on.

Your code could be better presented using the [~code] and [~/code] tags (minus the tilde), and with indentation. Then it would be easier for us (and you) to understand!
 

sghioto

Senior Member
Even when there is no transmit carrier there is noise on the receiver output. The SERIN sees this noise as a signal and thus will wait there forever until the correct qualifier is received. The timeout feature will not work in this case either because of the noise. You would have to implement a squelch circuit in the receiver output circuit for the timeout feature to operate. This is speaking with experience using those inexpensive comm modules.

Steve G
 

AllyCat

Senior Member
Hi torben,

When I connect the two 08M2 with a wire the TX pgm transmits (according to an LED) and an RX LED flashes once.
It appears (to me) that the pgm stops in the SERIN, but why?
So you are still testing with a wire connection? You have linked the Earths haven't you?

With issues like this, the best solution is to Keep It SimpleS. What happens if you try to transfer ONE byte? Then add a qualifier and see if it still works. Then try a double qualifier, etc....

It seems that your data length is (only) carried as a value within the data. That might not be very useful if almost any type of reception error occurs.

Cheers, Alan.
 

friis

Senior Member
Hi everybody,

A humidity sensor was noisy, so I moved it 2 meters away. Now the system appears to be stable
- i.e. every time the transmitter transmits (LED flashes) the LED in the receiver flashes. But that is probably "high c.2" just below the "ReceivePacket" below:

ReceivePacket:
high C.2
pause 2000
low C.2
pause 2000

SERIN RX_PIN,RX_BAUD,(PREAMBLE_BYTE,SOM_BYTE),code,dataL ength,data1,data2,data3,data4,data5,data6
high C.2
pause 2000
low C.2

That means that every time the transmitter transmits the receiver pgm starts from scratch and stops at SERIN. Strange.
I will take AllyCat's advice and try with simpler pgms.
torben
 

Goeytex

Senior Member
I have run both pgm in simulation. When I reach the SERIN I input "$AA,$AA,$AA,$AA,$AA,$C5,$00,4,"o","k","a","y",$94 ,$5C,$3A,$3A,$3A,$3A". This is what the TX pgm sends according to the simulation (and Cutecom), and it works. When I connect the two 08M2 with a wire the TX pgm transmits (according to an LED) and an RX LED flashes once.
It appears (to me) that the pgm stops in the SERIN, but why?
I suggest that you simplify the code and get the simplified code working first. After that you can start adding in the CRC and other stuff a bit at a time.

Also there seems to be no "RETURN" for the ReceivePacket: subroutine. If there is it is obscured by all of the jumping around.
 

AllyCat

Senior Member
Hi torben,

every time the transmitter transmits the receiver pgm starts from scratch
There are several reasons why a PICaxe Program may restart "unexpectedly", both hardware (e.g. a missing supply decoupling capacitor) or software (perhaps a missing return). A useful "trick" is to put something "unique" at the start of the program. For example, flash the LED a few times very quickly. Then you will see if the program restarts for any reason later.

But one of the strengths of PICaxe is that you can easily send "status" messages to the (Program Editor) Terminal. For example, put a SERTXD("*Starting*") at the beginning of the program and details like SERTXD("Begin CRC check") throughout the program.

Cheers, Alan.
 

friis

Senior Member
Hi,
I have made two simple pgms:
Transmitting:
main:
SYMBOL PREAMPLE_BYTE = $aa
SYMBOL SOM_BYTE = $c5
symbol bytenumber = b1
high c.2
for bytenumber = 1 to 5
serout c.1,n2400_4,(PREAMPLE_BYTE)
next

serout c.1,n2400_4,(SOM_BYTE)
low c.2
pause 15000

goto main
Receiving.
main:
SYMBOL PREAMPLE_BYTE = $aa
SYMBOL SOM_BYTE = $c5

sertxd("starting")
high c.2
pause 5000
low c.2

serin c.3,n2400_4,(PREAMPLE_BYTE,SOM_BYTE)

high c.2
pause 5000
low c.2

sertxd(PREAMPLE_BYTE,SOM_BYTE)

goto main
I get the result of the SERTXD in Cutecom, but I only get one flash - i.e. the SERIN stops. Why?

The receiver is powered by 3x1.5 batteries which output 3,91V. This is'nt enough to load the pgm, but could that be the reason? After all the SERTXD works.
Apart from that the pgms work (LEDs flashing as they should).
The major pert of the orinal pgms is something I have copied from the net.
torben
 

hippy

Technical Support
Staff member
The reason it does not work and stops must be down to the SERIN not receiving what it is waiting for. As to why that is it could be down to any number of reasons; from wiring error, insufficient voltage, to even your RF modules not working.

Are these Rev-Ed 433MHz modules or something else ? Do you have links to datasheets, photos of how you have wired them up ?
 

AllyCat

Senior Member
Hi,

3.9 volts should certainly be enough to program the PICaxes, what makes you think that it's not?

Make the Program even simpler, take out the qualifiers so you can see what is actually being received. For example:

serin c.3,n2400_4,PREAMPLE_BYTE

Also, it will be easier to test (via SERTXD) by using "printable" ASCII characters, for example (in the transmitting routine):

SYMBOL PREAMPLE_BYTE = "A"
SYMBOL SOM_BYTE = "C"

Cheers, Alan.
 

geoff07

Senior Member
you are sending five PREAMBLE_BYTEs but only receiving one. So the second byte expected is SOM_BYTE but what is actually received is PREAMBLE_BYTE. You are not actually receiving data at all with the SERIN command as both bytes are in the preamble.

Try it with only one PREAMBLE_BYTE, and the SOM_BYTE outside the brackets (assuming it is data that is being received, and not a second preamble).
 

sghioto

Senior Member
Bench tested your smaller program and it works as programmed using a wired connection from serout to serin. However the way the program is written the serin requires two qualifiers, as geoff07 mentioned the command should read:

serout c.1,n2400_4,("PREAMPLE_BYTE,SOM_BYTE")

The problem using the wireless is the slight delay between the commands next and
serout c.1,n2400_4,(SOM_BYTE)
Because of the noise from the receiver during that delay the second qualifier is not confirmed.

Steve G
 

hippy

Technical Support
Staff member
the command should read:

serout c.1,n2400_4,("PREAMPLE_BYTE,SOM_BYTE")
Presumably SERIN, but that will end up looking for a 22 byte sequence of those ASCII Characters :)

In theory serin...(PREAMPLE_BYTE,SOM_BYTE) should wait until a PREAMPLE_BYTE byte followed by a SOM_BYTE is detected, but it is perhaps best just to wait for the SOM_BYTE to avoid possible synchronisation issues.

Getting dumb RF modules to work can be a long and tortuous affair which is why we would recommend using the RFIN and RFOUT commands or, better and easier still, PICAXE ERF modules.
 

Goeytex

Senior Member
@torben

You are getting quite a few opinions. So here is mine to confuse you even more.

The use of preamble_byte as part of the qualifier is counter-intuitive and makes no sense. Symbols and qualifiers should have names that relate to their application.

The preamble bytes are ignored by the Picaxe and are only used to sync the receiver.

Serin waits until it "sees" a byte or sequence of bytes that matches the qualifier in the brackets ("HELLO" ). It then proceeds to receive the number of data byte listed after the qualifier. The received qualifier is not saved.

Serin will wait forever if a qualifier is not detected. If a qualifier match IS detected, serin will wait forever until the correct number of bytes are received.

If the TX sends 8 bytes after the qualifier is sent, and serin is only looking for 4 data bytes, only the first 4 bytes will be received. The rest will be lost.

Here is how I would do a relatively simple test.

Transmitter Code:
Code:
[color=Green]'Transmitting:[/color]
[color=Navy]#Picaxe [/color][color=Black]08M2[/color]

[color=Blue]Symbol [/color][color=Black]Data1 [/color][color=DarkCyan]= [/color][color=Purple]B1[/color]
[color=Blue]Symbol [/color][color=Black]Data2 [/color][color=DarkCyan]= [/color][color=Purple]B2[/color]
[color=Blue]Symbol [/color][color=Black]Data3 [/color][color=DarkCyan]= [/color][color=Purple]B3[/color]
[color=Blue]Symbol [/color][color=Black]Data4 [/color][color=DarkCyan]= [/color][color=Purple]B4[/color]

[color=Black]Data1 [/color][color=DarkCyan]= [/color][color=Navy]0[/color]
[color=Black]Data2 [/color][color=DarkCyan]= [/color][color=Navy]10[/color]
[color=Black]Data3 [/color][color=DarkCyan]= [/color][color=Navy]20[/color]
[color=Black]Data4 [/color][color=DarkCyan]= [/color][color=Navy]30 [/color]

[color=Blue]pause [/color][color=Navy]5000 [/color][color=Green]'// Give receiver time to start up [/color]

[color=Black]Main:
   [/color][color=Green]'Send 4 preamble Bytes, qualifier ("HELLO"), and then 4 data bytes
  
   [/color][color=Blue]Serout c.1[/color][color=Black],[/color][color=Blue]n2400_4[/color][color=Black],[/color][color=Blue]([/color][color=Navy]$AA[/color][color=Black],[/color][color=Navy]$AA[/color][color=Black],[/color][color=Navy]$AA[/color][color=Black],[/color][color=Navy]$AA[/color][color=Black],[/color][color=Red]"HELLO"[/color][color=Black],Data1,Data2,Data3,Data4[/color][color=Blue])
   inc [/color][color=Black]data1  [/color][color=Green]'// increment the value of data1
   [/color][color=Blue]inc [/color][color=Black]data2  [/color][color=Green]'// increment the value of data2
   [/color][color=Blue]inc [/color][color=Black]data3  [/color][color=Green]'// increment the value of data3
   [/color][color=Blue]inc [/color][color=Black]data4  [/color][color=Green]'// increment the value of data4
   [/color][color=Blue]pause [/color][color=Navy]15000[/color]
[color=Blue]goto [/color][color=Black]Main [/color]
Receiver Code:
Code:
[color=Navy]#Picaxe [/color][color=Black]08M2[/color]
[color=Navy]#terminal 4800[/color]
[color=Blue]pause [/color][color=Navy]1000[/color]
[color=Blue]sertxd([/color][color=Red]"Program Start"[/color][color=Black],[/color][color=Blue]cr[/color][color=Black],[/color][color=Blue]lf)[/color]
[color=Green]'// Flash LED 1 time indicating power on or reset  [/color]
[color=Blue]high c.2
pause [/color][color=Navy]1000[/color]
[color=Blue]low c.2

Symbol [/color][color=Black]Data1 [/color][color=DarkCyan]= [/color][color=Purple]B1[/color]
[color=Blue]Symbol [/color][color=Black]Data2 [/color][color=DarkCyan]= [/color][color=Purple]B2[/color]
[color=Blue]Symbol [/color][color=Black]Data3 [/color][color=DarkCyan]= [/color][color=Purple]B3[/color]
[color=Blue]Symbol [/color][color=Black]Data4 [/color][color=DarkCyan]= [/color][color=Purple]B4[/color]
[color=Blue]symbol [/color][color=Black]Counter  [/color][color=DarkCyan]= [/color][color=Purple]B10[/color]
[color=Blue]pause [/color][color=Navy]2000[/color]

[color=Black]MAIN: 

    [/color][color=Blue]Sertxd ([/color][color=Red]"Waiting for Data to Arrive"[/color][color=Black],[/color][color=Blue]cr[/color][color=Black],[/color][color=Blue]lf)
    
    [/color][color=Green]'// Wait for qualifier of "HELLO", then receive 4 bytes  
    '// The qualifier is NOT saved in memory when received
    '// by the Picaxe. Only the data bytes after a valid 
    '// qualifier is detected are save to memory.
    [/color][color=Blue]serin c.3[/color][color=Black],[/color][color=Blue]n2400_4[/color][color=Black],[/color][color=Blue]([/color][color=Red]"HELLO"[/color][color=Blue])[/color][color=Black],Data1,Data2,Data3,Data4

    [/color][color=Blue]Sertxd ([/color][color=Red]"Packet Received!"[/color][color=Black],[/color][color=Blue]cr[/color][color=Black],[/color][color=Blue]lf)
    [/color][color=Green]'//flash 3 times (faster) to indicate that qualifier is good and 4 bytes received
    [/color][color=Blue]for [/color][color=Black]counter [/color][color=DarkCyan]= [/color][color=Navy]1 [/color][color=Blue]to [/color][color=Navy]3
       [/color][color=Blue]high c.2 [/color][color=Black]: [/color][color=Blue]Pause [/color][color=Navy]500
       [/color][color=Blue]low  c.2 [/color][color=Black]: [/color][color=Blue]Pause [/color][color=Navy]500  
    [/color][color=Blue]next

    [/color][color=Green]'// Display the 4 data bytes in the terminal
    [/color][color=Blue]Sertxd ([/color][color=Red]"Data1 = "[/color][color=Black],#Data1,[/color][color=Blue]cr[/color][color=Black],[/color][color=Blue]lf)  
    Sertxd ([/color][color=Red]"Data2 = "[/color][color=Black],#Data2,[/color][color=Blue]cr[/color][color=Black],[/color][color=Blue]lf)
    Sertxd ([/color][color=Red]"Data3 = "[/color][color=Black],#Data3,[/color][color=Blue]cr[/color][color=Black],[/color][color=Blue]lf)
    Sertxd ([/color][color=Red]"Data4 = "[/color][color=Black],#Data4,[/color][color=Blue]cr[/color][color=Black],[/color][color=Blue]lf)
    Sertxd (Cr[/color][color=Black],[/color][color=Blue]lf[/color][color=Black],[/color][color=Blue]cr[/color][color=Black],[/color][color=Blue]lf)

Goto [/color][color=Black]MAIN[/color]
 
Last edited:

hippy

Technical Support
Staff member
I'd go even simpler ...

Code:
#Picaxe 08M2
Do
  SerOut C.1, T2400, ( "UUUUUUUUUUUUU" )
  Pause 1
  SerOut C.1, T2400, ( "X", b0 )
  Pause 1000
  b0 = b0 + 1
Loop
Code:
#Picaxe 08M2
#Terminal 4800
Do
  SerIn C.4, T2400, ( "X" ), b0
  SerTxd( "Received ", #b0, CR, LF )
Loop
 

friis

Senior Member
Hi everybody,
Thanks a lot. I am going to bed now - I am tired after having tried a lot of things. I think a lot of what I got at the latest are very helpful and I will try them out tomorrow.
Good night
torben
 

friis

Senior Member
Hi,
I understand now the importance of the qualifier. I have made two simple pgms:

Transm.:
main:
symbol bytenumber = b1

high c.2

for bytenumber = 1 to 5
serout c.1,n2400_4,("A")
next

serout c.1,n2400_4,("B",b0)

low c.2
pause 15000

goto main
Recive:
main:
sertxd("starting")

high c.2
pause 5000
low c.2;

serin c.3,n2400_4,("B"),b0

pause 5000
high c.2
pause 5000
low c.2

test: sertxd("DATA: ",#b0)
goto main

but they dont work - the pgm stops at SERIN. Even though they are by and large copied from hippy's ex.
What is missing? Is there something I dont see?
torben
 

hippy

Technical Support
Staff member
Is there something I dont see?
In terms of the software you don't seem to understand the qualifier, why it is a sequence of "U" characters in a single SEROUT in my suggested code, why a Txxxx baud rate was used, why there is a PAUSE after sending the preamble.

That's all understandable but you cannot re-invent a workable wheel if you don't understand the nature of the wheel you need to re-invent.

And beyond all that we don't even know if the hardware is correct, that it could or would work regardless of the software involved. There are so many things which could result in your RF link not working that it is impossible to say exactly what is wrong, and it could be a whole number of things. It's not even clear what RF modules you have or even if you are actually using physical RF modules!

What I suspect you are missing above all else is the understanding that what you are attempting to do is actually quite challenging and more so when trying to figure out why it isn't working when it doesn't. It is one of those things where everything has to be right in order for it to work and just one thing being wrong can prevent it from working.

A look at other posts on the forum regarding dumb RF modules should give an indication of how frustrating it can be to get them to work, how difficult it can be to make them work and to determine why they don't work. It is not something we would generally recommend attempting.

If you want to get your dumb RF modules communicating you will need to provide full details of what you have. Details of the hardware with links to datasheets, circuit diagrams of how you have things wired up, details of power supplies, photographs which show what you actually have and how it is wired, and in terms of software you need to start with something which should work. You need to work methodically through proving the transmitting hardware is transmitting and the receiving hardware is receiving. With those foundations in place and proven one can then build towards getting it all to work.

I realise that all sounds rather brutal and blunt but that is the nature of the beast we are dealing with.
 

Goeytex

Senior Member
ASCII "A" is not a good preamble. It equates to DEC 65, HEX $41 and binary %01000001. The most commonly used preamble is 01010101 which is DEC 85, HEX $55 and binary %10101010. To use it in quotes it is "U". This preamble is to wakeup the receiver and sync to a signal. All serial data is sent as binary (bits). 10101010 contains evenly spaced bits for good synchronization. So understand that when experienced users provide sample code, there is usually a good reason for the values that are suggested.

Likewise, hippy provided you with the simplest code to test, yet you changed it. Why? You should use it EXACTLY as it was provided. If hippy's code does not work, then there is is obviously something else wrong. Probably a wiring problem or a duff part.

If hippy's exact code does not work, then:

1. Post a CLEAR photo(s)) of your breadboard(s) showing all parts and connections so that we can see the connections.
2. Provide us the Brand/Model of the TX and RX devices. If you don't know what they are, then provide a link to where they were purchased.

With hippy's exact code, does it work with the two Picaxe chips wired directly ?
 
Last edited:

friis

Senior Member
Hi Hippy,
In terms of the software you don't seem to understand the qualifier, why it is a sequence of "U" characters in a single SEROUT in my suggested code, why a Txxxx baud rate was used, why there is a PAUSE after sending the preamble.
I think I do understand - now. At least it works with your pgms - with wires instead of the RF-modules installed.
Now comes the RF-modules and I expect it to be difficult - and I will come back if/when the difficulties show up.
Thank you very much for your help!!!
best regards
torben
 

friis

Senior Member
Hi Goeytex,
Thanks very much for your replies. As you can see above I have used hippy's pgms (with some LEDs included) - and it worked with the two picaxe chips wired directly. So now I will move to using the RF-modules.
best regards
torben
 

friis

Senior Member
Hi Goeytex,
Thanks very much for your replies. As you can see above I have used hippy's pgms (with some LEDs included) - and it worked with the two picaxe chips wired directly. So now I will move to using the RF-modules.
best regards
torben
Hi,
I have tried both hippy's and goeytex's pgms with the same result:the reciver pgm stops at the serin after "Program Start" and "Waiting for Data to Arrive". Anybody knows why?
I have connected the receiver as follows:
08M2/+ to VCC
08M2/- to GND
08M2/c.3 to Data
08M2/c.2 to LED

If I connect:
08M2/+ to VCC
08M2/- to GND
LED to Data
I get a steady LED light - as if it is reseiving constantly. Strange
torben
 

sghioto

Senior Member
LED to Data
I get a steady LED light - as if it is reseiving constantly. Strange
Not strange. That's the noise pulses from the receiver causing the LED to light. Normal operation.

Steve G
 

Goeytex

Senior Member
torben,

You have been asked many times to tell us what RF modules you are using or to provide datasheets. You have also been asked to post a schematic diagram and to post photos of your setup. So far you have ignored these requests.

Until you do these things, I doubt that you will ever get these RF modules working.
 

hippy

Technical Support
Staff member
Anybody knows why?
There are plenty of reasons why what you have may not be working as has been mentioned. As stated in post #21; "If you want to get your dumb RF modules communicating you will need to provide full details of what you have. Details of the hardware with links to datasheets, circuit diagrams of how you have things wired up, details of power supplies, photographs which show what you actually have and how it is wired".
 

friis

Senior Member
out.jpeg
There are plenty of reasons why what you have may not be working as has been mentioned. As stated in post #21; "If you want to get your dumb RF modules communicating you will need to provide full details of what you have. Details of the hardware with links to datasheets, circuit diagrams of how you have things wired up, details of power supplies, photographs which show what you actually have and how it is wired".
Hi,
The TX module is XY-FST. I cant set the frequency, so I assume it is 433 KHz
The RX mulule is XD-RF-5V. 3 frequencies are mentioned, but 433 MHz is marked with a small white dot, so I assume that is the frequency.
The two modules were bought as a pair. The data for the pair is found in: wiki.jmoon.co/sensors/wireless/rfrxtx.
The power supply is a regulated power supply - a wall wart set to 5V and common to the two boards.
I have attached pictures of the Experimenter Board (RX) and the two diagrams.
I have to send the picture of the Bread Board (TX) in a separate reply.

Both pgms work in simulation and with a wire connection.
With the radio modules the TX works - the LED flahes periodically. When I start the RX, there is a flash from the LED and then nothing more: it stops in the SERIN statement
The pgms are those of hippy.
best regards
torben
 

Attachments

friis

Senior Member
comm 433=08M2

View attachment 17736

Hi,
The TX module is XY-FST. I cant set the frequency, so I assume it is 433 KHz
The RX mulule is XD-RF-5V. 3 frequencies are mentioned, but 433 MHz is marked with a small white dot, so I assume that is the frequency.
The two modules were bought as a pair. The data for the pair is found in: wiki.jmoon.co/sensors/wireless/rfrxtx.
The power supply is a regulated power supply - a wall wart set to 5V and common to the two boards.
I have attached pictures of the Experimenter Board (RX) and the two diagrams.
I have to send the picture of the Bread Board (TX) in a separate reply.

Both pgms work in simulation and with a wire connection.
With the radio modules the TX works - the LED flahes periodically. When I start the RX, there is a flash from the LED and then nothing more: it stops in the SERIN statement
The pgms are those of hippy.
best regards
torben
Hi,
Here comes the picture of the TX board.
best regards
torben
 

Attachments

sghioto

Senior Member
Was looking at your attachment 17736. On the receiver schematic you show pin #2 not connected through a 10K resistor to ground, is this correct?
 

friis

Senior Member
Hi sghito,
That is correct. I thought it was'nt necessary on the Experimentor's Board.
best regards
torben
 

friis

Senior Member
Hi Goeytex,
I did'nt think antennas were needed - TX and RX are right next to each other. I have tried to move them almost a meter away from each other, because I was afraid that the TX would overwhelm the RX;
torben
 

srnet

Senior Member
If Radio modules need external antennas, and they are not fitted, its not unknown for the lack of antenna to damage the transmit module.
 

sghioto

Senior Member
You didn't send a photo of the receiver board. My question is do you have a 10K resistor from pin#2 to ground on that board.
Those transmit units are so low power I wouldn't worry about any damage.

Steve G
 

Goeytex

Senior Member
The antennas are needed. It is better to move the units apart than to omit the antennas. The TX especially needs an antenna to prevent possible damage. If theory holds, the antennas should be ~17.3cm in in length, however with these cheap modules sometimes a shorter antenna works better.

I could be wrong but it is unlikely that this ultra cheap TX module can overwhelm anything. I have set up and tested higher power Dorji ASK modules < 3 feet apart with no problems of overwhelming and these are many times more powerful than yours.

My suggestion is to make no assumptions and use the device as it was designed to be used.
 

friis

Senior Member
Hi sghioto,
The photo of the receiver board was #30 and my reply to your question was in #33. But the answer is no, I did not think that pull down resistors on pin#2 were necessary on the Experimenter's Board.
torben
 

friis

Senior Member
Hi Goeytex,
OK, I will try antennas.
If not to use ultra cheap components, what would you suggest?
I will also check out the FRIN/RFOUT commands.
I bought the PICAXE RF Connect Kit (AXE213) which I will try out when I have got the dumb modules to work.
torben
 
Top