SI4735 receiver

Picture: Wewax transmissions are often quite consistent and strong signals,giving possibility to "try and see" -method.On picture it is possible to see what works best - ears have too short memory.This one fax is received 10 meter vertical antenny connected directlyon SI4735 antenna input, at 13.882 MHZ,in inner Finland.AD 9850 was running as local oscillator, shielded,no electrical connections anywhere at outpu


Some notes of misusing SI4735-receiver chip.

When I purchased SI4735 receiver shield my original idea was to use it as time source for WSPR-transmitter. Chip contains FM-radio with RDS. Of course this original idea is still undone.
I really didn't know how versatile AM-receiver of SI4735 is when I ordered it. When started to code little subrogram to use it, I was amazed. AM-side of this receiver have programmable squelch, channel filters from 6 to 1 khz, adjustable AGC, antenna tuner capacitor, noise blanker and dozens of other properties to play with.
Of course it is not a "real" radio, but it is surely fun radio to play with. Also this shield is not available anymore. (But chip itself is.)
On time to time I get back to this little chip, trying something new. Often I just listen 10 meter band or SSB-trafic on local CB net. There is lot of possibilities for tweaking. And Ideas! Like receiving air trafic with downconverter (squelch is indeed nice), and maybe it could be used as lightning detector...This page is inconsistent and fuzzy because it is kind of collection of short notes from long time, sorry.
You may ask, why I am so interested of this cheap chip. One reason is low power and low voltage operation. Here is the reason: Geeky Little Machine.

Best setup so far...

This setup have gave best results so far when listening local CB SSB. For this use receiver is comparable to "real" SSB-receiver. Listening local SSB is testing more like sensitivity on quiet (easy) conditions, I have not much knowledge about strong signals and crowded bands yet.

Antenna is connected to AMin throw 1 uH air-core toroid inductor, and automatic antenna tuning capacitor is enabled. There is no RF-preamplifier, but additional audio level amplifier which is actually operation amplifier with adjustable gain. Yes, si4735 seems to behave like any DC-receiver: to get it sensitive, it needs a lot of audio gain.
My impression is, connecting antenna this way lowers noise level a lot. After that it is possible to increase audio amplification and get more sensitive receiver.

Inductor is connected to antenna input switch, you can see the point if watch carefully. Yellow wire is coming from antenna, it is shielded and shield is connected to ground on ferrite antenna connecting point and "hot" wire to inductor. After passing inductor, signal goes to switch. This connection point is to avoid 33 pf capacitor on shield (it is on ferrite antenna connection line).

Beat frequency from AD9850 is injected with that I-do-not-know-what-this-colour-is-in-english coloured wire twisted on inductor. It is coming from AD9850 and it is not connected from other end. It is like mini end-fed "antenna". I have removed power-setting resistor on AD9850 board, to lower output power. Low power is needed for week stations. (This resistor is connected to pin 12 on datasheet, and called "Rset"). For strongest stations and for lower freqs beat level is not enough, but I have not yet done adjust for that. Too low beat level causes severe distortion on sound when listening SSB.

Inductor is made over empty tape roll, in shape of toroid because I think shape is beneficial in little metallic case and should capture less interference. (I was once trying SPC-tuner like front end for this and noticed, internal interference was key factor for sensitiveness. Usual shaped cylindrical inductor is also ok to use, this toroid is just because I am trouble-lower (=simply and stupid).)
5 turns over roll gives something near 1 uH, because automatic tuner capacitor exact value is not important.

I have tried two methods, results sound quite similar. Both are simulated here. Note that I have mostly guessed input impedance of si4735. Also impedance of antenna is important. It is important NOT to use ferrite antenna connection point, because that 33 pf capacitor. This simple automatic input filter works well in simulation only with 50 or near ohm antenna.

Here are both ways. R1 is estimation of receiver input impedance, AntCap is receivers internal antenna tuning capacitor and 0.47 uF cap is on shield.
Tuning capacitors range is huge, something like 7-6000 pf, if I get datasheet right. This means in principle 1 uH inductor is ok at lower freqs also...I bet Q of this cap is not superb.
Notice: There is lot of uncertainties on these rough simulations. Anyway in real life circuits have showed some good behavior on higher frequencies.

If connected this way, it seems to be 0.2 uH inductor is fine.

Final note: on arduino library I use for si4735, antenna tuning capacitor is ON when receiver is on "AM.mode" it is meant for ferrite antenna, and OFF when library is on "SW-mode", it is for whip antenna. I have just adjusted tuning limits for both modes to be 100 - 30000 khz, and when AntCap is on use, I simply use "AM-mode" instead SW.

Tuning over limits

SI4735 can be tuned to 10 meter band just by altering band limits at si4735.arduino library.... I have not yet tried how low it can be tuned...also I have no idea how good or bad receiver it is at 10m. But certainly it is receiving! My chip seems to be SI4735-C40.

Picture: "Bandscope" is subprogram showing scanned signals visually on tuning dial. This is 1 megahertz wide chunk of HF-spectrum. Signals on middle are from 16 meter broadcast band. Spikes on right are from 17 meter amateur band. Little triangle on bottom of dial is showing where SI4735 is tuned.
Bandscope can show either signal strength or measured S/N value.
"1 Khz" Indicates tuning step (tuning is done with rotary encoder).
Another use of bandscope is shown at general filter design, checking filter affect.
While doing this subrogram, I started to consider of updating to color screen, to show S/N valures with color along with signal strength. (Also this LCD have missed one column of pixels on middle , annoying.)


Here geegy little machine is used for trying this out. Connected to GLM with serial. Teensy 3.1 works as some kind of graphic controller on this setup. Usability is great.

