433 MHz receiver and NewSoftSerial

If you’re having problem with NewSoftSerial versus SoftwareSerial when using 434 MHz (433.92MHz) – receiver, it’s because the receiver cannot pull down the RX pin on your arduino. The library changes the input pin to be pull-up when non-inversion is used.

Change the library in following manner:


void NewSoftSerial::setRX(uint8_t rx)
pinMode(rx, INPUT);
if (!_inverse_logic)
digitalWrite(rx, HIGH); // pullup for normal logic!
_receivePin = rx;
_receiveBitMask = digitalPinToBitMask(rx);
uint8_t port = digitalPinToPort(rx);
_receivePortRegister = portInputRegister(port);

More info :