Le mini-récepteur ATS Si4732 est un récepteur SDR portable basé sur l’ESP32, couvrant les bandes FM (64–108 MHz), AM/MW (520–1710 kHz), SW (1.7–30 MHz) et SSB (LSB/USB).
Il intègre un écran couleur, un encodeur rotatif, une interface web via Wi-Fi, et une mémoire EEPROM pour les réglages.
La sensibilité est excellente, typiquement autour de 1 µV pour les bandes AM/SW et 0.5 µV en FM.
Compact et autonome, il est idéal pour l’écoute des ondes courtes, la radio amateur et les passionnés de DX.
Dans cet article, nous allons voir comment sauvegarder le firmware original d’un microcontrôleur ESP32-S3 et comment y flasher un nouveau firmware, le tout en ligne de commande sous Linux.
Cette procédure est essentielle si vous souhaitez tester un firmware personnalisé tout en gardant la possibilité de revenir à l’état initial.

https://s.click.aliexpress.com/e/_omffmXW
Mise à jour du firmware 2.28 – Mini-récepteur ATS Si4732
La version 2.28 du firmware pour le mini-récepteur ATS Si4732 apporte de nombreuses améliorations qui rendent l’appareil plus performant et plus agréable à utiliser.
Parmi les nouveautés les plus importantes :
- Recherche de stations plus efficace grâce à une meilleure sensibilité.
- Correction d’un bug sonore : les « clics » bruyants lors des changements de bande ou de mode ont été éliminés, en particulier sur les versions du PCB sans circuit de coupure audio.
Un nouveau mode de saisie directe de la fréquence fait également son apparition. Il permet d’utiliser l’encodeur rotatif pour sélectionner le pas (chiffre ou demi-chiffre) puis régler précisément la fréquence. Une courte pression aligne la fréquence sur le pas choisi. Ce mode se désactive automatiquement après quelques secondes ou en appuyant à nouveau.
Autres améliorations notables :
- Choix de la désaccentuation FM (50 µs ou 75 µs) selon la région.
- Affichage de l’adresse MAC sur l’interface web.
- Option RDS ALL-CT activable pour privilégier l’heure RDS au lieu du Wi-Fi.
- Sauvegarde et restauration de l’EEPROM via l’interface web (restauration possible uniquement avec les versions compatibles).
- Nouvelle interface graphique avec grand S-mètre et indicateur S/B.
- Réglage du décalage UTC pour ajuster l’heure (qu’elle provienne du RDS ou du NTP).
- Possibilité d’inverser le sens de défilement des menus.
- Ajout du SNR (rapport signal/bruit) dans la console série.
- Retour expérimental de la gestion automatique du condensateur d’antenne sur les bandes FM, MW et 160M, comme dans les anciennes versions.
- Le raccourci clavier de volume n’est plus actif globalement : il ne fonctionne désormais qu’en mode VFO.
- Coupure totale du haut-parleur lorsqu’il est désactivé.
- Seuils RSSI et SNR ajustés pour améliorer la recherche FM/AM.
- L’éditeur de thème peut maintenant être activé/désactivé depuis la console série avec la touche T, sans recompilation du firmware.
Ces évolutions rendent le récepteur plus stable, plus fluide à utiliser et encore plus complet.
Version en ligne (non testé)
🔗 Fichiers du firmware
🔧 Outil de flash en ligne (Chrome) ❗Ne fontionne pas sur Firefox !

