You are here

KitProg User Guide | Cypress Semiconductor

KitProg User Guide

Last Updated: 
Mar 23, 2021

KitProg is the Cypress low-level communication firmware for programming and debugging for PSoC devices. It provides communication between an IDE or programming tool (such as Cypress Programmer or PSoC Programmer) and a target (the PSoC device). Cypress PSoC development kits have KitProg firmware installed to provide the necessary communication between the host and target. As a result, you plug the kit into your host computer, and programming and debugging just work. See the Microcontrollers Kits page for details on available Cypress kits.

KitProg uses the industry standard Serial Wire Debug (SWD) protocol. KitProg features and capabilities have changed over time. The User Guides available on this page describe the KitProg UI, how to switch among available modes of operation, and more.


KitProg3 uses industry-standard CMSIS-DAP as the transport mechanism. KitProg3 implements USB Bulk endpoints for faster communication. It also supports HID endpoints for use cases that require them, but communication is slower. Out of the box, KitProg3 uses Bulk endpoints. KitProg3 also supports bridging: USB-UART; USB-I2C, and USB-SPI.

KitProg3 is also the communication firmware found in the MiniProg4 debug probe.

KitProg2 (replaced by KitProg3)

KitProg2 is an older onboard programmer/debugger with USB-UART and USB-I2C bridge functionality. It uses a Cypress-proprietary transport mechanism, and supports CMSIS-DAP mass-storage programming. Some kits from Cypress come from the factory with KitProg2 installed.


KitProg1 is still in use on some older Cypress kits that are not supported by KitProg3.

The table below highlights the differences among available KitProg versions and provides links to the corresponding User Guide.

Version User Guide Transport mechanism Bridging IDE Programmer
CMSIS DAP bulk CMSIS DAP HID DAPLink Cypress proprietary USB UART USB I2C USB SPI ModusToolbox PSoC Creator Cypress Programmer PSoC Programmer
KitProg3 Download  
KitProg2 Download        
KitProg1 Download        

Managing the KitProg3 Version on Your Kit

You can upgrade the KitProg firmware on a kit to take advantage of the features in the latest implementation. KitProg is not available for download as a separate product. However, it is possible to actively manage the version of KitProg is on your kit.

Various Cypress tools (such as Cypress Programmer or PSoC Programmer) automatically detect an older version of KitProg2 or KitProg3 on a kit and offer to upgrade the KitProg firmware to a newer version of KitProg3. Just plug in the kit and launch the programming tool.

In the unusual case where you need to revert to KitProg2, use the Firmware Loader command-line tool. A new release of Firmware Loader accompanies each major revision of KitProg firmware. It is available on the Cypress GitHub site here. Firmware Loader is also installed as part of ModusToolbox software. Use the current version of Firmware Loader to get the most recent version of KitProg3 firmware, or to revert to KitProg2.