DIY Arduino Superheterodyne Receiver




Introduction: DIY Arduino Superheterodyne Receiver

About: Embedded systems engineer, amateur radio operator, and amateur astronomer.

In this project, we will upgrade a traditional shortwave superheterodyne receiver with an Arduino base tuner. This tuner is capable of receiving shortwave broadcasts on 41m band and above.

This modularized receiver consists of a transistor base mixer, I.F amplifier, Si5351 clock generator, and an Arduino Uno board.


455kHz IF Amplifier

  • C1 - 100µF/16V Electrolytic Capacitor
  • C2 - 10µF/16V Electrolytic Capacitor
  • C3, C4, C5 - 0.047µF
  • R1 - 330KΩ
  • R2, R4 - 1KΩ
  • R3 - 220KΩ
  • R5 - 330Ω
  • T1 - 50A01 / 42IF101 / 455kHz Yellow I.F Transformer
  • T2 - 50A02 / 42IF102 / 455kHz White I.F Transformer
  • T3 - 50A03 / 42IF103 / 455kHz Black I.F Transformer
  • Q1, Q2 - 2SC724, 2SC930, BF494, BC337, or 2SC829
  • J1, J2, J3 - 3.5mm Screw Terminal

RF Mixer, Filter and Detector Stage

  • C1, C3 - 0.001µF
  • C2 - 330pF
  • C4, C7 - 0.01µF
  • C5 - 10pF
  • C6 - 0.02µF
  • C8 - 100pF
  • R1 - 100KΩ
  • R2 - 22KΩ
  • R3 - 220Ω
  • R4 - 1KΩ
  • R5 - 330Ω
  • D1 - 1N34 or OA90
  • Q1 - 2SC724, 2SC930, BF494, BC337, or 2SC829
  • J1, J3, J5 - 3.5mm Screw Terminal
  • J2, J4 - 2.54mm Pin Header
  • L1, L2 - 1µH Inductor


Step 1: Planning

In this project, we extend the shortwave superheterodyne receiver we developed a few years ago. Like the previous design, this receiver operates on the traditional superheterodyne principle.

In this upgrade, we enhanced the local oscillator with Si5351 clock generator module and Arduino control circuit. Compared to the old design, this new receiver uses an improved version of an intermediate frequency amplifier with 3 I.F transformers.

In this new design, we divide this receiver into several blocks, which include, mixer with a detector, a local oscillator, and an I.F amplifier. The I.F amplifier builds into one PCB. The filter stage, mixer, and detector stages place in another PCB.

Step 2: Arduino Sketch

In this prototype build, the Si5351 clock generator drives using an Arduino Uno board. With the given sketch, the user can tune and switch the shortwave meter bands using a rotary encoder. The supplied sketch support clock generation from 5205kHz (tuner frequency : 4750kHz) to 16285kHz (tuner frequency : 15830kHz). If required, this range can further extend or reduce by modifying the Arduino source code. In the given source code, we use Etherkit's Si5351 library to control the clock generator module.

Step 3: 455kHz I.F Amplifier

This receiver uses a conventional 455kHz I.F transformer kit in an intermediate frequency amplifier. We use a 2SC724 transistor for each filter stage. The value of this transistor is not critical and can be replaced with any suitable mid-frequency NPN transistor, for example, 2SC930, BF494, BC337, or 2SC829, etc.

The I.F transformer used in this circuit base on a standard 455kHz I.F transformer kit. Typically, this kit consists of 42IF101 (yellow), 42IF102 (white), and 42IF103 (black) I.F transformers with capacitors. These days I.F Transformers is a little hard to find. During our search, we found few local stores and online stores that sold above I.F transformer kits. We also noticed some AliExpress and eBay vendors selling the correct 455kHz I.F transformer kits online.

Step 4: RF Mixer, Filter and Detector Stage

The 2nd PCB consists of a filter, mixer, and detector circuit. This mixer stage also uses the NPN low power transistor and can replace with any of the above transistors. The crucial component of the detector phase is the OA90 or 1N34 Germanium diode. It can also change with any suitable Germanium signal diode.

The front filter stage constructs using a pair of ready-made 1µH inductors.

Step 5: Si5351 Module

In this prototype, we will use the Si5351 module commonly found in online stores. Generally, this circuit works with any Si5351 module with CLK0 output. The module we used has a built-in I2C level-shifter and voltage regulator, so we connect this module straight to the Arduino Uno 5V supply and I/O terminals.

Step 6: Assembling the Receiver

The suggested supply voltage to this tuner is 6V to 9V. The complete assembly and tuning process of this circuit shows in the video available with this article.

To fine-tune the intermediate frequency amplifier, we feed the known (7MHz) AM signal into the receiver and adjust the I.F transformers.

All the schematic, KiCAD design files, wiring diagrams, and Arduino sketch files of this project are available on the GitHub repository.

Be the First to Share


    • Meatless Challenge

      Meatless Challenge
    • Fabric Challenge

      Fabric Challenge
    • Sculpt & Carve Challenge

      Sculpt & Carve Challenge



    5 months ago on Step 6

    Thank for your project. Very interesting modular design.