You are here

Cypress Programming Solutions | Cypress Semiconductor

Cypress Programming Solutions

Programmer Software Devices Cypress Debug Probe IDE Support Host OS Communication Firmware
Cypress Programmer PSoC 6® MCU
IoT Platforms such as
MiniProg4 ModusToolbox™ IDE Windows
PSoC Programmer Most PSoC 6 devices*
PSoC 4
PSoC 3
PSoC 1
FM0+ devices
USB Type C
MiniProg4 (for PSoC 4, PSoC 5LP, and PSoC 6 MCU devices)
PSoC Creator
PSoC Designer (for PSoC 1 devices)
Windows KitProg3

*Hardware support is fully described in each tool’s release notes, found on the documentation tab, or in the doc folder in the installation root folder.

Cypress Programmer

Cypress Programmer is a flexible, cross-platform application for programming Cypress devices. It can Program, Erase, Verify, and Read the flash of the target device. It includes:

  • OpenOCD is a programming tool modified slightly from OpenOCD FOSS tool to support Cypress devices and is installed as part of Cypress Programmer.

Cypress Programmer and ModusToolbox IDE use KitProg3 low-level communication firmware. fw-loader is a software tool you can use to easily switch back and forth between KitProg2 and KitProg3. fw-loader is installed with ModusToolbox IDE.

PSoC Programmer

PSoC Programmer is a complete package that installs all components required for a programming and debug solution. In addition, the following tools are installed.

  • Clock Programmer is used in configuring Cypress' configurable Clock devices. The Clock Programmer utilizes the CY3240 USB-I2C Bridge kit to configure Cypress' Clock devices.
  • Bridge Control Panel is a simple debugging tool that comes with PSoC Programmer. Use it to communicate with target devices over I2C/UART/SPI serial communications interfaces.


KitProg is Cypress’ low-level communication firmware for programming and debugging. It is not available as a separate product. Many of the programming tools listed here use a version of KitProg. Cypress development kits have KitProg firmware installed, and so “just work” with supported IDEs. See the IDE or kit documentation for details.

You can get the latest version of KitProg3 delivered with the Firmware Loader available at the Cypress GitHub repository. Use the Firmware Loader to upgrade (or downgrade) the KitProg firmware on a kit. The readme file at the GitHub link has full instructions.

KitProg has changed over the years, and Cypress maintains three versions, KitProg1, KitProg2, and KitProg3. If you are interested in the inner-workings of KitProg software, see the KitProg user guides listed on the Documentation tab.

Cypress Programmer and PSoC Programmer are designed for product development. For production-quality programmers, please see our Device Programmer System Partners page for information about third-party programmers.

File Title Language File Size Last Updated

Cypress Programmer 4.0

  Cypress Programmer 4.0 (Windows)  

  Cypress Programmer 4.0 (macOS)  

  Cypress Programmer 4.0 (Linux)  






30.6 MB

17.4 MB

33.2 MB





PSoC Programmer

  PSoC Programmer 3.29.1  




39.1 MB



Older versions of PSoC Programmer are archived at the following page: Click here

Programming Kits
CY8CKIT-005 MiniProg4 Program and Debug Kit
CY8CKIT-002 PSoC® MiniProg3 Program and Debug Kit
CY3217 MiniProg1 - PSoC 1 Programmer

For the many Cypress development kits that use KitProg communication firmware, see the MCU Kits page.

Cypress devices support standard SWD interface for programming and debugging. The table below lists the programming specifications to program Cypress devices. There is a comprehensive list of third-party programming partners and supported devices here. If you are a programming tools vendor and want to support any of the Cypress devices, please contact

Device Family Programming Specifications
PSoC 3 PSoC 3 Device Programming Specifications
MBR3 CY8CMBR3xxx Device Programming Specifications
PSoC 4

CY8C4xxx, CYBLxxxx Programming Specifications

PSoC Analog Coprocessor Programming Specifications

PSoC 5LP PSoC 5LP Device Programming Specification
PSoC 6 PSoC 6 Programming Specifications
USB Type-C CYPDxxxx Programming Specification
TrueTouch CYTMAxxx, CY8CTMAxxx, CYTTxxx Programming Specifications