DSP Receiver
Although there are several DSP receiver models on the market (AliExpress, eBay, Shopee etc.), some of them fail to meet the requirements of good HF or even FM (broadcast) listening. In those cases it becomes interesting to build projects with distinctive features, such as SSB reception support, bandwidth adjustment, AGC control etc.
The idea for this article initially came from the release of Ricardo (PU2CLR)'s library for the Si4735 integrated circuit, at the end of 2019. Several YouTube videos showed excellent reception and the big differentiator of demodulating SSB signals through a firmware patch, on top of an extremely simple circuit.
Another module worth highlighting is NXP's TEF6686, widely used in car radios, published by Sjef Verhoeven (PE5PVB). Although it has characteristics comparable to the Silicon Labs Si473x, it unfortunately does not support SSB demodulation. Many videos of this project can also be found under the name Receptor DSP Pro 3 (Thiago Lima).
Si473x (Si4735/Si4732) and Si4825
In the initial tests an Arduino Nano was used with a 5 V to 3.3 V logic
converter, because this IC, although it accepts 5 V on the supply pins, does
not accept that voltage on the I2C bus pins. Besides the Arduino, STM32 and
ESP8266/ESP32 microcontrollers can be used, as long as they provide an I2C
communication interface and Arduino IDE support to use the library. As a
proof of concept, the SI4735_03_POC_SSB example shipped with the library
was used, with the Serial Monitor sending commands.
Several HF tests were carried out with a magnetic loop antenna, showing that sensitivity and selectivity are very close to those of commercial equipment, and even superior when using SSB demodulation. In the initial tests, the antenna was connected directly to the AMI pin through a 0.47 µF capacitor. FM (broadcast) reception tests were also performed using a 10 cm piece of wire connected to the FMI pin, demonstrating good sensitivity for more distant stations, although this band was not the focus of this project. The same tests, carried out by friends Cláudio (PP5CFL), Guilherme (PU5KNB), Pacheco (PP5AMP) and Rodrigo (PP5NW), also showed excellent results receiving broadcast stations and ham radio operators on HF.


Several commercial radios from manufacturers such as Tecsun, XHDATA and Degen use the Si4735. There is also the Si4825, which does not support SSB and does not require an external microcontroller — widely used in Motobras radios, delivering the same sensitivity and selectivity — and the SI4732-A10, an equivalent part number that also supports the SSB reception patch, in a package that is easier to work with. All of these part numbers internally use an LNA and a DSP processor to demodulate the radio signals sampled by an ADC.
Si473x circuit

Building this DSP receiver involves no complexity compared to analog designs based on ICs like the NE602, TA7358 or double balanced mixer circuits, where several inductors are needed and capacitors must be trimmed to avoid frequency drift due to temperature variations. The DSP processor clock comes from a 32.768 kHz crystal and two 22 pF capacitors — nothing critical, and without a single inductor. L1 is a ferrite antenna, only for Medium Wave (MW) and Long Wave (LW) reception.


The BPF published by Ricardo (PU2CLR) covers the entire HF band, with switching done through an FST3253 electronic switch controlled by the Arduino.
To simplify testing, a single-band 4 MHz – 8 MHz BPF was built using a blank copper-clad board as a base and some components from the scrap bin. The main difference noticed when using the BPF was improved reception of weaker signals and a partial reduction of reception noise. Since I did not have the Amidon toroids on hand, RF chokes with inductance close to the specified values were used.

For the audio amplifier there are several alternatives, such as the TDA2822, LM386, KA2209, 8002D, TPA301 etc., and the LM386 was chosen for its great simplicity. The Si4735 has a stereo audio output for FM reception, so the two channels (L+R) had to be joined to use a single mono audio amplifier.
The audio amplifier is powered directly from the input voltage, since it works fine with voltages between 6 and 12 V, with considerable volume for a loudspeaker.

Builds
A few modifications were added to the original schematic, but nothing complex, and they can be checked in the following image:

In the complete circuit it is possible to check all the Si4735 connections and other peripherals. The Arduino circuit is not shown, since it can be connected directly to a development board, without modifications, using only the necessary GPIOs.
Here are some build photos of this Si4735-based receiver, initially using a universal PCB and the dead bug method:







Later, the RADIO DSP PRO PCB was acquired, developed by colleague Thiago Lima, based on the project developed by Ricardo (PU2CLR) and Gert Baak.


















Firmware
After countless firmware version tests for the touch version based on the ESP32 and Si4732, and adjustments by Mateus (PP5FMM), we reached a stable version with some very interesting features, available on GitHub.
Firmware for SI473x based receiver – QEX Team
Acknowledgements
I could not fail to thank Ricardo (PU2CLR) for making the Arduino library for the Si4735 available along with all his extensive documentation, and Mikael (PU5FON) for sourcing the Si4735 ICs and delivering them to our group of friends. I also cannot leave out all the experiences and exchanges of ideas with Cláudio (PP5CFL), Guilherme (PU5KNB), Mateus (PP5FMM), Pacheco (PP5AMP) and Rodrigo (PP5NW) during the development of the project, and Thiago Lima, for providing the PCB for the build based on the ESP32 and touch TFT.
References
- Firmware QEX Team PP5FMM PP5MGT
- PU2CLR SI4735 Library for Arduino
- PU2CLR SI4735 Library for Arduino (source)
- Band Pass Filter controlled by Arduino
- ELEKTOR. England: Elektor International Media, Sep. 2010.
- SI47XX para radioescutas (Facebook group)
- Si47XX for Radio Experimenters (Facebook group)
- FM/MW/SW receiver (AM SSB and CW) with SI4735 prototype (PY2OHH)
- Mini course 00 – Tips to start a radio project based on the Silicon Labs SI47XX (Portuguese)
- Mini course 01 – Arduino library for the Si4735 (Portuguese)
- Arduino library for the SI4735 with SSBRX support (Portuguese)
- SI4735 PROJECT – Development and build stages (Portuguese)
- Radio DSP on the board demo
- Si4735 – Removing the loud click in the speaker during power down and power up
- SSB receiver with Arduino Nano and SI4735, prototype (Portuguese)
- Usage guidelines for the Si4735 Arduino library (Portuguese)
- Multi-Band Receiver on a Chip Controlled by Arduino
- SI47XX for hobbyists ([email protected])
- SI4735 Radio with OLED Display and SSB receiving
- SI4735 Radio KIT – SSB Test
- SI4735 radio KIT (AM FM LW SW SSB)
- Thiago Lima (YouTube)
