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.
$Mexpects hexadecimal values (e.g.0x12345678).- Commands must end with
\ror\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).
hidrawdevices 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
rootand a system group likeplugdevorinput.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:

115.jpg)
115.jpg)

.png)
.png)











Comments
Post a Comment