Simplest possible radio transmitter for microcontrollers

Bjørn, Fri Dec 28 2007, 05:52AM

The simplest method is just to connect an I/O pin to a piece of wire and toggle it at a fixed frequency. The higher the frequency the more efficient the transmission will be, it is a lot more complicated than this but it gives the general idea.

Since the signal is a square wave the transmission will happen at a wide range of frequencies. Mainly at multiples of the square wvave frequency. It might be a good idea to add a filter to reduce the transmission of unwanted frequencies unless the power is low enough to not cause any problems.

Some oscillators are not stable when the supply voltage goes outside a certain limit and you can let the microcontroller modulate the voltage to give different frequencies for FM transmission. Just be careful if the microcontroller runs off the same oscillator.

With a reasonably sensitive receiver and proper error detection/correction the range is significant.

Have a look here for some inspiration: Link2
Re: Simplest possible radio transmitter for microcontrollers
ShawnLG, Fri Dec 28 2007, 07:43AM

That is a nice find Bjorn. I should try that with my junker labtop sometime. Transmitting with a squarewave is a big no no. A butterworth low pass filter should be used on the output of the squarewave crystal.
Re: Simplest possible radio transmitter for microcontrollers
Bjørn, Fri Dec 28 2007, 08:01AM

A PC can transmit in several ways.

1. If you have analog video out you just put up the pixels needed to give the signal you want. This can give enough bandwidth to transmit music across a room. On some graphics card it is possible to more or less completely remove any deadtime and you can generate signals up to and above 400MHz without any significant distortion. Since there are 3 colour channels you can generate 3 independent signals.

2. Modulate the CPU usage and the switchmode regulators will change frequency and the signal can be received at a significant distance. Since the frequency will drift it is difficult receive it reliably. Since the signal is very broadband it is possible to receive it on almost any radio, FM or AM, depending on the motherboard.

3. Using the line toggle method using a printer port, serial port or PS/2 port.
Re: Simplest possible radio transmitter for microcontrollers
Steve Conner, Fri Dec 28 2007, 12:41PM

The graphics card method really works! I found this page by a French guy who synthesized a DVB-T signal out of his VGA port :-o

Link2
Re: Simplest possible radio transmitter for microcontrollers
uzzors2k, Mon Dec 31 2007, 05:20PM

I tried this today with a PIC16F88. With the internal PWM set to 1MHz I was able to receive the signal on a standard AM radio. I got clear reception in my brother's room which is across the house, so this works pretty well!
Re: Simplest possible radio transmitter for microcontrollers
Slava, Sat Jan 12 2008, 10:03AM

for reception you can probably use a simple audio amp chip, and use some kind of encoding layer that attaches a header to each packet with a CRC code. Also do an ACK reply and you can probably get good error free communication between two PICs or AVRs. It would possibly help if you make a small impedance transformer and drove it with a NPN switching transistor.

It just came to mind, that for receiving you can just use a mosfet with a high hfe, they are very sensitive to electrostatic spikes, and can even be used to detect the charge in clouds! ... you will just need to add a high value pull down resistor so that the gate isn't floating above ground, and youll have a nice range for detection.