Some visualisations for anyone coming across this. Without delving too deep into mathematics, a square wave can be represented as a number of sine waves added together:
The same is true in reverse obviously. Ergo if your square wave is hitting an antenna, it is actually broadcasting at the fundamental frequency (the square wave frequency) and a number of harmonics above that. For example if you are sending a signal at 1MHz with a square wave, there are signals being sent as well at 3x, 5x and 7x that frequency:
Now there's really nothing wrong with the oscillator or transmitter using square waves. In fact some of them start with that as they are very efficient when it comes to amplification, but you need to remove the harmonics from the output for a number of reasons. Mainly because it will annoy anything running at the harmonic frequencies (interference) but also because not all of them make it to the antenna and will be reflected back and blow up your amplifier.
This is done with a multiple stage low pass LC filter usually.
Even if your amplifier generates a pretty good sine wave, it's good practice to add an LC filter to get rid of any distortion as the harmonics are still transmitted potentially.
If you want to build a simple AM transmitter, the simplest approach is:
1. Use a 1MHz crystal can oscillator to generate a square wave. A 555 is being pushed pretty hard in the AM band. They're really only designed for 100KHz max. They're also terribly unstable.
2. Apply that to a common emitter amplifier.
3. Use an op-amp to control the amplifier's supply current driven from audio (this is crude but effective).
4. Stick a low pass filter on the output of that.
5. Attach a very long bit of wire as an antenna.
There is a nice example here of the sort of thing working:
http://ludens.cl/Electron/amtx/amtx.htmThis is purely by coincidence very close to something I built.