I'd like to build an FM radio that is pre-tuned to a specific station. I could use something like the Si4703 FM tuner chip, but they're expensive and difficult to solder by hand (and require a microcontroller).

If a normal FM receiver is tuned by a variable capacitor, is there a way to calculate a fixed value for that cap so that the radio would only be tuned to one frequency?

While there are several posts asking a similar question (1, 2) none really offer an answer based in a circuit (and instead suggest hot gluing the tuner knob).

  • 6
    \$\begingroup\$ There is no practical way. Use a trimmer capacitor and leave it once tuned. \$\endgroup\$
    – user16324
    Commented May 20, 2017 at 19:14
  • 2
    \$\begingroup\$ Capacitor still have tolerance nowadays, it will be a miracle if you have the correct frequency. As advice @BrianDrummond, use a variable capacitor, find the good frequency and leave it as it is \$\endgroup\$
    – M.Ferru
    Commented May 20, 2017 at 19:49
  • \$\begingroup\$ See: electronics-diy.com/fm-broadcast-receiver.php and electronics-diy.com/simple-fm-radio-receiver.php \$\endgroup\$
    – jonk
    Commented May 20, 2017 at 20:50
  • 1
    \$\begingroup\$ Thanks @M.Ferru, that's what I feared. Do you know how the digital FM ICs do it? Some kind of feedback mechanism to see if the internal tuning cap is correct? \$\endgroup\$ Commented May 21, 2017 at 1:58
  • \$\begingroup\$ No I don't know anythings about these IC. However, I counld't find any chip working without a µC (with busses). Theses IC works with an internal oscillator that can change the frequency of the tuning cap. No capacitors needed.. If you find the IC, a formula will be provide in the datasheet \$\endgroup\$
    – M.Ferru
    Commented May 21, 2017 at 8:13

1 Answer 1


Here is one way to do it using an Arduino Nano and a TEA5767 FM module.

Very simple setup. Very small size.

Digital frequency accuracy and no drift.

The software library supports presets and scanning functions if you want to add a few buttons and a few more lines of code.

Software details and download information is available here:


The single-station program is shown here:

#include <Wire.h>
#include <TEA5767Radio.h>
TEA5767Radio radio = TEA5767Radio();
void setup() {  
void loop(){}

Since the program is stored in the Nano's EEPROM all it needs is power applied and it locks onto the station as soon as it boots.

The radio module came assembled, with an antenna which I siliconed so it stands straight up.

Used a small audio power amplifier from eBay (MUCH better than the LM386 audio amplifier module - don't waste your time with them) and mounted it all on a small speaker.

Wiring Details:


simulate this circuit – Schematic created using CircuitLab

Arduino Nano mounted on a 140-pin breadboard. It receives power and programming via the Mini-USB cable, and passes power on to the tuner module and audio amplifier on orange and yellow wires.

I2C bus to communicate with the tuner is blue and green. Each is pulled up to +5V.

Audio from the tuner is via a mono 1/8" plug with gray and red wires that go to the amplifier.

enter image description here

[![enter image description here][3]][3]

enter image description here

Each part was in the dollar-or-two range since I didn't mind waiting for the slow boat. eBay is definitely where you want to look for the parts for this.

This is one of those projects that can be built in an afternoon then used for years.

For reference:

How to Use the TEA5767 FM Radio Module - Arduino Tutorial (Instructables)


  • \$\begingroup\$ If you want more volume at the expensive of more size, here is the amplifier to substitute: ebay.com/itm/… \$\endgroup\$
    – SDsolar
    Commented Sep 9, 2017 at 23:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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