Vai al contenuto
ATS Mini Controller
Offline
Radio + appFirmware & recovery7 min di lettura

Installing firmware on the ATS Mini

Which of the three firmware builds your ATS Mini needs, how to tell an OSPI board from a QSPI one, and four ways to write it — starting with the installer on this site.

Every ATS Mini firmware release ships three archives, and only one of them belongs on your radio. Nothing inside the images says which is which, so picking the right one is the part worth getting right — the writing itself is the easy half. The firmware installer on this site reads the answer off the chip, and a mismatched archive is refused unless you deliberately override it; this page explains what it is checking, and how to do the same by hand.

Three archives, one of them yours

A release publishes an ospi archive, a qspi archive and a lilygo-t-embed archive. Each one expands to a single folder named ats-mini-v<version>-<variant> — for example ats-mini-v2.38-ospi. That folder name is the only reliable marker of what is inside.

It has to be, because the images themselves barely differ. The bootloader and the partition table are byte-identical across all three archives — confirmed here by hashing them. Only ats-mini.ino.bin, the application image, changes, and it changes by roughly 2 kB of PSRAM driver configuration. That is the whole difference between the builds, and it is why a loose .bin separated from its folder can never be traced back to the hardware it was meant for.

OSPI or QSPI: telling them apart

The two ATS Mini builds differ only in how the ESP32-S3 module’s PSRAM is wired: octal (OSPI), 8 MB, or quad (QSPI), 2 MB. Same board otherwise, same radio chip, same display, and nothing on the outside tells them apart — the question comes up often enough that the firmware project has a discussion thread titled “OSPI vs QSPI: How can I see what I have?”.

The installer does this in its second step: it reads the PSRAM capacity out of the chip’s eFuse and names the build the board needs. To check by hand, run esptool flash-id (flash_id on esptool 4.x) and read the Features: line. An 8 MB reading means OSPI, a 2 MB reading means QSPI. The first direction is the firmware maintainer’s own, from the project’s discussion #174: “Embedded PSRAM 8MB … is only available via OSPI”; the second was checked against a QSPI radio while this page was written — capacity code 2, reported as Embedded PSRAM 2MB. Read the capacity, never the vendor: the same vendor string (AP_3v3) turns up on both an 8 MB and a 2 MB part, so it tells you nothing about which build you need.

There is a third check, but only after the fact: on a radio that already boots, Menu → Settings → About shows a PSRAM figure, and that figure is non-zero when the running build matches the hardware. Useful for confirming you got it right; no help at all in choosing, since it needs working firmware to read.

Installing from this site

The firmware installer writes to the radio over its USB cable from the browser, with nothing to install. It needs the same Chromium-based browser the controller needs, and a data-capable USB-C cable — see Connecting your ATS Mini. Five steps:

  1. Connect over USB. You pick the radio’s port in the browser’s chooser. If the controller is already connected over USB, that connection is closed and the port handed over.
  2. Identify the hardware. The app reads the chip and its PSRAM capacity, and names the build this board needs. This is the step everything else depends on.
  3. Download the matching release. The live release list from the firmware project, with the archive that matches your board marked and the ones that do not flagged as mismatches.
  4. Load and verify the image. Drop the archive back in. The app reads the version and variant out of the folder name and compares them with what step 2 found. A mismatch is refused unless you deliberately override it.
  5. Back up, then write. Read a copy of the current flash first, choose three-file or merged, accept the risk, write.

The archive is read in the browser and never uploaded anywhere. Bluetooth cannot do any of this: the ESP32-S3’s bootloader is only reachable over the USB serial link, so the radio has to be on a cable.

Two things to do once the write finishes

Neither is optional, and skipping the second one looks exactly like a failed flash: the radio works, and the app cannot see it.

  1. Switch the radio off and on. The installer asks the chip to restart itself when the write completes, but that request travels on a control line the board has to wire up, and not every one does. Where it is not wired the request still succeeds and the radio simply stays on the flasher until you power it off. A dark screen after a write is not a failed write.
  2. Set USB Port → Ad hoc on the radio again. From firmware 2.34 the USB remote interface is off by default. A merged write always clears that setting, and a three-file write can. Until you switch it back on the radio ignores the app completely — see Connecting your ATS Mini.

