First off all I want to thank Ricardo Lima Caratti for the wonderfool library that he have written for that chip.

Tis project is a proof of concept. Don’t expect to have characteristic of a professional receiver. But its small size, big frequency range and multimode capabilities, make it interesting and useful, at least for me.

The designee is standard heterodyne receiver. I have used the Si5351 for VFO and ADE-1 as a mixer. If frequency for the AMI input of the Si4735 is 10.7MHz. For the FMI input (because there is no filter) you must make some experiments what will be the best frequency for you. In my case that’s something around 65 MHz .

I have used BGA427 as amplifiers on the input and as IF amplifier after the filter for the AMI input.

For the Si4735 there is a option for 32kHz crystal or you can use clk1 of the Si5351 as a oscillator.

On the PCB i have put a charging circuit for a 3.7V Li-Ion Battery. There is a option for external EEPROM and as a Audio Amplifier I have used TDA2822.

The frequency range of the receiver is from 100khz to 220 MHz for the AM and SSB. and from 100kHz to 240MHz for the FM mode. I have tried the receiver on several bands and modes, it doesn’t have the sensitivity of the professional ones but for its size it works pretty well. For now it doesn’t support NBFM mode, but I have try the reception of some HAM Repeaters, Its not great but its ok 🙂 .

It will be a good idea to calibrate the Si5351 before using the receiver. This will help especially on SSB reception.

Probably there are many improvements that can be made (on Hardware and on Software), and i will be glad to here some recommendations and what you think of the receiver.

As a microcontroller I have decided to use STM32f103. The settings of the receiver are stored on the internal EEPROM. The menu is accessed whit two short presses on the encoder and whit one long press you can store the current frequency in the EEPROM also. In the menu you can change the frequency step, the mode of the receiver, the bandwidth , the Volume, AGC on or off and in the SSB mode you can change the BFO +- 1.2khz.

Here are some photos and videos of the receiver. And the links for the Schematic and for the code will be bellow.



Repo of the project:


7 thoughts on “Si4735 All-Mode Receiver”
  1. Hi Plamen,
    Are the files that you have in Github updated from what I see in the photos (added parts or modifications have all been implemented)? Also, I see that there’s a mini-USB connector on the left side of the receiver, how does one program this receiver with the Arduino sketch? Is this directly from the PC or is there some other interface required? GREAT design and project – I love the size of the receiver even though it may not be optimal in performance – it’s still ‘good enough’.
    Thanks in advance for your advice on the above – 73
    Marty, KN0CK

    Zdraveĭ Plamen,
    Aktualizirani li sa faĭlovete, koito imate v Github, ot tova, koeto vizhdam na snimkite (vsichki dobaveni chasti ili modifikatsii sa vnedreni)? Sŭshto taka vizhdam, che ima mini-USB konektor ot lyavata strana na priemnika, kak se programira tozi priemnik sŭs skitsata na Arduino? Tova direktno li e ot kompyutŭra ili se iziskva nyakakŭv drug interfeĭs? STRAKHOTEN dizaĭn i proekt – obozhavam razmera na priemnika, vŭpreki che mozhe da ne e optimalen po otnoshenie na proizvoditelnostta – vse pak e „dostatŭchno dobŭr“.
    Blagodarya predvaritelno za vashiya sŭvet otnosno gornoto – 73
    Marti, KN0CK

    1. Hi Marti,
      First thanks for the interest in the project.
      The errors that you are seen in the photos are corrected and the files are updated. I have ordered new PCB’s, but they are still not here, so I can’t guarantee 100% that everything is correct.
      The USB is mainly used for charging the battery. The USB port is connected to the processor, but noting is implemented yet. The programming of the board is true SWD connector on the side of the board (you can see the 4 pins on the photos). To program the board you will need some kind of SWD programmer like STlink v2 for example. You can use this programmer with Arduino IDE.

      1. YOu mean normal continous tuning witgout that stupid switching to “bfo”. Like normal TRX with real “adult” encoder? 😉
        Amazing. 😉 Thank You.
        MAc sp9mrn

        1. Exactly, normal tuning step not BFO.
          I have added as tuning steps 1Hz, 10Hz, 100Hz, 1kHz, 5kHz, 10kHz, 100kHz and 1MHz.
          I can add even more, but I think that’s enough.

          1. I’s enough. Magnetic encoders from AS have reliable prices and resolution is up to 4k ticks (as i remember).
            Only a little play with mechanics…


Leave a Reply

Your email address will not be published. Required fields are marked *