So if I were to build a simple AM radio transmitter just using say, my Arduino, an oscillator, and wire for an antenna (this is all crude I know, but work with me here) and use it to transmit data collected or what have you, how do I receive and decode this signal? I understand if I'm using say an MP3 player and the same idea I could just tune in to the frequency of the oscillator on a modern AM radio, but I want to send and receive data.

I get the basics of the transmitter side, but I don't grasp the receiver side as well. I'd also prefer to only receive the signal I sent out, so only receive on the 1.2 MHz channel, or what have you, if that's possible. What I'm saying is I don't want a tunable receiver, rather just a receiver fit for the transmitter's exact frequency, in a perfect world.

  • $\begingroup$ Let me ask for clarification first? Do you want to build a subsystem which would transmit data or do you want to just transmit and receive data? This is important because if you want to know how to build the system, answers would focus in one angle, but if you just need a block module that will handle the wireless data transfer, then a different approach would be better. $\endgroup$
    – AndrejaKo
    Commented Apr 21, 2015 at 11:45

1 Answer 1


Sending data is not so different from sending audio. You just have to come up with some kind of symbol which represents one or more bits of data. For example, you could encode your data by speaking "1" or "0" into a microphone.

xkcd: Code Talkers

Someone at the other end listens to the audio and types in the numbers, and boom, you are sending data.

Of course you probably want something easier for electronics to encode and decode so you can replace the humans with electronics. So maybe you say a 1000 Hz tone is a "1", and a 2000 Hz tone is a "0". Now you have invented AFSK.

Or maybe you realize this is using a lot of transmitter power and radio bandwidth to send not very much information. You realize that you can detect the presence of an AM carrier, even if there's no tone but just silence. So you decide that to transmit a 1, you transmit a carrier, and to transmit a 0, you transmit nothing at all (the absence of a carrier). Now you have invented on-off keying.

These are just two of many possible digital modulation methods.

As for the other part of your question about tuning, it doesn't really matter, nor does making a non-tunable receiver simplify things very much. You still need to design an oscillator or a filter (the two are very similar, electronically) at some particular frequency. If you don't need to tune, then the design of this component might be a little simpler, but all the other bits of the receiver are the same, and those other bits are most of the work.

  • $\begingroup$ I want to use AM, so modulation, as I've read it's easiest to receive when the signal is weak so I deduce that the range is the best, possibly I'm wrong. As per the modulation, I would use the analog, well, PWM, capabilities of the Arduino to output my data. Very similar to sending out audio, however it would sound very odd if you tuned in on a regular radio. My question is how I find the signal I just shot out into the air to pull it back in and decode it, the encoding and decoding I can handle, it's the fetching my specific signal I don't understand. $\endgroup$ Commented Apr 22, 2015 at 1:24
  • $\begingroup$ @user2278224 well, you can't send data with AM, since it is by definition not a digital modulation. You could layer something on it, like AFSK, but then you are using AFSK+AM, not AM. And if you want something that works well under weak conditions, AM is about the worst choice you could make. As for knowing how to "fetch your specific signal", that's easy: you build a receiver and tune it to the same frequency as your transmitter. $\endgroup$ Commented Apr 22, 2015 at 13:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .