I recently purchased a cheap wireless transmitter and receiver from Seeed Studio. The modules operate at 433MHz using amplitude shift keying (ASK). Unfortunately there was very little information about the devices available on the Seeed Studio website.
The modules do not perform any error correction or detection, however this can be implemented using a microcontroller.
In order to check that the devices were working I put together a quick test setup using an arduino and a bus pirate.
The transmitter was connected directly to the arduino. The transmitter's signal pin was connected to the TX (pin 1) pin on the arduino. The transmitter's VCC and GND pins were connected to the 5V and GND rails on the arduino. Code to send a simple test pattern was written, as shown below.
At the other end, the receiver was connected to the bus pirate. VCC and GND on the receiver were connected to the +5V and GND connections on the bus pirate. The signal pin was connected to the MISO pin on the bus pirate.
The bus pirate communicates with a computer through a serial interface. By using a program such as Putty we can connect to the bus pirate in order to configure it. The bus pirate uses the following settings in putty:
Once connected to the bus pirate type "?" without the quotes to bring up a list of commands.
In out case we only want to use the bus pirate as a serial to USB converter. To enable this mode type "m" to select the mode, type "3" to select UART, type "5" to select 9600 baud, type "1" to select 8bits and no parity, type "1" to select 1 stop bit, type "1" to select idle 1 operation, and type "1" to select open drain operation. Once in UART mode type "(2)" to select the UART monitor.
If the transmitter and receiver are working correctly data will start appearing on the screen. The video below shows the operation of the system.
Overall the transmitter and receiver seem to be working well. I plan to use them to create a wireless temperature logger. I will use a PIC microcontroller at both the transmitting and receiving ends of the system, in order to process, encode, and decode the data. My next step is to implement some form of error correction, probably using block coding.