What goes where

An archive contains a CHANGELOG.md and four images. You write either the first three at their own addresses or the fourth on its own — never both.

FileFlash addressWhat it is
ats-mini.ino.bootloader.bin0x0The bootloader
ats-mini.ino.partitions.bin0x8000The partition table
ats-mini.ino.bin0x10000The firmware itself
ats-mini.ino.merged.bin0x0The three above combined into one image

The choice is not only about convenience. The merged image is 8 MB, and about 6.3 MB of it is padding — the real payload is around 1.7 MB. Writing it covers the entire flash chip, including the region where the radio keeps its own settings, so the merged write always resets them. The three-file write transfers only the payload, roughly 1.7 MB, and leaves everything outside those three regions alone, so your settings usually survive.

Doing it without this site

The firmware project documents three routes of its own, and all three want the same files at the same addresses. Use one of these if you would rather work with the tool the firmware authors use — and the last two if your browser has no Web Serial at all.

esptool-js, in a browser
Espressif’s own web flasher at espressif.github.io/esptool-js. Connect, add the files at their addresses, press Program, and wait for Leaving... Hard resetting via RTS pin... in the log. Windows, macOS and Linux; Chromium-based browsers only, the same limit this site has.
Flash Download Tool, on Windows
Espressif’s desktop tool. Chip Type ESP32-S3, WorkMode Develop, LoadMode UART; add the files, tick the box next to each one, set the COM port, press START. It is finished when the log says is stub and send flash finish.
esptool.py, on the command line
One command with --chip esp32s3 and --baud 921600, then the addresses and file names. The firmware documentation gives the exact line for both the three-file and the merged route.

Whichever you use, power the radio off and back on afterwards, then check Menu → Settings → About for the version — and for that non-zero PSRAM figure.

Before you write anything

  • Take a backup. It is the only way back to the firmware the radio has now, and you can only take one while it still runs. Firmware backup and recovery covers it.
  • Use a data cable, and keep the radio powered. An interrupted write is the failure that turns a five-minute job into a recovery job.
  • Look for BOOT and RESET buttons on the board before you start, not after. With them, forcing the radio to listen to a flasher is a two-button sequence; without them it is considerably more awkward.
  • Do not flash the T-Embed archive to an ATS Mini.

What a new version actually changes for you is in Firmware versions — the 2.34 threshold for Bluetooth and fast tuning, and the CB band range that gets narrower when you cross it. If you are considering something other than the official firmware, start at Alternative firmware.

Accessori consigliati

  • Short USB-C data cableAccessoryA charge-only lead powers the radio but never shows it to the flasher — and a cable that drops mid-write is the one failure that needs a recovery flash.

Domande frequenti

How do I know whether my ATS Mini needs the OSPI or the QSPI firmware?
It depends on the PSRAM on the ESP32-S3 module. An 8 MB reading means the OSPI build and a 2 MB reading means the QSPI build; both directions have been checked against real radios. Read the capacity rather than the vendor, because the same vendor string appears on parts of both sizes. The installer on this site reads the capacity off the chip and tells you which build it points to. By hand, run esptool flash-id, or flash_id on esptool 4.x, and read the Features line. On a radio that already boots, Menu → Settings → About shows a non-zero PSRAM figure when the running build matches the hardware.
Can I tell which firmware variant a .bin file is for?
No. The bootloader and the partition table are byte-identical across all three release archives, and the application image differs by only about 2 kB of PSRAM configuration. The name of the folder inside the release archive, such as ats-mini-v2.38-ospi, is the only reliable marker, which is why a loose .bin separated from that folder cannot be checked against your hardware by any tool.
Will flashing new firmware erase my memory channels and settings?
The merged image always does: it spans the whole flash chip, including the region the radio stores its settings in. The three-file write transfers only the bootloader, partition table and firmware, so the settings usually survive — but the firmware documentation notes they might still be reset in some versions, so treat it as likely rather than certain.
What are the flash addresses for ATS Mini firmware?
The bootloader goes at 0x0, the partition table at 0x8000 and the firmware itself at 0x10000. Official archives also carry boot_app0.bin for 0xe000, which makes the radio start the firmware just written even if an earlier Wi-Fi update left it starting the other app slot; the installer writes it with the three files. The merged image, which contains all three, goes at 0x0 on its own. You write either the three separate files or the merged image, never both.
What is the lilygo-t-embed archive for?
The LILYGO T-Embed SI4732, which is a different receiver rather than a third PSRAM variant of the ATS Mini. The firmware project warns that flashing it to an ATS Mini can damage the receiver, so it should never be used on one.
Do I need to install anything to flash an ATS Mini?
No. The installer on this site and Espressif’s esptool-js both run in the browser over the USB cable, with nothing to install. Desktop alternatives exist — the Flash Download Tool on Windows, and esptool.py on the command line — and they write exactly the same files to exactly the same addresses.

