ATS Mini Controller
Reference

Installing H. J. Berndt’s firmware

Where this firmware comes from, what you actually download, why one binary covers both PSRAM types, what stops working in this app once it runs, and how to get back to the official firmware.

H. J. Berndt’s firmware (hjberndt.de) runs on the same hardware as the official firmware and shares almost nothing else with it. It is a separate project, not a fork, with its own console, its own command set and no status frame at all — which is why most of this app goes quiet on it. What survives the switch is set out in Alternative firmware. This page is about getting it on, and off.

What you download

The firmware lives on the author’s own page rather than on GitHub, as two downloads: a build with Bluetooth LE and one without. Each is a ZIP holding a single .bin, and that is all — no changelog, no version file, no separate images.

That single file is a complete image: bootloader at 0x0, partition table at 0x8000 and the firmware at 0x10000, all in one, exactly the way the official firmware’s merged file is laid out. Reading one here confirms it. So it is written as one file at 0x0 and there is no three-file alternative. Because it starts at 0x0 it also covers the small area the official firmware keeps its settings in, so those do not survive the switch. It is a much smaller file than the official merged image — about three-quarters of a megabyte against 8 MB — because it carries no padding, so the write is quick.

One binary covers both PSRAM types. The author’s own notes say the build is deliberately kept to a single binary with no OSPI/QSPI distinction, and describes trimming memory to keep it that way. The variant question that dominates official firmware installs simply does not arise here — which also means there is nothing to check, and nothing that can be checked wrong.

The author describes his page as a devlog rather than a manual, and says the firmware keeps changing. There are no version numbers to compare and no release notes: what you get is what the file held on the day you downloaded it. Keep the ZIP you flashed if you want to be able to return to it.

What it was written for

Worth reading before you decide. The author develops and tests on ATS-Mini V1/V3 hardware with his own modifications — a wire link for the RTTY/CW decoder, and an I2S microphone for the newer decoders — and states plainly that a V4 has never been available to him, so he makes no claims about that revision. The firmware targets the open V1 hardware and boards compatible with it.

The Bluetooth build carries an extra warning from its own author: very little memory headroom without PSRAM, a ring buffer of only 2000 characters, no I2S alongside it, and a note that it will probably not be developed further — he describes it as a stopgap for radios with failing rotary encoders. That matches what this project found from the other end: across an entire Bluetooth session with the radio here, not one byte ever came back.

Writing it

The write itself is unremarkable: one complete image at 0x0, so any of the tools in Installing firmware will do it, and so will the installer on this site.

  1. Unpack the ZIP so you have the .bin on its own.
  2. In the installer, run steps 1 and 2 as usual — the chip reading is still worth having even though the firmware has no variants.
  3. In step 4, tick I have a raw .bin image rather than a release archive and load the file. The app reads its header, recognises a complete image and offers 0x0.
  4. Confirm the override. A bare .bin carries no variant marker, so nothing can be verified against your hardware; here that costs you less than usual, because this firmware has no variant to get wrong.
  5. Back up first in step 5, then write.

The backup matters more here than anywhere else on this site. This firmware has no releases to fall back on and no version numbers to go back to, so a copy of what the radio had before you started is your only reliable way back.

Most of this app goes quiet

This firmware sends no status frame, so the readings that fill the status panel, the logbook and the band display have nothing to fill them, and unreported values show as rather than a misleading zero. The app also removes the controls it cannot support instead of greying them out: on a radio confirmed as Berndt, the memory sidebar, the theme editor, calibration, sleep, the spectrum scanner and the seek panel are absent from the page, along with their keyboard shortcuts. And it accepts roughly one command every five seconds, so the app paces itself to match and shows you a countdown.

The app never adopts this profile by itself — it asks, once per radio, and remembers your answer for that device. Why it asks, and what it sends once you say yes, is in Alternative firmware.

Going back to the official firmware

Nothing about this firmware makes the return trip harder. It is an ordinary ESP32-S3 flash write in the other direction.

  1. Write the backup you took — a complete image at 0x0, the same way it came off. Firmware backup and recovery covers it.
  2. Or install an official release from scratch with the installer or one of the routes in Installing firmware. This time the variant matters again, so let step 2 read your board.
  3. Clear the app’s stored answer. Not this firmware? in the Connection panel forgets the confirmation you gave for that radio, so detection starts from scratch on your next connection.

Once you are back on the official firmware, Firmware versions covers what the version number on it actually buys you.

Häufig gestellte Fragen

Where do I get H. J. Berndt’s ATS Mini firmware?
From the author’s own page at hjberndt.de rather than from GitHub. There are two downloads, one build with Bluetooth LE and one without, and each is a ZIP containing a single .bin file. The page is a devlog rather than a manual, and there are no version numbers or release notes.
Does Berndt’s firmware need the OSPI or the QSPI build?
Neither. There is only one binary and it covers both PSRAM types. The author states that the build is deliberately kept to a single file with no OSPI/QSPI distinction, so the variant question that applies to the official firmware does not arise.
How is Berndt’s firmware flashed?
As one complete image at address 0x0. The single .bin inside the ZIP contains the bootloader, the partition table and the firmware together, laid out like the official firmware’s merged file, so there is no three-file option. Any ESP32-S3 flashing tool will write it, including the installer on this site through its raw image option.
How do I go back to the official firmware after flashing Berndt’s?
Write the backup you took before flashing, at 0x0, or install an official release from scratch — which means picking the right OSPI or QSPI build for your board again. Then clear the app’s stored firmware answer with “Not this firmware?” in the Connection panel so it re-detects on the next connection.