This Project is going to be about making a fully open source USB Programmable RF signal Generator. Device cable of Generating Frequency upto 4.4Ghz Fully Programmable using USB. Device Support Driver free operation using USB HID . Fully programmable under Window, Linux or macOS using Provided Python or QT5 GUI Application using libHID. Cross platform Support and Raw HID support allow Programming using any scientific platform such as MATLAB.
HW is based on ADF4351 from analog devices. supported by USB Microcontroller from Microchip.
Device Ports
PCB
Firmware
Firmware Running on PIC USB MCU running USB Stack bridges USB to SPI to control ADF4351 PLL IC . PIC MCU has High endurance Flash memory to handle standalone operation. FW also manages AUX pin function. AUX pin Support Sync Out to sync device sweep with sync external devices such as Oscilloscope or spectrum analyzer. AUX pin supports Sync In for similar reason. AUX pins also Support External Reference clock for PLL alternative to on Board 25Mhz oscillator
Cross Platform PC Software
All features that can be programmed over QT application can also be programmed using Python script

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:
RF output
Github Source Repo Programming Software and Python Script
Source and Other Files on Github
Comments
Post a Comment