Four-channel radio-frequency signal generator programmed by an open-source Arduino-based control system via single or quad Serial Peripheral Interface
Radio-frequency (RF) signal generators are standard laboratory equipment and a wide-range of open-source and commercial devices exists to address their many applications. Nonetheless, only few expensive and proprietary solutions can be re-configured within a wide frequency band and triggered on a micro-second timescale. Such specifications are required for applications that leverage variable radio-frequencies to generate programmed mixed signals, to control processes or states and to precisely steer laser beams using acousto-optical devices, tasks often needed in industrial manufacturing, atomic and molecular physics or microscopy. Here we present an open-source low-cost Arduino-based control system that can store up to millions of commands received from a computer and then perform reliable high-speed programming of an arbitrary device under its control (DUC) via a single or quad-wire Serial Peripheral Interface. The software architecture operates as a real-time state machine, making it easily extensible and adaptable to any DUC. Each configuration change can be triggered either externally or internally, reaching 1 MHz rates when using a Teensy 4.1 Arduino-compatible board. Leveraging this flexible system, we developed a programmable four-channel RF signal generator, based on an Analog Devices 9959 Evaluation board, and we demonstrated its capability and validated its performance.
Steps to reproduce
Refer to paper : "Four-channel radio-frequency signal generator programmed by an open-source Arduino-based control system via single or quad Serial Peripheral Interface" - HardwareX