CtrlAer: Programmable real-time execution of scientific experiments using a domain specific language for the Raspberry Pi Pico/Pico 2 - S.Hessam M. Mehr (SoftwareX)
Automated laboratory experimentation is increasingly dependent on synchronized operation of a heterogeneous hardware setups according to arbitrarily complex user-defined timing, but there is a lack of accessible, vendor-neutral options for reliable generation of these control signals. We present, CtrlAer, a domain-specific language for describing activation signals on a synchronized parallel timeline via a simple syntax containing only a handful of primitives. Embedded within MicroPython, CtrlAer programs are directly executable on the widely available and inexpensive Raspberry Pi Pico/Pico 2 and the wide ecosystem of open hardware development boards built around the RP2040/RP2350 microcontrollers. CtrlAer allows arbitrarily long and complex control sequences to be generated on up to 16 fully synchronized parallel channels at up to 10.7 MHz on the RP2350 (8.9 MHz on the RP2040), scaling to the needs of scientific experiments in a variety of disciplines.