- Introduction
- What You Get
- Hardware Requirements
- Common Prerequisites
- Windows Guide
- Linux Guide
- Repository Structure
- Application Dependency Architecture
- Advanced Topics
- Support & Contributing
QTAC is a software suite that enables users to control Qualcomm devices remotely via a Qualcomm approved debug board connected to a host.
| Application | Description |
|---|---|
| Test Automation Controller (TAC) | Control Qualcomm devices remotely using UI |
| TAC Configuration Editor | Design configurable TAC UI based on GPIO use-cases |
| Device Catalog | Program debug board and view supported Qualcomm platforms |
| Command-line utilities | DevList, FTDICheck, LITEProgrammer, PSOCProgrammer, TACDump, UpdateDeviceList |
Required Hardware:
- Qualcomm approved debug board (FTDI, Cypress PSoC5LP or Microchip PIC32CX SG41-based)
- Qualcomm device to be controlled
- USB Cables: Type B Micro-USB (Board to Host) & Type-C (Device to Host)
Setup: Connect the device to the debug board (directly or via cable strip) and both to the host.
Important
PSOC debug boards must be factory-programmed with firmware. If the board isn't recognized, it likely lacks programming.
| Category | Software | Minimum Version |
|---|---|---|
| OS | Windows / Debian | Windows 10+ / Ubuntu 22.04+ |
| Compiler | MSVC 2022 / GCC | MSVC 2022 / GCC-11, G++-11, GLIBC-2.35 |
| Build System | CMake | 3.22+ |
| Build Tool | Ninja (via Qt installer, system package manager, or direct download) | 1.10+ |
| UI Framework | Qt Open-source | 6.9.0+ |
Note
Review license terms for Visual Studio and Qt. MSVC 2022 is linked as Qt does not yet support later MSVC versions.
- FTDI D2XX drivers: For debug board interaction.
- Qualcomm USB Drivers: To view device status.
Note
FTDI libraries are downloaded automatically during the cmake configuration step when building from source.
If the automatic download fails (e.g. due to network restrictions), download the archive manually and place it in the third-party/ directory before re-running cmake:
| Platform | Archive |
|---|---|
| Windows x64 | CDM-v2.12.36.4-WHQL-Certified.zip |
| Windows ARM64 | CDM-v2.12.36.20-for-ARM64-WHQL-Certified.zip |
| Linux x86_64 | libftd2xx-linux-x86_64-1.4.33.tgz |
QTAC allows you to view streaming device logs as you transition the device between different states. The debug logs are streamed over USB serial interface(s).
To view these logs, you may install Putty or similar terminal software. QTAC does not depend on or use this software.
git clone https://github.com/qualcomm/qcom-test-automation-controller.git- Visual Studio: Install Desktop development with C++ and .NET desktop development.

- Qt: Install Qt 6.9+ for MSVC 2022 64-bit, Qt Serial Port and Qt Multimedia components. For ARM64, also install the MSVC 2022 ARM64 Qt component.
Note
Installation using Qt Online Installer will require users to create a Qt account.
-
Environment Variable:
x64:
setx QTBIN C:\Qt\<version>\msvc2022_64\bin
ARM64:
setx QTBIN C:\Qt\<version>\msvc2022_arm64\bin
Execute build.bat to generate executables. The build targets the host architecture automatically (x64 on an x64 host, ARM64 on an ARM64 host):
build.batBuild output:
- x64 Debug:
__Builds\x64\Debug - x64 Release:
__Builds\x64\Release - ARM64 Debug:
__Builds\ARM64\Debug - ARM64 Release:
__Builds\ARM64\Release
Usage:
__Builds\x64\Release\QTAC.exe
__Builds\ARM64\Release\QTAC.exeImportant
- Installation using Qt Online Installer will require users to create a Qt account.
- If you're frequently working with Qt on Linux, consider adding the environment variables to
.bashrc. - Using
sudo apt install <package>will update setup packages. Review command usage to prevent issues with other applications.
-
Qt Installation (choose one):
Option A: Qt Online Installer
- Install Qt 6.9+ for GCC 64-bit and Qt Serial Port and Qt Multimedia components using Qt Online Installer
Option B: Quick Installation via apt
sudo apt install qt6-base-dev qt6-serialport-dev qt6-multimedia-dev
-
Runtime Dependencies:
sudo cp udev-rules/99-QTAC-USB.rules /etc/udev/rules.d/ sudo udevadm control --reload
-
Environment Variable:
export QTBIN=/path/to/Qt/directory/<version>/gcc_64/bin
Execute build.sh to generate executables:
./build.shBuild output:
- Debug:
__Builds/Linux/Debug - Release:
__Builds/Linux/Release
Usage:
./__Builds/Linux/Release/QTAC| Directory | Content |
|---|---|
.github |
CI/CD build pipelines |
configurations |
Platform-specific pin configurations |
docs |
Documentation and guides |
examples |
Device-control automation scripts |
interfaces |
APIs for C++, Python, C#, and Java |
src |
Source files (Applications & Libraries) |
third-party |
External dependency scripts |
- Security: Review SECURITY.md for vulnerability reporting.
- Contributing: Review License and Code of Conduct.


