This project is going to show you a very very small RF Signal Generator 35Mhz to 4.4Ghz on a Tiny PCB that can be easily integrated into project. this Project is complement to USB RF signal generator which I published few weeks ago. Project is based on Analog device ADF4351
Device Pinout
Schematic
PCB
Firmware
Cross Platform PC Software
Open Source QT Application
Python Application
![]() |
UART Intarface
UART Command Manual — RFSTAMP44
All commands start with $
, followed by a letter (or ?
) and optional parameters.
End commands with CR
/LF
.
Command | Usage | Description |
---|---|---|
$F | $F <frequency_MHz> e.g. $F 433.12 |
Set output frequency. Accepts float MHz values with 10 kHz resolution. Range: 35.00 MHz – 4400.00 MHz. |
$A | $A <mode> e.g. $A 2
|
Select AUX I/O function:
|
$B | $B <frequency_MHz> | Set sweep START frequency (MHz Float, min10Khz resolution). |
$C | $C <frequency_MHz> | Set sweep STOP frequency (MHz Float, min 10Khz resolution). |
$E | $E | Erase stored settings (EEPROM). |
$G | $G <frequency_MHz> | Set sweep step frequency (MHz Float, min 10Khz resolution). |
$J | $J <time_ms> | Set dwell time in ms. |
$R | $R <frequency_MHz> | Set reference frequency (10–250 MHz). |
$O | $O <0|1> | Enable/disable RF output. |
$P | $P | Write configuration to PLL. |
$T | $T | Save parameters to EEPROM. |
$S | $S <0|1> | Enable/disable sweep mode. Updates “Start on Boot”. |
$H | $H <0|1> | Enable/disable auto-start sweep on boot. |
$I | $I | Identify device / FW version notification. |
$M | $M<n> <hex_value> | Write hex value to register Rn (0–5). |
$? | $? | Print current settings + registers. |
- UART Baud Rate 115200
- Frequencies given in MHz (e.g.
433.12
), store with 10 kHz resolution. - Reference frequency clamped 10–250 MHz.
$M
expects hexadecimal values (e.g.0x12345678
).- Commands must end with
\r
or\n
. - No echo for commands.
HIDRAW Device access under Linux
What’s a “USB HID raw device”?
HID = Human Interface Device (like keyboards, mice, game controllers, barcode scanners).
hidraw
devices expose raw HID reports directly to user space.Path looks like:
Why you can’t just open them
On most distros, these devices are owned by
root
and a system group likeplugdev
orinput
.Permissions are typically:
Why udev rules help
udev
manages device nodes dynamically when hardware is connected.
By adding a udev rule, you can:
Change file permissions (e.g.,
MODE="0666"
for read/write by everyone).Change ownership (e.g.,
GROUP="plugdev"
).Apply these settings automatically whenever the device is plugged in.
Example rule:
Comments
Post a Comment