Serial Setup
Full control of the RS-UV3A requires a serial connection. This guide covers the various ways to connect and configure serial communication.
Connection Options
Section titled “Connection Options”The RS-UV3A provides three serial connection methods:
| Method | Connector | Best For |
|---|---|---|
| On-board USB | Micro USB | Most users—single cable for power and control |
| JP1 Header | 0.1” header | Arduino and microcontroller projects |
| JP2 Header | 6-pin header | FTDI cable or Raspberry Pi |
| DE-9 I/O | DE-9 pins 7/8 | External serial devices |
On-board USB (Recommended)
Section titled “On-board USB (Recommended)”The RS-UV3A Rev A includes an FTDI FT230X USB-serial chip that works without drivers on most modern operating systems.
Setup Steps
Section titled “Setup Steps”- Connect a micro USB cable to the RS-UV3A
- Connect the other end to your computer
- The board powers on and enumerates as a serial port
Finding the Port
Section titled “Finding the Port”Linux:
ls /dev/ttyUSB*# ordmesg | grep ttymacOS:
ls /dev/tty.usbserial*Windows:
- Open Device Manager
- Look under “Ports (COM & LPT)”
- Note the COM port number (e.g., COM3)
Terminal Software
Section titled “Terminal Software”Use any serial terminal program to communicate with the RS-UV3A:
| Platform | Options |
|---|---|
| Linux | minicom, screen, picocom, putty |
| macOS | screen, CoolTerm, Serial |
| Windows | PuTTY, Tera Term, RealTerm |
| Cross-platform | Arduino Serial Monitor, VS Code Serial Monitor |
Connection Settings
Section titled “Connection Settings”| Parameter | Value |
|---|---|
| Baud Rate | 19200 (default) |
| Data Bits | 8 |
| Parity | None |
| Stop Bits | 1 |
| Flow Control | None |
| Line Ending | Carriage Return (CR) |
Example: Using screen (Linux/macOS)
Section titled “Example: Using screen (Linux/macOS)”screen /dev/ttyUSB0 19200To exit: Ctrl-A then K, confirm with Y
Example: Using minicom (Linux)
Section titled “Example: Using minicom (Linux)”minicom -D /dev/ttyUSB0 -b 19200Configure: Ctrl-A then O → Serial port setup → Hardware flow control: No
Verifying Connection
Section titled “Verifying Connection”Send a command to verify communication:
FWExpected response:
FW: 2.4A(Version number may vary)
Try a few more commands:
F? # Query frequencySS # Read signal strengthVT # Read voltageTP # Read temperatureChanging Baud Rate
Section titled “Changing Baud Rate”The RS-UV3A supports multiple baud rates:
| Code | Baud Rate |
|---|---|
| 0 | 1200 |
| 1 | 4800 |
| 2 | 9600 |
| 3 | 19200 (default) |
| 4 | 38400 |
| 5 | 57600 |
Internal Serial (USB/JP1/JP2)
Section titled “Internal Serial (USB/JP1/JP2)”B13 # Set to 19200 (default)B15 # Set to 57600External Serial (DE-9)
Section titled “External Serial (DE-9)”B23 # Set to 19200 (default)B25 # Set to 57600Arduino Connection
Section titled “Arduino Connection”To connect the RS-UV3A to an Arduino:
-
Install headers on JP1 (see Connections)
-
Connect:
- RS-UV3A RXD → Arduino TX pin
- RS-UV3A TXD → Arduino RX pin
- RS-UV3A GND → Arduino GND
-
Use SoftwareSerial or hardware UART at 19200 baud
Arduino Example
Section titled “Arduino Example”#include <SoftwareSerial.h>
SoftwareSerial radio(10, 11); // RX, TX
void setup() { Serial.begin(9600); radio.begin(19200);
delay(100); radio.println("F?"); // Query frequency}
void loop() { if (radio.available()) { Serial.write(radio.read()); }}Logic Levels
Section titled “Logic Levels”The RS-UV3A accepts 3.3V or 5V logic inputs. Output voltage depends on the VIO pin:
- If Arduino VIN powers the RS-UV3A: outputs match Arduino logic
- For 3.3V devices (like Raspberry Pi): jumper JP1 3.3V to JP2 VIO
Raspberry Pi Connection
Section titled “Raspberry Pi Connection”Connect directly to GPIO UART:
| RS-UV3A (JP1/JP2) | Raspberry Pi |
|---|---|
| TXD | GPIO 15 (RXD) |
| RXD | GPIO 14 (TXD) |
| GND | GND |
| 3.3V → VIO | (jumper on RS-UV3A) |
Enable UART on Raspberry Pi:
sudo raspi-config# → Interface Options → Serial Port# → Login shell: No# → Serial hardware: YesCommand Syntax
Section titled “Command Syntax”All RS-UV3A commands follow these rules:
- Not case sensitive —
fs146520equalsFS146520 - Terminated by CR — Carriage return (ASCII 13)
- Fixed digit counts — Some parameters require all digits (e.g.,
FS146520notFS14652) - Query with ? — Most commands accept
?to query current value
Quick Command Test
Section titled “Quick Command Test”FS146520 # Set frequency to 146.520 MHzF? # Query current frequencySQ5 # Set squelch to level 5TX1 # Transmit for 1 minute maxTX0 # Stop transmittingSee the Command Reference for the complete command list.
Troubleshooting
Section titled “Troubleshooting”No Response to Commands
Section titled “No Response to Commands”- Check USB cable is data-capable (not charge-only)
- Verify correct COM port
- Confirm baud rate is 19200
- Ensure line ending is CR (not LF or CRLF)
- Check for loose connections
Garbled Output
Section titled “Garbled Output”- Wrong baud rate — try 19200, then other rates
- Line ending issues — try CR only
- Noise on serial line — use shorter cables, add bypass capacitors
USB Not Recognized
Section titled “USB Not Recognized”- Try a different USB cable
- Try a different USB port
- On Windows, install FTDI drivers if needed
- Check
dmesgoutput on Linux for errors