I am trying to build a FM receiver circuit with simplest elements, transistors, capacitors (an op-amp such as LM 741 would be fine too) for analysis purposes (not real-time radio). The circuit should be able to tune into FM station, and output frequecies close to that station. I don't need demodulation, I will do that seperately (the plan is I interface with the analog output through an Arduino, I want to capture the data, and code digital demodulation). What is the simplest circuit for this task?

I guess this request would fall under software-defined-radio, so I am trying to build a hobbyist's, simplest dongle.


  • 3
    \$\begingroup\$ You will need some kind of demodulation. The Arduino cannot capture and process analog signals at anywhere near the speed needed to do demodulation in software. Also, you seem very much a beginner. Crystal radios can't be used with FM. If a crystal radio would be of any use to you, you would be using AM, not FM. So, what are you working with? AM or FM, and what frequency range? \$\endgroup\$ – JRE Jun 1 '17 at 10:07
  • \$\begingroup\$ Thanks for the comment - yes I am interested in FM. I'd like to be able to tune in to any FM station, so a variable component is necessary. \$\endgroup\$ – BBDynSys Jun 1 '17 at 10:24
  • 1
    \$\begingroup\$ Reasons not to use a 741: electronics.stackexchange.com/questions/304521/… \$\endgroup\$ – Andy aka Jun 1 '17 at 10:44
  • 1
    \$\begingroup\$ Your whole question makes no sense. You talk about "FM Radio", but then say you don't want to demodulate. However, FM is modulation. In fact, it stands for frequency modulation. You want to make a frequency modulation radio receiver without demodulation. So how is the modulation method relevant if you're not going to demodulate the signal anyway. You just want a RF narrow band filter and amplifier? But then what does that have to do with FM? Closing this mess. \$\endgroup\$ – Olin Lathrop Jun 1 '17 at 10:58
  • 3
    \$\begingroup\$ SDR using an Arduino? Bad idea. \$\endgroup\$ – Enric Blanco Jun 1 '17 at 11:22


simulate this circuit – Schematic created using CircuitLab

So you want to SELECT one station in the FM band?

How about digitizing ALL the stations, then use digital filtering. IN that case, Fsample of 80MHz will downconvert the entire FM band of 88-108 to 8MHz --- 28MHz.

If you want just one station, use the NE602 with LO 40MHz higher 128--148MHz, creating low-side IF into some LC filtering and 40MHz (OPamp?) amplification, then down convert again with another NE602 using fixedLO for the 2nd IF to get amplified and digitized by Ardunio [phasenoise aka jitter of Sample clock may set your SNR]

I'm assuming you want a quality musical output. If you just want low-rate data (rate << Ardunio 10KHz), implement a lowIF frontend. That is, for 88MHz data at 2Kbit/second, use 88.005MHz LO to produce 5KHz IF. Do not mix down to DC (that is, do not use Zero-IF because you'll then need I+Q IF strips to preserve the FM data)

|improve this answer|||||
  • \$\begingroup\$ Hi, yes digitizing all stations would be great actually, w/ medium quality audio output (that is after demodulation). What would be the circuit design for that? Thanks, \$\endgroup\$ – BBDynSys Jun 1 '17 at 10:20
  • \$\begingroup\$ Well, the design for the other choice (or references where I could find them) would also be great :) \$\endgroup\$ – BBDynSys Jun 1 '17 at 10:33
  • \$\begingroup\$ Don't you have to sample at twice the frequency you want to look at? \$\endgroup\$ – Dirk Bruere Jun 1 '17 at 11:02
  • \$\begingroup\$ This was answered in another equestion, a month ago. ------- "Front end selection for digital FM demodulation" \$\endgroup\$ – analogsystemsrf Jun 1 '17 at 13:14
  • \$\begingroup\$ .. which was put on hold as "too broad". A lot control-freak Nazis on this group.. \$\endgroup\$ – BBDynSys Jun 2 '17 at 7:33

Not the answer you're looking for? Browse other questions tagged or ask your own question.