Sunday, June 20, 2021

ATS-20 Si4732 receiver firmware update

I recently purchased a nifty shortwave and FM receiver from AliExpress built around an Arduino Nano and Si4732.

I pulled mine apart to try to see if there was a label that would provide a clue about which version to write it it - there isn't. A tip: you can just undo the top screws front and back to get the lid off. Watch the speaker connected by short wires

On power on, it displayed V1.1.5 of the library by PU2CLR. After upgrade it now shows 3.04.

I followed the instructions on but used Arduino 1.8.13 on macOS just fine.

Basically the steps are:

  • Select Arduino Nano
  • Select ATMega 328P (Old boot loader)
  • Install libraries:
    • SI4735
    • Tiny4kOLED
    • TinyOLED-Fonts (it's a dependent)
As well as plugging in to the Nano I had to power on the radio to program it.

The source code is available here. For my hardware, I found the version titled "SI473X_ALL_IN_ONE_OLED_RDS_CHINESE_V3" was the one that matched the buttons on my front panel.

In the source code of the sketch there are some settings to adjust if you like such as default volume.

Before upgrade here's the splash screen:

After the update it looks like this:

The display in operation is a bit different too.

It's quite a sensitive receiver and sideband works pretty well. Here's an example.

There is no bandpass filtering on the input so it would probably be overloaded if connected to a broadband antenna. It's wonderful to have the source code to play with - all credit to PU2CLR.


Unknown said...

It's interesting how the received audio drops when you increment the VFO. Any ideas why this might be happening?

Unknown said...

Question: Is there a short description of what the display is showing?
Example: Last or bottom line of the display shows:
BW:4KHz. 45. S:3 100%

Understand the BW, & 45. What does the S:3 mean? What does the 100% mean?

Thanks in Advance,
Tom &

Peter Marks said...

Hi Tom,

I think the firmware is based on this repository:

BW is bandwidth.
S:3 is signal strength in a logarithmic scale.

Not sure about 100%, I'll have a play and get back to you.



zenlaboratory said...

Peter, when I try to verify/compile project I get an error with patch_ssb_compressed.

Arduino:1.8.19 (Windows 10), Tarjeta:"Arduino Nano, ATmega328P (Old Bootloader)"

SI473X_ALL_IN_ONE_OLED_RDS_CHINESE_V8:87:10: fatal error: patch_ssb_compressed.h: No such file or directory

#include // Compressed SSB patch version (saving almost 1KB)


compilation terminated.

exit status 1

patch_ssb_compressed.h: No such file or directory

My receiver is an ATS20 PLUS.

Can you help me please?

Thank´s in advance.

Mike said...

I had this same problem, for myself I found two different solutions fairly the SI4735-master folder are the patch files...

1-you can cut and paste into the folder containing the arduino example file you want to run
2-you can open the files from arduino using library examples, in other words in arduino IDE go to file->examples->PU2CLR SI4735 -> choose an example, these examples in the actual library already have the approrpiate patch added.

hopefully that helps.

Miguel Oyarzabal said...

Alguém tem o esquema?