Skip to content


Welcome to the wiki page for the CyDAQ 2022-2023 Redesign!

This project can be split into three separate components: GUI, CLI, and Firmware. Each can be viewed in their respective directory at the root of the repo and has their own wiki page.

The following diagram shows the relationship between the three components:

The GUI is a PyQT5 application that is compiled using Pyinstaller to a standalone .exe that runs on lab computers.

The CLI Wrapper is a python library, bundled into the GUI application .exe, that allows for simple function calls to communicate with the CyDAQ. It runs the CLI tool using the Pexpect library, and acts just like a user using the CLI tool manually to do so.

The CLI tool is a python script that accepts user input to manually configure and control the CyDAQ. It can be ran standalone to control the CyDAQ without the CLI, and contains all commands required to configure the CyDAQ, take samples, and save them to a file.

The last component is the CyDAQ firmware. It is a Petalinux configuration that acts as a USB serial and USB Ethernet Gadget device, all on one USB connection. This allows for commands to be sent to and from the CyDAQ over serial, and data transfers (using the SCP utility) over Ethernet. It is one of the more complex aspects of this project. We suggest checking out the Petalinux Introduction page to get started.