Running TX433 and RX433 RF modules with AVR microcontrollers

Summary of Running TX433 and RX433 RF modules with AVR microcontrollers


This article describes building a wireless communication system between two AVR microcontrollers using TX433 and RX433 RF modules. It covers hardware setup, including power requirements and antenna usage, and details a software strategy using 4-byte data packages with synchronization, addressing, data, and checksum bytes to ensure reliable transmission over the air.

Parts used in the Wireless Communication System:

  • TX433 RF Transmitter Module
  • RX433 RF Receiver Module
  • Atmega8 Microcontroller
  • 30 – 35cm Antennas

Sometimes in embedded design you may want to go wireless. Might be you will want to log various readings of remotely placed sensors, or simply build a remote control for robot or car alarm system.

Radio communications between two AVR microcontrollers can be easy when specialized modules are used. Lets try to run very well known RF modules TX433 and RX433 that (or similar) can be found almost in every electronics shop and pair of them cost about ~15 bucks.Running TX433 and RX433 RF modules with AVR microcontrollers

Transmitter and receiver modules are tuned to work correctly at 433.92MHz. Transmitter can be powered from 3 to 12V power supply while receiver accepts 5V. 5V is common for AVR microcontrollers so no problems with interfacing. Modules don’t require addition components – just apply power and connect single data line to send information to/from and that’s it. For better distances apply 30 – 35cm antennas. Modules use Amplitude-Shift Keying(ASK) modulation method and uses 1MHz bandwidth.

I have constructed two separate circuits for testing on Atmega8 microcontrollers.
TransmitterSchematic Trasmitter Running TX433 and RX433 RF modules with AVR microcontrollers
Receiver
Schematic Receiver Schematic Trasmitter Running TX433 and RX433 RF modules with AVR microcontrollers

Lets move on to software part. Radio transmission is a bit more complicated than wired communications because you never know what radio signals are present on air. So all matters how transmitted signal is encoded. And this is a part where you have many choices: use hardware encoding like USART or write your own based on one of many ending methods like NRZ, Manchester etc. In my example I have used AVR USART module to form data packs. Using hardware encoders solves many problems like synchronization, start and stop, various signal checks. But as long as I was practising you cannot rely on plain USART signal. Here you can actually improvize by adding various checks and so on.

I decided to form 4 byte data packages in order to send one byte information. These include:

  • one dummy synchronization byte (10101010);
  • one address byte – in case there are more receivers(or transmitters);
  • one data byte;
  • and checksum which is actually a sum of address and data(address+data).

Why did I use a dummy byte at the beginning of package. Simply I noticed, that when transmitter doesn’t transmit any data – receiver catches various noises that come from power supply or other sources because receiver likes adjust its input gain depending on input signal level. First byte tunes receiver to accept normal signal after then address byte, data and checksum can be read more reliably. Probably with different transmission modules you may exclude this dummy byte.

For more detail: Running TX433 and RX433 RF modules with AVR microcontrollers

Quick Solutions to Questions related to Wireless Communication System:

  • How much do the TX433 and RX433 modules cost?
    A pair of these modules costs about ~15 bucks.
  • What voltage powers the transmitter module?
    The transmitter can be powered from a 3 to 12V power supply.
  • What voltage does the receiver module require?
    The receiver accepts 5V.
  • What modulation method do these modules use?
    Modules use Amplitude-Shift Keying or ASK modulation method.
  • Why is a dummy synchronization byte included in the data package?
    The first byte tunes the receiver to accept normal signals after it catches noise from power supplies or other sources.
  • What components make up the 4-byte data package?
    The package includes one dummy synchronization byte, one address byte, one data byte, and a checksum.
  • How is the checksum calculated in this project?
    The checksum is actually a sum of the address and data bytes.
  • Can plain USART signals be relied upon for radio transmission?
    You cannot rely on plain USART signal because radio signals are complicated and require additional checks.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top