Help! 433mhz transmission not received BY recv() (radiohead library);

my tx is a nano and rx is an uno

i am using 433mhz (ASK) tx/rx module pair
433mhz rf module link

assuming transmitter is transmitting my receiver is not recieving any valid data as recv() is turning FALSE...

any help is much appriciated

THANK YOU :slight_smile:

Transmitter code:

#include <RH_ASK.h>
#include <SPI.h>

RH_ASK driver;
uint8_t a=132;

void setup()
Serial.begin(9600); // Debugging only
if (!driver.init())
Serial.println("init failed");
void loop()
uint8_t xval[1];
xval[0]=(uint8_t) a;
if(driver.send(xval, sizeof(a)))
  Serial.println("data sent");


Receiver code:

#include <RadioHead.h>
#include <RH_ASK.h>
#include <SPI.h>

RH_ASK driver;

void setup() {
  if (driver.init())
    Serial.println("init done");

void loop() {

   uint8_t buf[RH_ASK_MAX_MESSAGE_LEN];
   uint8_t buflen = sizeof(buf);
   if (driver.recv(buf, &buflen)) // Non-blocking


      if(!driver.recv(buf, &buflen))
        Serial.println("invalid signal");



First, check that the Arduinos are working by using wires to make the connection instead of radios.

Connect the Arduino pins (intended for the radios) together as follows
TX1 -> RX2
RX1 -> TX2
GND1 -> GND2

and run the programs. That should work. If it does, put the radios back and double check the wiring. You need 17 cm straight wire antennas on both the receiver and transmitter.

If that doesn't work, either you made a wiring mistake or one of the modules is bad.