Memory library
100 software banks. Ten channels in each. Recall sends frequency, mode, step and attenuation to the radio.
| CH | Alpha tag | Frequency · MHz | Mode | Step | Audio BW | Scan | Actions |
|---|
Bandwidth is a software audio low-pass cutoff; 0 means bypass. The receiver’s IF bandwidth follows its mode. Alpha tags and these 1,000 memories stay in the controller.
Scan & hold
Each channel is sent over CAT and checked by readback before listening. Keep this tab visible while scanning.
Range search uses the faceplate mode and step. Up to 20,000 steps; skipped frequencies are remembered for this scan.
Max hold 0 waits until the signal closes. Receiver squelch uses the physical SQL knob. Audio detection uses RMS with 6 dB hysteresis; noise can also open it. Use a squelched headphone feed, or combine CAT and audio when using the unsquelched AUX output.
Receiver audio input
Connect the radio’s audio to a USB sound interface or line input. CAT does not carry audio.
0 bypasses the low-pass filter. VOL and MUTE control browser audio; SQL adjusts its threshold. Monitoring starts silent until you enable it. Use headphones to avoid feedback.
Signal activity 0
| Time | Frequency · MHz | Mode | Alpha tag | Source |
|---|
USB / RS-232 connection
AR-3000A protocol · 8 data bits · no parity · 2 stop bits · carriage-return commands.
- Use a USB-to-RS-232 adapter and the correct AR-3000A straight-through control cable. A TTL UART cable is unsuitable.
- Click Connect and select the adapter. The program sends a D status query automatically. If REMOTE is off, turn it on during the 20-second connection probe; the welcome banner is handled automatically.
- Set the receiver’s physical volume and squelch. Connect audio separately if using audio squelch or browser monitoring.
Only change 9600 baud here if the radio is already configured for it. A timeout closes the session and stops scanning; commands are never retried automatically. A valid D reply confirms radio communication, not PLL lock. Frequency readback and the settle interval are checked separately; the manual defines no PLL-lock query.
Radio operations
All documented operating command families, with distinct controls for software and hardware memories.
Internal radio memories · 4 banks × 100
Recall also tunes the receiver. An empty slot may recall the next occupied channel; readback detects this. Writing is explicit and checked; AOR notes that an unregistered slot cannot accept data.
Frequency pass & mute-out
Pass-frequency registration changes the receiver’s hardware lockout list. Software scan skips are separate. E/F/G expose AOR’s documented mute-out setting, independently of browser MUTE.
CAT command reference
| Command before CR | Operation | Controller implementation |
|---|---|---|
| frequency + N / W / A / L / U / C | NFM / WFM / AM / LSB / USB / CW | VFO, keypad, memories, range search |
| step S · R / T | Step in kHz · attenuator on / off | Included before frequency and mode |
| nn M + tuning data | Write internal memory 00–99 | Write + recall verification |
| n X · nn Z | Bank 1–4 · recall/read internal slot | Hardware memory tools |
| frequency Q · nn P | Register pass frequency · read pass entry | Pass tools; raw reply retained |
| D · Y | Dial data · signal/squelch | Readback + live polling |
| E · F · G | Mute-out set · reset · automatic | Explicit mute-out selector |
| nn J | Factory JIG alignment | Documented here, deliberately excluded from operating controls |
Example: 12.50S T 145.50000N\r. Input mode codes differ from response codes: Q=NFM, R=WFM, S=AM, T=LSB, U=USB, V=CW. A–P are relative signal levels; % means squelch closed. Every transaction waits for >. Radio coverage is 0.10000–2036.00000 MHz, subject to the limits of your regional receiver; tune and step resolution is 50 Hz.
There are no documented CAT commands for variable IF bandwidth, alpha tags, volume, squelch threshold, physical power, clock, sleep/alarm, native scan start/stop, or memory deletion. Those are not simulated as successful hardware operations. The controller scans by sending tuning commands. IF selectivity is mode-dependent: SSB/CW 2.4 kHz, AM/NFM 12 kHz, WFM 180 kHz at −6 dB.
Developer interface & source notes
This file contains the faceplate, protocol codec, prompt-framed transport, memory store, audio graph and scanner. No build, CDN, third-party package or server is required. Use a secure origin for hardware permissions. The existing AR3000A UI API remains available; the built-in backend already subscribes to its command events, so do not attach a second serial sender. Native reply fields after Z and Y are integer counts of 10 Hz; command inputs use decimal kHz/MHz.
const controller = window.AR3000ABackend;
await controller.tune({ frequencyHz: 145500000,
mode: 'NFM', stepHz: 12500, attenuator: false });
controller.memories.get(1, 0); // bank 1, slot 0
controller.memories.set(1, 0, {
frequencyHz: 145500000, mode: 'NFM', stepHz: 12500,
bandwidthHz: 3000, alphaTag: 'Calling', attenuator: false, skip: false
});
controller.refreshMemories();
controller.stopScan();
// Core classes for an adapter or automated tests:
const { Protocol, PromptTransport, Rig, ScanEngine } = AR3000ACore;
// Tune / memory operations are serialized. Cancelled queued operations
// never write. A sent transaction completes before the next begins.
// UI-only feedback: AR3000A.updateState(...) never transmits.Memory JSON schema AR3000A.memories, version 1: exactly 100 banks, each with name and ten slots (null or a memory object). All RF values are integer hertz. Audio bandwidth is a low-pass cutoff in hertz. Import is validated completely before replacement. Export backups when using local files: browser storage is tied to the file/origin and can be cleared.
Research: AOR AR-3000A operating manual, pp. 45, 48–52; AOR technical bulletin: cables, RSSI and audio; Hamlib AR3000A reply decoding; Web Serial; browser audio capture. Reviewed 30 October 2026. Protocol and fault handling are tested with simulated streams; actual receiver, cable, timing and audio calibration still need bench verification.
Serial activity log 0
Off by default. Switch on only when troubleshooting; turning it off stops recording without deleting entries already captured.