[solved] 433MHz Transmitter cannot send a number larger than 128

I have an issue with transmitting data using a 433MHz transmitter and the Manchester library.

My TX code is transmitting a number that counts up from 1 to 65535 before rolling over. What I’m noticing is that I can receive number just fine until 128 and then I start getting random numbers until my variable starts back again at 1.

Any idea why this is happening? Thanks.

Transmitter: ATtiny85

#include <Manchester.h>
#define TX_PIN 0

uint16_t Data = 1;
void setup() {
  // put your setup code here, to run once:
  man.setupTransmit(TX_PIN, MAN_300); //1200

void loop() {
  // put your main code here, to run repeatedly:
  Data = Data + 1;

Receiver: Pro Mini

#include <Manchester.h>


  Manchester Receiver example

  In this example receiver will receive one 16 bit number per transmittion

  Try different speeds using this constants, your maximum possible speed will

  depend on various factors like transmitter type, distance, microcontroller speed, ...

  MAN_300 0
  MAN_600 1
  MAN_1200 2
  MAN_2400 3
  MAN_4800 4
  MAN_9600 5
  MAN_19200 6
  MAN_38400 7


#define RX_PIN 9
void setup() {
  man.setupReceive(RX_PIN, MAN_300); //1200

void loop() {
  if (man.receiveComplete()) {
    uint16_t m = man.getMessage();
    man.beginReceive(); //start listening for next message right after you retrieve the message

I recommend VirtualWire. Ignore the “end of life” warning as there are no known bugs.

Thanks I'll give that a try

Just some follow up on this topic. I was able to get the transmitter to transmit a number higher than 128 by setting the transmission rate to MAN_1200. Now I can transfer numbers up to 255. I could spend more time on this but the VirtualWire library works well on the ATtiny85 as @jremington suggested.

It sounds like the Manchester library is something to be avoided.

It is hardly ever mentioned on this forum, perhaps for good reasons.