H.J. Berndt Firmware for the ATS Mini V4: The In-Depth Guide
H.J. Berndt's firmware turns the ATS Mini from a nice little SDR receiver into a genuine on-radio digital-mode decoder. This guide goes deep on setup, the menu system, and how to actually use its standout features: RTTY/CW decoding, Easy Tuning Mode (ETM), the signal plotter, and more — including the newer experimental SSTV/WeFax image decoding.
Why This Firmware, and Why V4 Specifically
Most ATS Mini firmwares (the mainline esp32-si4732/G8PTN builds, for example) focus on breadth: broadcast schedules, web tools, ongoing community features. Berndt's firmware takes the opposite approach — fewer bells and whistles, more raw capability for people who actually work HF: utility monitoring, CW/RTTY copy, band-opening reconnaissance, and precise tuning.
The headline feature is that the firmware decodes RTTY and Morse (CW) directly on the radio's own screen — no laptop, no audio cable, no phone app. It does this by dedicating one of the ESP32-S3's two cores entirely to decoding while the other handles the display and radio control, so the UI stays responsive even mid-decode.
The V4/V4B hardware note that matters most: on the original V1–V3 boards, RTTY/CW decoding required a small "one-wire" solder modification — connecting the speaker output to the ESP32-S3's ADC input (IO11) — because the factory board never routed that signal anywhere the firmware could read it. Enough people did this mod that it eventually got adopted into the V4B hardware design itself. If you're running V4 or V4B, decoding works out of the box with zero soldering.
Important Caveats Before You Start
- This is closed-source — Berndt distributes a compiled binary only, not buildable source. That's a deliberate choice on his part, and it means you're trusting a single developer's builds rather than an auditable community codebase.
- The firmware is a moving target with frequent updates. Always check the source page for the current version before flashing, since menu layouts and features shift between releases.
- Documentation is German-first. Google Translate handles it reasonably well, but some menu labels and settings names read a little rough in English.
- The minimum filter bandwidth is 1 kHz, versus 0.5 kHz on the mainline ATS Mini firmware — on crowded CW bands with several signals close together, you may hear more overlap than you would on the mainline build.
Downloading and Flashing
- Go to the firmware's home page: hjberndt.de/dvb/pocketSI4735DualCoreDecoder.html. If you want an English read-through first, use Google's translated version, then come back to the original for the actual download links (translation can sometimes mangle download buttons).
- Scroll to the download section and grab the current .bin file for your hardware.
- Flashing is refreshingly simple compared to some other ATS Mini firmwares: it's a single file with no offset/address configuration needed. Use the web-based flasher linked on the page (built on the same WebSerial technology as other ATS Mini installers) — works in Chrome on desktop or Android.
- Connect the radio via USB-C, select the correct port when prompted, point the tool at the downloaded .bin, and flash.
- Power-cycle the radio. The firmware version shows on the startup screen. You can also check it anytime by tuning to FM 108 MHz and looking at the lower-right corner of the display.
If the flash fails partway or the device seems bricked, re-run the same web flasher again — a second attempt resolves this for most people. There's also a GitHub issue thread and a Facebook group linked from the firmware page if you get stuck.
Menu Basics
Everything is driven by a single-press rotary encoder, with no separate multi-level settings menu — instead there are roughly 22 main menu items you rotate through directly. A quirk worth knowing up front: some features (like toggling the waterfall display or ETM mode) are controlled through the backlight brightness setting rather than a dedicated toggle — setting brightness to 34 or 35, for instance, activates ETM scanning behavior. It's unconventional, but once you know it's there, it's easy to work around.
Long-pressing brings up additional options, including the Fast Tune toggle (see below).
Fast Tune
Fast Tune gives the encoder a classic "analog radio" feel: turn it slowly for fine, precise tuning, or spin it quickly for accelerated frequency jumps — letting you sweep a whole band in seconds without giving up Hz-level precision when you slow back down. Toggle it from the long-press menu.
ETM — Easy Tuning Mode
ETM is the firmware's band-reconnaissance tool. Activate it and the radio scans actively, logging discovered stations into temporary memory slots and marking them directly on the tuning display — similar in spirit to station markers on a vintage analog dial. It works in both AM (broadcast bands) and SSB (with presets for well-known utility/ham SSB stations already built in).
This is genuinely useful during greyline (sunrise/sunset) propagation windows — run ETM and watch which stations light up as band conditions shift in real time, rather than blindly spinning the dial.
RTTY and CW Decoding
This is the firmware's signature feature. Once your V4 (or modified V1–V3) hardware feeds the audio to the decoder, tuning to a live RTTY or CW signal in USB/LSB mode shows decoded text directly on screen, in a choice of three multi-line display sizes.
Practical tips for good copy:
- Use USB (upper sideband) and tune to the mark tone, not the neighboring space tone.
- Ham RTTY typically runs 45.45 baud rather than the firmware's 50 baud default — adjust accordingly for amateur traffic.
- Set your step size and bandwidth both to their minimum (1 kHz) when hunting for a specific signal in a crowded band.
- For RTTY specifically, listen for repeating "RY" test loops — the characters R and Y have the most distinctive bit patterns, making them easy to visually confirm you're tuned correctly before real traffic starts.
- CW (Morse) decode quality depends heavily on the sending operator's timing consistency ("fist") and on having a strong, clean signal — it's the same tone detector doing double duty for both modes.
Worked Example: DWD Weather RTTY at 147 kHz
The German national weather service (Deutscher Wetterdienst) transmits RTTY weather bulletins from Pinneberg on longwave, and it's a great low-stakes way to test your decoder setup:
- Tune to 147 kHz, USB, starting slightly below the actual frequency.
- Set backlight brightness above 66 to enable the larger 12-line terminal display mode.
- Slowly tune upward in 10 Hz steps until the decoded text shifts from garbage into readable character sequences.
- Fine-tune within roughly a ±20 Hz window around the signal for the cleanest decode.
There's also a pre-stored ETM preset (labeled around "ETM01" or under a "PINNEBERG" preset group) that jumps straight to this frequency, so you don't have to dial it in manually every time.
Signal Visualization Tools
- One-minute signal plotter — a rolling real-time graph of signal strength/quality on your current frequency, useful for centering on a carrier or comparing antenna performance.
- Long-term band signal plotter — tracks signal activity over a longer window, handy for spotting patterns in band openings.
- Waterfall band spectrum display — a visual spectrum view of activity across the current band.
- Station markers — a built-in list of known broadcast/utility stations shown as small markers along the tuning scale, so you can see at a glance what's nearby in frequency.
- IBP (International Beacon Project) support — shows which IBP beacon should currently be transmitting, useful for informal propagation checks.
FM RDS
Full RDS decoding and display in FM mode, which also doubles as a convenient way to time-sync the radio's clock from broadcast data instead of NTP.
Flash Drive Mode — Power-User Configuration
Connect the radio via USB and it can present itself as a flash drive, exposing plain text configuration files instead of requiring you to dig through on-device menus for everything:
- settings.txt — bulk-edit radio settings outside the on-device menu.
- user.txt — define your own custom station list/memory entries.
- eibi.txt — import the EiBi shortwave broadcast schedule directly via USB copy, rather than requiring the radio to fetch it over Wi-Fi.
- Creating an empty file literally named greyscale switches the display to a greyscale theme on next boot; a file named inverse flips it to inverted black/white. No content needed in either file — their presence alone is the toggle.
Playlist Function
Lets you schedule specific station memories to be recalled automatically at set times — useful if you know a particular broadcast or utility transmission runs on a predictable schedule and you want the radio parked there automatically.
Bonus: Experimental SSTV and WeFax Image Decoding
A newer experimental branch of the firmware adds slow-scan television (SSTV) and weather fax (WeFax) image decoding directly on the radio's screen — turning it into a basic standalone image receiver. This requires an additional small hardware add-on: a cheap I2S digital microphone module (INMP441, roughly the cost of a coffee), since image decoding needs a cleaner raw audio path than the built-in mark/space tone detector provides.
If you add the microphone and flash the experimental build:
- SSTV: tune to a known SSTV frequency (14,230 kHz USB is a common and active one, especially on weekends), enable the Martin 1 or Martin 2 decoder mode, and the screen renders the incoming color image top-to-bottom as it's received.
- WeFax: tune to 3,853.2 kHz USB (or 7,880 kHz during the day in Central Europe) for DWD Pinneberg weather chart transmissions. The decoder cycles through three states — Search, Phasing, and Decoding — and paints the weather map as it comes in.
Both modes let you keep tuning in small steps or adjust volume without leaving the decode screen, and the developer explicitly labels this branch "experimental" — expect occasional color shifts on Martin 2 and patience-testing propagation dependency on WeFax.
Getting Help
Since this firmware isn't open source, community support happens informally: check the firmware's own page for update notes, the linked Facebook group for user discussion, and the esp32-si4732/ats-mini GitHub discussions board, where users compare notes between this firmware and the mainline builds.
Related Guides
- ATS Mini V4: Flashing Custom Firmware From Your Phone (ats-mini vs H.J. Berndt)
- Fixing the ATS Mini Donut WB Loop Antenna (Anti-Series Wiring Defect)
- ATS Mini V4 Firmware Comparison: ats-mini vs H.J. Berndt
- ATS Mini V4 Unboxing & First Power-On: What's in the Box, Initial Setup
- Build a Custom 3D-Printed Travel Case and Charging Dock for the ATS Mini V4
- Flashing ATS Mini V4 Firmware: ESP32-S3 Update via USB
- Getting the Most from SSB (LSB/USB) on the ATS Mini V4
- Best Antennas for ATS Mini V4: Telescopic, Donut Loop, and External Options