Altro

Dispositivo

Esplora

Impostazioni

Tema

Benvenuto in ATS Mini Controller

Questa web app si connette alla tua radio ATS Mini via USB o Bluetooth LE e ti permette di controllarla direttamente da un computer o da un telefono. Aggiunge sintonia remota, gestione degli slot di memoria, cattura di screenshot, streaming audio, scansione dello spettro, modifica dei temi e altre funzioni in aggiunta al firmware integrato del dispositivo.

Firmware 2.34+: scegli un metodo di connessione

A partire dal firmware 2.34 la radio accetta il controllo remoto via USB o Bluetooth LE. Scegli in base a cosa conta di più per te: screenshot veloci (USB) o audio pulito dall’uscita da 3,5 mm della radio (Bluetooth) — i due trasporti hanno pregi opposti.

  • USB Serial

    Settings USB Port cambia Off in Ad hoc

    Funziona in qualsiasi browser basato su Chromium. Richiede un cavo USB-C con linee dati (si apre in una nuova scheda).

    Ideale per screenshot e lavoro sui temi. I trasferimenti si completano in uno o due secondi. La cattura audio è rumorosa mentre il cavo è collegato — alla radio manca il filtraggio necessario per isolare l’uscita da 3,5 mm dalla linea di alimentazione USB, quindi ronzio e rumore di commutazione finiscono nel percorso audio.

  • Bluetooth LE

    Settings Bluetooth imposta la modalità su Ad hoc

    Chrome / Edge / Opera su desktop o Android. Il BLE è sperimentale nel firmware 2.34.

    Ideale per un audio pulito. Il Bluetooth LE trasporta solo il controllo remoto, mai l’audio: il suono passa comunque via cavo dall’uscita da 3,5 mm della radio al computer. Senza cavo USB collegato la radio funziona a batteria, quindi quell’uscita resta libera dal rumore della linea di alimentazione USB che filtra nella connessione via cavo. Gli screenshot sono molto più lenti (~30 s) a causa del limite di throughput BLE del firmware.

Più di un firmware

Oltre al firmware ufficiale, l’app include profili per il fork Monster e per il firmware di H. J. Berndt. Capisce da sola quale sia installato dalle risposte della radio, quindi non c’è nulla da scegliere. Quando non corrisponde a nessuno, lo dice invece di tirare a indovinare.

  • Il firmware Berndt non viene mai dato per scontato. Riusa alcuni tasti del firmware ufficiale e non è stabilito cosa facciano lì, quindi l’app chiede prima di passare a quel profilo.
  • I controlli mancanti sono voluti. Ciò che un firmware non sa fare non compare nella pagina, invece di restare disattivato, e sul firmware Berndt i comandi partono uno alla volta, a qualche secondo di distanza.
Come l’app gestisce gli altri firmware (si apre in una nuova scheda)

Scorciatoie da tastiera

I singoli tasti controllano la radio nella pagina Controller, tranne mentre scrivi in un campo.

←→
Sintonizza di un passo
↑↓
Volume su / giù
Enter
OK
BN
Banda successiva / precedente
MV
Modo successivo / precedente
SA
Passo successivo / precedente
WQ
Larghezza di banda successiva / precedente
GF
AGC su / giù
LK
Retroilluminazione su / giù
IU
Calibrazione su / giù
OP
Sospensione on / off
T
Attiva/disattiva log di stato
C
Screenshot
H
Registra ascolto
D
Vista cockpit
⌘K
Cerca pagine e stazioni