A pray for Sparkfun...

SI4735-chip is also available with SSB-firmware patch. I have not seen them on sale anywhere. So I made a pray for Sparkfun. Hope it will be heard....

Receiving SSB trafic with si4735 -chip and ad9850 as "beat oscillator".

I have succeeded to receive voice ssb with si4735 receiver in sw-mode, and injecting some "beat" signal from ad9850. (Injecting here means only, that I keep AD9850 running near receiver. There is no connection between chips output and receiver. Instead of connection AD9850-board have to be shielded to avoid too strong "beat". Obviously low pass filter on board gives guite a lot of radiation :)
Also I have received weatherfax with fldigi. I can see there are some unwanted images of signal on waterfall, but anyway it works.

When compared to my old humble kenwood ts-50, barely readable ssb-signal, received with ts-50 (just understandable signal, 0 at s-meter) at 27.285Mhz (CB 28, local chatchannel) is barely audible at Si4735 without any frontend, antenna tuning, fine tuning etc. So it is not so bad, but there is nothing guaranted. Except fact it works over frequency limits stated at datasheet. (26.1Mhz If I remember right.)

I have used this hack with adjustable preamplifier and general filter and it acts very much like decent receiver. Sound quality is not super, it often sounds a bit distorted at SSB. Also I suspect that in many cases preamplifier is needed really to have enough volume, not to get enough signal. So the filter may be needed to avoid overloading preamplifier. There is lot to explore to find limiting factor, the weakest link.


When SI4735 is used with "beat oscillator", it does not have image rejection against "beat". This means that received signals are doubled, and in many digital modes (and SSB voice) you have to pick right one signal, another is upside down in audio and therefore unusable. Like THOR-transmission may look fine but is just not decodable...then it is time to switch on another side on "beat".
This means also all signals from wrong side of "beat" appear to audio, selectivity is poor. So it acts like simple DC-receiver.
I have tried to place "beat" at side of received channel. For example put AD9850 to 28.500.000 , and receiver to 28.502 in order to receive USB at (dial) 28.500.000. It works, but for some reason SI4735 acts kind of wide receiver: there is not much difference if reciever is tuned to 28.500 or 28.505. In normal Am mode SI4735 sounds like reasonable selective receiver, but in SSB I have not get it so. Also SI4735 selectable channel filters, from 1 to 6 khz, doesnt work here as expected. On normal AM they works well.
I have disapled AFC but get no better results.
I have not taked SI4735 in full controll yet. Still work to do with AGC and so on to be sure.

Quit interestingly some never members of SI47 receivers have digital I/Q output.

Digital hazle from Arduino Mega 2560

Receiver board (visible in picture here) is meant for UNO and similar boards. For Mega it have to be connected with wires. On higher frequencies rf interference from Mega board is very significant.
Problem is solved by keeping Mega at sleep mostly. It only wakes up by interrupts caused by rotary encoder. (And what effect of this encoder have, depends what button is hold down while rotating encoder.)
This reduces interference. On 10 meter you can not hear "normal" atmospheric noise from receiver unless Mega is on sleep mode, only digital hazzle,

Finetuning with altering PROP_REFCLK_FREQ. "Finetuning step" here means altering value 1 hz.

- Do not care too much of this section. it seems finetuning is not necessery , I have not get (yet) any benefit by finetuning for SSB-reception. it seems finetuning indeed works in AM, SSB is still under construction and I do not know what affects where...

I have tried to "finetune" si4735 by altering "property reference clock frequency"
At the moment I think it is most likely not needed to finetune si4735 to receive ssb. I have not get better signal after finetuning.

Normally receiver shield have xtal of 32768hz (normal clock xtal) which is referency frequency of receiver pll and local oscillator.
We could of course try to finetune this crystal a little, or use some dds-chip as frequency source instead of this xtal.

BUT we actually dont have to change xtal frequency to get same effect. It is bossible to alter frequency of receivers local oscillator, by putting a bit "false" information of frequency of xtal to chip, it is programmable "variable". We can lie to si4735 about that xtal frequency and receiver will (magically) tune to a little bit different frequency.
This kind of finetune obviously works (I can hear receiver tuning a bit when this property is altered).
I have not find precise information of how PLL of si4735 exactly works. At the moment I suppose that altering nominal frequency of xtal affect local oscillator freguency linear way (1% change at reference freq means 1% change at local oscillator frequency).
Some quick tries just by listening tuning with "finetune" and normal tuning seems to show, that it is so. But it is not proven!

Example at 10mhz: freq is 10 000 000hz.
After altering reference freq "variable" 1hz, it would be 10 000 000 + (32768/32769 x 10 000 000) = 9 999 694hz, difference about 300 hz. (This is not proven)

How much does altering value 1 hz affect of receiving frequency.?
At 1000khz 5 khz tuning (2khz filter) sound roughly as hundreds of finetuning steps (300?) 17hz/step 0.000017
%shoud be 30 hz
At 6100 khz 10 khz tuning (2khz filter) is about same as 60 step finetuning. 166hz/step, 0.000027
% should be 190 hz
My gues is, that "finetuning step" is much smaller in lower freqs. This may mean that we can not make precize finetuning at 10 meter band, step maybi 850 hz at 28Mhz.

BUT I could first tune up 1khz, then down 850hz with "finetune", to get up 150 hz.
Then up 2 khz, and down 2X850hz to get up 300 hz.
Up 4 khz and down 4x850 hz to get 600hz up....
It may be reasonable to change fine tuning logic to this complex tuning at somewhere 10Mhz..