Version manuelle
Avant de commencer, assurez-vous d’avoir les éléments suivants :
- Un ATS Si4732 connecté à votre PC via un câble USB
- Un système Linux (Ubuntu, Debian ou équivalent)
- Python 3 installé
- curl,
esptool
, installés :
Avant toute opération de flash, il est vivement recommandé de réaliser une sauvegarde du firmware d’origine.
Cela vous permettra de restaurer votre ESP32-S3 à son état initial en cas de problème ou si vous souhaitez revenir à la version précédente du logiciel embarqué.
Installation de uv
via un script automatique qui utilise curl
pour télécharger le script d’installation et l’exécuter avec sh
:
curl -LsSf https://astral.sh/uv/install.sh | sh
qui donne
downloading uv 0.8.0 x86_64-unknown-linux-gnu
no checksums to verify
installing to /home/f4hxn/.local/bin
uv
uvx
everything's installed!
To add $HOME/.local/bin to your PATH, either restart your shell or run:
source $HOME/.local/bin/env (sh, bash, zsh)
source $HOME/.local/bin/env.fish (fish)
cd .local/bin
ls
donne
env env.fish uv uvx
Branchez ATS Si4732 via le cable USB
Configuration des permissions série :
# Ajouter l'utilisateur au groupe dialout
sudo usermod -a -G dialout $USER
# Vérifier que le groupe a été ajouté
getent group dialout
# Appliquer les nouveaux groupes (ou redémarrer la session)
newgrp dialout
# Vérifier vos groupes actuels
groups
Identifier le port série
# Lister tous les ports série
ls -la /dev/tty*
# Chercher spécifiquement les ports ACM/USB
ls -la /dev/ttyACM*
ls -la /dev/ttyUSB*
# Vérifier les périphériques USB
lsusb
crw-rw---- 1 root dialout 166, 0 juil. 22 22:40 /dev/ttyACM0
Sauvegarde du firmware original
# Sauvegarder tout le contenu flash (ATTENTION : peut prendre plusieurs minutes)
./uvx --from esptool esptool --chip esp32s3 --port /dev/ttyACM0 --baud 921600 read-flash 0x0 ALL original-flash.bin
Connected to ESP32-S3 on /dev/ttyACM0:
Chip type: ESP32-S3 (QFN56) (revision v0.2)
Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 8MB (AP_3v3)
Crystal frequency: 40MHz
USB mode: USB-Serial/JTAG
MAC: fc:01:2c:d2:49:18
Stub flasher running.
Changing baud rate to 921600...
Changed.
Detected flash size: 16MB
Configuring flash size...
Reading from 0x00001000 [ ] 0.0% 4096/16777216 byReading from 0x00002000 [ ] 0.0% 8192/16777216 byReading from 0x00003000 [ ] 0.1% 12288/16777216 bReading from 0x00004000 [ ] 0.1% 16384/16777216 bReading from 0x00005000 [ ] 0.1% 20480/16777216 bReading from 0x00006000 [ ] 0.1% 24576/16777216 bReading from 0x00007000 [ ] 0.2% 28672/16777216 bReading from 0x00008000 [ ] 0.2% 32768/16777216 bReading from 0x00009000 [ ] 0.2% 36864/16777216 bReading from 0x0000a000 [ ] 0.2% 40960/16777216 bReading from 0x0000b000 [ ] 0.3% 45056/16777216 bReading from 0x0000c000 [ ] 0.3% 49152/16777216 bReading from 0x0000d000 [ ] 0.3% 53248/16777216 bReading from 0x0000e000 [ ] 0.3% 57344/16777216 bReading from 0x0000f000 [ ] 0.4% 61440/16777216 bReading from 0x00010000 [ ] 0.4% 65536/16777216 b
Flash du nouveau firmware
# Aller dans le dossier contenant les fichiers
cd /home/.local/bin/
# Vérifier les fichiers disponibles
ls -la
env env.fish original-flash.bin uv uvx
Rendez vous sir le la page GitHub du projet : https://github.com/esp32-si4732/ats-mini/releases
Telecharger : ats-mini-v2.28-ospi.zip
Decompresser le zip
unzip etats-mini-v2.28-ospi.zip -d ~/.local/bin
Verifier la présence des fichiers
ls
ats-mini.ino.bin original-flash.bin
ats-mini.ino.bootloader.bin ats-mini-v2.28-ospi.zip uv
ats-mini.ino.merged.bin CHANGELOG.md uvx
ats-mini.ino.partitions.bin env
ats-mini-v2.28-ospi env.fish
C’est l’heure du flashage
# Flasher le fichier merged (tout-en-un)
./uvx --from esptool esptool --chip esp32s3 --port /dev/ttyACM0 --baud 921600 write-flash 0x0 ats-mini.ino.merged.bin
./uvx --from esptool esptool --chip esp32s3 --port /dev/ttyACM0 --baud 921600 write-flash 0x0 original-flash.bin
esptool v5.0.1
Connected to ESP32-S3 on /dev/ttyACM0:
Chip type: ESP32-S3 (QFN56) (revision v0.2)
Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 8MB (AP_3v3)
Crystal frequency: 40MHz
USB mode: USB-Serial/JTAG
MAC: fc:01:2c:d2:49:18
Stub flasher running.
Changing baud rate to 921600...
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00ffffff...
Compressed 16777216 bytes to 1027326...
Writing at 0x00000000 [ ] 0.0% 0/1027326 bytes...Writing at 0x000106b2 [ ] 1.6% 16384/1027326 byteWriting at 0x0001c4e4 [ ] 3.2% 32768/1027326 byteWriting at 0x0002a14c [> ] 4.8% 49152/1027326 byteWriting at 0x000339aa [> ] 6.4% 65536/1027326 byteWriting at 0x0003c9a6 [=> ] 8.0% 81920/1027326 byteWriting at 0x000444ee [=> ] 9.6% 98304/1027326 byteWriting at 0x000540a5 [==> ] 11.2% 114688/1027326 bytWriting at 0x00061af5 [==> ] 12.8% 131072/1027326 bytWriting at 0x00067d8d [===> ] 14.4% 147456/1027326 bytWriting at 0x0006d9c6 [===> ] 15.9% 163840/1027326 bytWriting at 0x000734ba [====> ] 17.5% 180224/1027326 bytWriting at 0x00079274 [====> ] 19.1% 196608/1027326 bytWriting at 0x0007eea8 [=====> ] 20.7% 212992/1027326 bytWriting at 0x00084667 [=====> ] 22.3% 229376/1027326 bytWriting at 0x0008a675 [======> ] 23.9% 245760/1027326 bytWriting at 0x000903b4 [======> ] 25.5% 262144/1027326 bytWriting at 0x00096644 [=======> ] 27.1% 278528/1027326 bytWriting at 0x0009c365 [=======> ] 28.7% 294912/1027326 bytWriting at 0x000a1fd8 [========> ] 30.3% 311296/1027326 bytWriting at 0x000a7a15 [========> ] 31.9% 327680/1027326 bytWriting at 0x000ad3fc [=========> ] 33.5% 344064/1027326 bytWriting at 0x000b2e02 [=========> ] 35.1% 360448/1027326 bytWriting at 0x000b8845 [==========> ] 36.7% 376832/1027326 bytWriting at 0x000bd8b4 [==========> ] 38.3% 393216/1027326 bytWriting at 0x000c2cfd [==========> ] 39.9% 409600/1027326 bytWriting at 0x000c80da [===========> ] 41.5% 425984/1027326 bytWriting at 0x000cd5fb [===========> ] 43.1% 442368/1027326 bytWriting at 0x000d2dde [============> ] 44.7% 458752/1027326 bytWriting at 0x000d7ff0 [============> ] 46.2% 475136/1027326 bytWriting at 0x000dd271 [=============> ] 47.8% 491520/1027326 bytWriting at 0x000e2bfa [=============> ] 49.4% 507904/1027326 bytWriting at 0x000e7df8 [==============> ] 51.0% 524288/1027326 bytWriting at 0x000ed1e8 [==============> ] 52.6% 540672/1027326 bytWriting at 0x000f2288 [===============> ] 54.2% 557056/1027326 bytWriting at 0x000f7c8d [===============> ] 55.8% 573440/1027326 bytWriting at 0x000fd7c5 [================> ] 57.4% 589824/1027326 bytWriting at 0x0010307f [================> ] 59.0% 606208/1027326 bytWriting at 0x0010804a [=================> ] 60.6% 622592/1027326 bytWriting at 0x0010d0e8 [=================> ] 62.2% 638976/1027326 bytWriting at 0x0011289b [==================> ] 63.8% 655360/1027326 bytWriting at 0x00117f13 [==================> ] 65.4% 671744/1027326 bytWriting at 0x0011d3c8 [===================> ] 67.0% 688128/1027326 bytWriting at 0x001225e5 [===================> ] 68.6% 704512/1027326 bytWriting at 0x0012746b [====================> ] 70.2% 720896/1027326 bytWriting at 0x0012c7ac [====================> ] 71.8% 737280/1027326 bytWriting at 0x001318de [=====================> ] 73.4% 753664/1027326 bytWriting at 0x00136c49 [=====================> ] 75.0% 770048/1027326 bytWriting at 0x0013bc35 [=====================> ] 76.6% 786432/1027326 bytWriting at 0x00140e85 [======================> ] 78.1% 802816/1027326 bytWriting at 0x00146de7 [======================> ] 79.7% 819200/1027326 bytWriting at 0x0014c909 [=======================> ] 81.3% 835584/1027326 bytWriting at 0x00151fc3 [=======================> ] 82.9% 851968/1027326 bytWriting at 0x00157691 [========================> ] 84.5% 868352/1027326 bytWriting at 0x0015f8a6 [========================> ] 86.1% 884736/1027326 bytWriting at 0x00168a72 [=========================> ] 87.7% 901120/1027326 bytWriting at 0x0016e825 [=========================> ] 89.3% 917504/1027326 bytWriting at 0x00173845 [==========================> ] 90.9% 933888/1027326 bytWriting at 0x001793cd [==========================> ] 92.5% 950272/1027326 bytWriting at 0x0017e87c [===========================> ] 94.1% 966656/1027326 bytWriting at 0x0018465b [===========================> ] 95.7% 983040/1027326 bytWriting at 0x0018a0ad [============================> ] 97.3% 999424/1027326 bytWriting at 0x004c3589 [============================> ] 98.9% 1015808/1027326 byWrote 16777216 bytes (1027326 compressed) at 0x00000000 in 51.2 seconds (2623.3 kbit/s).
Hash of data verified.
Hard resetting via RTS pin...
Restauration du firmware original (si nécessaire)
# Restaurer le firmware d'origine
./uvx --from esptool esptool --chip esp32s3 --port /dev/ttyACM0 --baud 921600 write-flash 0x0 original-flash.bin
Commandes essentielles récapitulatives
# Sauvegarde
./uvx --from esptool esptool --chip esp32s3 --port /dev/ttyACM0 --baud 921600 read-flash 0x0 ALL original-flash.bin
# Flash du nouveau firmware
cd /home/polo/ats/
./uvx --from esptool esptool --chip esp32s3 --port /dev/ttyACM0 --baud 921600 write-flash 0x0 ats-mini.ino.merged.bin
# Restauration (si nécessaire)
./uvx --from esptool esptool --chip esp32s3 --port /dev/ttyACM0 --baud 921600 write-flash 0x0 original-flash.bin

Bonus
Se connecter à l’ATS en Wi-Fi
Connectez votre appareil au Wi-Fi de l’ATS.

Ouvrez votre navigateur et entrez l’adresse suivante : 10.1.1.1

Connexion réussie !

Contrôle de plusieurs paramètres disponible !

Vous avez même la possibilité de programmer les canaux mémoire.