Wednesday, March 05, 2025

Si4732 Mini Receiver gets better firmware

At AU$33 I couldn't resist ordering one of these little all band receivers with sideband.


Putting aside the speaker, which is so tiny as to be a joke, it does actually work rather well. Plugging in headphones or a powered speaker and you have a reasonable radio. However, the operation is quite annoying. The single knob with centre push must be double pressed to bring up a menu to choose things including volume by scrolling up and down.

A large part of the excellent screen is taken up with a silly dial display. Happily clever people have created improved firmware that makes better use of the screen and makes it more pleasant to use.


The device has an ESP32-S3 and the improved firmware is available here: https://github.com/G8PTN/ATS_MINI/

I'm using version 1.0. I tried, and failed, to flash it with esptool.py, so relented and used the Windows only Flash Download Tool from Espressif from here: https://docs.espressif.com/projects/esp-test-tools/en/latest/esp32/production_stage/tools/flash_download_tool.html

Run it and choose the ESP32-S3 and USB:


Then select the three files and enter the memory addresses like this (click to enlarge):


Note that you must use the "..." buttons and choose the files from your own downloaded and unzipped files. The offsets are 0x0, 0x8000, 0x10000.

When plugged in via the USB-C port and powered on, my radio came up as COM4 but yours might be different.

Click the Start button. When it finished, unplug the radio, power it off and on again. If all went well, it will show the version number. The first time I powered on I long pressed the encoder to wipe the flash.


There is at least one video showing this process but I find reading a web page a much better way to find out this stuff than watching a video.

The software is written using the Arduino platform and the ATS_MINI.ino file gives lots of technical information about the configuration of the radio including the display which is a TFT-eSPI device.

A wonderful open source contribution.

------------------------------------------------------------------------------------------
ATS_MINI
------------------------------------------------------------------------------------------
This firmware is for use on the SI4732 (ESP32-S3) Mini/Pocket Receiver
Based on the following sources:
Ralph Xavier: https://github.com/ralphxavier/SI4735
PU2CLR, Ricardo: https://github.com/pu2clr/SI4735
Goshante: https://github.com/goshante/ats20_ats_ex
------------------------------------------------------------------------------------------
G8PTN, Dave (2025)


Using esptool to flash the firmware

I had a shot at building the software in the Arduino IDE but ended up bricking the device. The Windows flash download tool was unable to write to it, even though the serial device was visible. Reading up on how other people got over this they recommended esptool which I used on the Mac and was able to get it running again.

 % esptool.py --chip esp32-S3 -p /dev/tty.usbmodem101 write_flash -z 0x10000 ATS_MINI.ino.bin 

esptool.py v4.8.1

Serial port /dev/tty.usbmodem101

Connecting...

Chip is ESP32-S3 (QFN56) (revision v0.2)

Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)

Crystal is 40MHz

MAC: e8:06:90:a8:26:38

Uploading stub...

Running stub...

Stub running...

Configuring flash size...

Flash will be erased from 0x00010000 to 0x0006dfff...

Compressed 381552 bytes to 222197...

Wrote 381552 bytes (222197 compressed) at 0x00010000 in 2.8 seconds (effective 1082.1 kbit/s)...

Hash of data verified.


Leaving...

Hard resetting via RTS pin...


There is a PDF in the zipped firmware file that contains lots of information about the capabilities.

In the top bar there are two circular indicators. The first one flashes green each time the screen is updated. The second one flashes red each time settings are written to EEPROM. Saving settings happens about ten seconds after a change so delay turning the receiver off until you see the red flash or it will forget your latest setting change.

I see there is a version 1.0.1 now.

No comments: