TO THE EXTENT PERMITTED BY APPLICABLE LAW, CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, WITH REGARD TO THIS DOCUMENT OR ANY SOFTWARE OR ACCOMPANYING HARDWARE, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. No computing device can be absolutely secure. Therefore, despite security measures implemented in Cypress hardware or software products, Cypress does not assume any liability arising out of any security breach, such as unauthorized
access to or use of a Cypress product. In addition, the products described in these materials may contain design defects or
errors known as errata which may cause the product to deviate from published specifications. To the extent permitted by
applicable law, Cypress reserves the right to make changes to this document without further notice. Cypress does not
assume any liability arising out of the application or use of any product or circuit described in this document. Any information
provided in this document, including any sample design information or programming code, is provided only for reference purposes. It is the responsibility of the user of this document to properly design, program, and test the functionality and safety of
any application made of this information and any resulting product. Cypress products are not designed, intended, or authorized for use as critical components in systems designed or intended for the operation of weapons, weapons systems, nuclear
installations, life-support devices or systems, other medical devices or systems (including resuscitation equipment and surgical implants), pollution control or hazardous substances management, or other uses where the failure of the device or system
could cause personal injury, death, or property damage (“Unintended Uses”). A critical component is any component of a
device or system whose failure to perform can be reasonably expected to cause the failure of the device or system, or to
affect its safety or effectiveness. Cypress is not liable, in whole or in part, and you shall and hereby do release Cypress from
any claim, damage, or other liability arising from or related to all Unintended Uses of Cypress products. You shall indemnify
and hold Cypress harmless from and against all claims, costs, damages, and other liabilities, including claims for personal
injury or death, arising from or related to any Unintended Uses
Cypress, the Cypress logo, Spansion, the Spansion logo, and combinations thereof, WICED, PSoC, CapSense, EZ-USB, FRAM, and Traveo are trademarks or registered trademarks of Cypress in the United States and other countries. For a more
complete list of Cypress trademarks, visit cypress.com. Other names and brands may be claimed as property of their respective owners.
The CY8CKIT-040 contains electrostatic discharge (ESD) sensitive
devices. Electrostatic charges readily accumulate on the human body
and any equipment, and can discharge without detection. Permanent
damage may occur to devices subjected to high-energy discharges.
Proper ESD precautions are recommended to avoid performance
degradation or loss of functionality. Store unused CY8CKIT-040
boards in the protective shipping package.
End-of-Life/Product Recycling
The end of life for this kit is five years from the date of manufacture
mentioned on the back of the box. Contact your nearest recycler to
discard the kit.
Regulatory Compliance
The CY8CKIT-040 PSoC® 4000 Pioneer Kit is intended for use as a development platform for
hardware or software in a laboratory environment. The board is an open system design, which does
not include a shielded enclosure. For this reason, the board may cause interference to other
electrical or electronic devices in close proximity. In a domestic environment, this product may cause
radio interference. In such cases, the user may be required to take adequate preventive measures.
Also, this board should not be used near any medical equipment or RF devices.
Attaching additional wiring to this product or modifying the product operation from the factory default
may affect its performance and cause interference with other apparatus in the immediate vicinity. If
such interference is detected, suitable mitigating measures should be taken.
The CY8CKIT-040 as shipped from the factory has been verified to meet with requirements of CE as
a Class A product.
ESD can damage boards and associated components. Cypress recommends that the user perform
procedures only at an ESD workstation. If an ESD workstation is not available, use appropriate ESD
protection by wearing an antistatic wrist strap attached to the chassis ground (any unpainted metal
surface) on the board when handling parts.
Handling Boards
CY8CKIT-040 boards are sensitive to ESD. Hold the board only by its edges. After removing the
board from its box, place it on a grounded, static free surface. Use a conductive foam pad if
available. Do not slide the board over any surface.
Thank you for your interest in the PSoC® 4000 Pioneer Kit. The kit is designed as an easy-to-use
and inexpensive development kit, highlighting the unique flexibility of the PSoC 4000 architecture.
Designed for flexibility, this kit offers footprint compatibility with several third-party Arduino™ shields.
In addition, the board features an RGB LED, integrated USB programmer/debugger, a program/
debug header, USB-UART/I
Trackpad shield. This kit supports either 5 V or 3.3 V as power supply voltages.
The PSoC 4000 Pioneer Kit is based on the PSoC 4000 device family, delivering a programmable
platform for a wide range of embedded applications. The PSoC 4000 is the smallest member of the
PSoC 4 platform with support for CapSense, timer, counter, and pulse width modulator (TCPWM),
2
I
C master or slave, and up to 20 GPIOs. PSoC 4000 is a cost-optimized, entry-level PSoC 4 device
targeted as socket replacements for obsolete and/or proprietary 8-bit and 16-bit MCUs. PSoC 4000
with its ARM Cortex-M0 core provides 32 programmable peripherals including CapSense.
1.1Kit Contents
2
C bridges, a proximity header, and an Arduino-compatible CapSense
®
The PSoC 4000 Pioneer Kit contains the following (see Figure 1-1):
■ PSoC 4000 Pioneer Kit board
■ Trackpad shield board with a color palette sticker
■ Quick start guide
■ USB Standard-A to Mini-B cable
■ Six jumper wires
Note: Trackpad and Touchpad denote the same in the context of this document and can be used
interchangeably.
PSoC Creator™ is a state-of-the-art, easy-to-use integrated design environment (IDE). It introduces
revolutionary hardware and software co-design, powered by a library of preverified and
precharacterized PSoC Components. With PSoC Creator, you can:
1. Drag and drop Components to build your hardware system design in the main design workspace
2. Codesign your application firmware with the PSoC hardware
3. Configure Components using configuration tools
4. Explore the library of 100+ Components
5. Review Component datasheets
Figure 1-2. PSoC Creator Features
Introduction
PSoC Creator also enables you to tap into an entire tool ecosystem with integrated compiler chains
and production programming programmers for PSoC devices.
For more information, visit www.cypress.com/psoccreator. Visit PSoC Creator training page for video
tutorials on learning and using PSoC Creator.
PSoC Creator includes a large number of code examples. These examples are available from the
PSoC Creator Start Page, as Figure 1-3 shows.
Code examples can speed up your design process by starting you off with a complete design,
instead of a blank page. The code examples also show how PSoC Creator Components can be
used for various applications. Code examples and documentation are included, as shown in
Figure 1-4 on page 11.
In the Find Example Project dialog shown in Figure 1-4 on page 11, you have several options:
■ Filter for examples based on architecture or device family, that is, PSoC 3, PSoC 4, or
PSoC 5LP; project name; or keyword.
■ Select from the menu of examples offered based on the Filter Options.
■ Review the example project’s description (on the Documentation tab).
■ Review the code from the Sample Code tab. You can copy the code from this window and paste
to your project, which can help speed up code development.
■ Create a new project (and a new workspace if needed) based on the selection. This can speed
up your design process by starting you off with a complete, basic design. You can then adapt that
design to your application.
Figure 1-4. Code Example Projects with Sample Code
Introduction
1.2.2Kit Code Example
In addition to the examples built into PSoC Creator, this kit includes a simple example, which can be
used to quickly evaluate the functionality of this kit. The example is described in the Code
Examples chapter on page 49. In addition, the chapter also includes a section explaining how to use
PSoC Creator code examples with the kit by taking one example.
This guide helps acquaint you with the PSoC 4000 Pioneer Kit.
■ The Software Installation chapter on page 15 describes the installation of the kit software.
■ The Kit Operation chapter on page 19 explains how to program the PSoC 4 with a programmer
and debugger, either the onboard PSoC 5LP or the external MiniProg3 (CY8CKIT-002).
■ The Hardware chapter on page 29 details the hardware operation.
■ The Code Examples chapter on page 49 describes the example projects that are provided with
the kit.
■ The Advanced Topics chapter on page 105 deals with topics such as building projects for
PSoC 5LP, using onboard F-RAM, USB-UART functionality, and USB-I
PSoC 5LP.
■ The Appendix on page 158 provides schematics, pin assignments, information on the use of
zero-ohm resistors, troubleshooting details, and the bill of materials (BOM).
1.4Additional Learning Resources
Cypress provides a wealth of information at www.cypress.com to help you to select the right PSoC
device for your design, and to help you to quickly and effectively integrate the device into your
design. For a comprehensive list of resources, see KBA86521, How to Design with PSoC 3, PSoC 4,
and PSoC 5LP. The following is an abbreviated list for PSoC 4:
■ Overview: PSoC Portfolio and PSoC Roadmap
■ Product Selectors: PSoC 1, PSoC 3, PSoC 4, or PSoC 5LP. In addition, PSoC Creator includes a
device selection tool.
■ Datasheets: Describe and provide electrical specifications for the PSoC 4000 device family.
■ CapSense Design Guide: Learn how to design capacitive touch-sensing applications with the
PSoC 4 family of devices.
■ Application Notes and Code Examples: Cover a broad range of topics, from basic to advanced
level. Many of the application notes include code examples. Visit the PSoC 3/4/5 Code Examples
webpage for a list of all available PSoC Creator code examples. To access code examples from
within PSoC Creator, see PSoC Creator Code Examples on page 10.
■ Technical Reference Manuals (TRM): Provide detailed descriptions of the architecture and
registers in each PSoC 4 device family.
■ Development Kits:
❐ CY8CKIT-040, CY8CKIT-042, and CY8CKIT-044 are easy-to-use and inexpensive develop-
ment platforms. These kits include connectors for Arduino-compatible shields and Digilent
Pmod peripheral modules.
❐ CY8CKIT-049 and CY8CKIT-043 are very low-cost prototyping platforms for sampling PSoC 4
devices.
❐ The MiniProg3 kit provides an interface for flash programming and debug.
■ Knowledge Base Articles (KBA): Provide design and application tips from experts on using the
device.
■ PSoC Creator Training: Visit www.cypress.com/go/creatorstart/creatortraining for a
comprehensive list of video trainings on PSoC Creator.
■ Learning From Peers: Visit www.cypress.com/forums to meet enthusiastic PSoC developers
discussing the next generation embedded systems on Cypress Developer Community Forums.
If you have any questions, you can create a support request at the Cypress Technical Support page.
If you are in the United States, you can talk to our technical support team by calling our toll-free number: +1-800-541-4736. Select option 2 at the prompt. If you are outside United States, you can talk to
our technical support team by calling: +1 (408) 943-2600 Ext. 2.
You can also use the following support resources if you need quick assistance.
■ Self-help
■ Local Sales Office Locations
1.6Documentation Conventions
Table 1-1. Document Conventions for Guides
ConventionUsage
Courier New
Italics
[Bracketed, Bold]
File > Open
Bold
Times New Roman
Text in gray boxesDescribes cautions or a unique functionality of the product.
Displays file locations, user-entered text, and source code:
C:\ ...cd\icc\
Displays file names and reference documentation:
Read about the sourcefile.hex file in the PSoC Creator User Guide.
Displays keyboard commands in procedures:
[Enter] or [Ctrl] [C]
Represents menu paths:
File > Open > New Project
Displays commands, menu paths, and icon names in procedures:
Click the File icon and then click Open.
This section describes the installation of the CY8CKIT-040 PSoC 4000 Pioneer Kit software and the
prerequisites.
2.1Before You Begin
All Cypress software installations require administrator privileges. However, this is not the case for
installed software. Before you install the kit software, close any other Cypress software that is currently running.
2.2Install Software
Follow these steps to install the CY8CKIT-040 PSoC 4000 Pioneer Kit software:
1. Download the CY8CKIT-040 software.
The CY8CKIT-040 software is available in three different formats for download:
a. CY8CKIT-040 Kit Only: This executable file installs only the kit contents, which include kit
code examples, hardware files, and user documents. This package can be used if all the
software prerequisites listed in step 5 are installed on your PC.
b. CY8CKIT-040 Kit Setup: This installation package contains all kit contents along with PSoC
Creator, Cypress Document Manager, and PSoC Programmer. However, it does not include
the Windows Installer or Microsoft .NET framework packages. If these packages are not on
your computer, the installer directs you to download and install them from the Internet.
c. CY8CKIT-040 CD ISO: This file is a complete package, stored in a CD-ROM image format
that you can use to create a CD or extract using ISO extraction programs, such as WinRAR.
The file can also be mounted like a virtual CD using virtual drive programs such as Virtual
CloneDrive or MagicISO. This file includes all the required software, utilities, drivers, hardware
files, and user documents.
2. If you have downloaded the ISO file, mount it in a virtual drive. Extract the ISO contents if you do
not have a virtual drive to mount. Double-click cyautorun.exe in the root directory of the extracted
content or mounted ISO if 'Autorun from CD/DVD' is not enabledd in the PC. The installation window shown in Figure 2-1 will appear automatically. Note: If you are using the ‘Kit Setup’ or ‘Kit
Only’ file, then go to step 6 for installation.
3. Click Install CY8CKIT-040 to start the kit installation, as shown in Figure 2-1.
Figure 2-1. Kit Installer Startup Screen
4. Select the folder in which you want to install the CY8CKIT-040 kit-related files. Choose the direc-
tory and click Next.
5. When you click Next, the CY8CKIT-040 ISO installer automatically installs the required software,
if it is not present on your computer.
Following is the required software:
a. PSoC Creator 3.2 Service Pack 1 or later: Download the latest version from
www.cypress.com/psoccreator.
b. PSoC Programmer 3.23.1 or later: Download the latest version from
www.cypress.com/programmer.
c. Cypress Document Manager 1.0 Service Pack 1 or later: Download the latest version from
Note: For Windows 7/8/8.1 users, the installed files and the folder are read only. To change the
property, right-click the folder and choose Properties > Attributes; disable the Read-only check
box. Click Apply and OK to close the window.
2.3Install Hardware
There is no additional hardware installation required for this kit.
The PSoC 4000 Pioneer Kit can be used to develop applications using the PSoC 4000 family of
devices. The kit includes two boards – an Arduino-compatible baseboard and a CapSense-based
Trackpad shield board. Figure 3-1 is an image of the PSoC 4000 Pioneer Kit baseboard and shield
board with a markup of the onboard components.
The PSoC 4000 Pioneer Kit connects to the PC over a USB interface (see Figure 3-2). The kit enumerates as a composite device and three separate devices appear under the Device Manager in
the Windows operating system. See Tab l e 3-1, and Figure 3-3.
Figure 3-2. Kit USB Connection
Kit Operation
Table 3-1. PSoC 4000 Pioneer Kit in Device Manager After Enumeration
PortDescription
USB Composite DeviceComposite device
USB Input Device
KitProg
KitProg USB-UARTUSB-UART bridge, which appears as the COM# port
The kit allows programming and debugging of the PSoC 4 device in two modes:
■ 3.3.1 Using the Onboard PSoC 5LP Programmer and Debugger
■ 3.3.2 Using the CY8CKIT-002 MiniProg3 Programmer and Debugger
3.3.1Using the Onboard PSoC 5LP Programmer and Debugger
The default programming interface for the kit is a USB-based, onboard programming interface.
Before trying to program the device, PSoC Creator and PSoC Programmer must be installed. See
Install Software on page 15 for information on installing the kit software.
1. To program the device, plug the USB cable into the programming USB connector J10, as shown
in Figure 3-4. The kit will enumerate as a composite device. See Kit USB Connection on page 21
for details.
Figure 3-4. Connect USB Cable to J10
Kit Operation
2. The onboard PSoC 5LP uses serial wire debug (SWD) to program the PSoC 4 device. See
Figure 3-5.
Note:Figure 3-5 is provided only for reference, all connections are hardwired on the board itself.
Figure 3-5. SWD Programming of PSoC 4000 Using PSoC 5LP
3. The kit’s onboard programmer will enumerate on the PC and in the software tools as KitProg.
Open an example project in PSoC Creator (such as Project: Blinking LED on page 54) and
initiate the build by choosing Build > Build Project or pressing [Shift] [F6]. See Figure 3-6.
Figure 3-6. Build Project in PSoC Creator
4. After the project is built without errors and warnings, choose Debug > Program or press
[Ctrl] [F5] to program the device. See Figure 3-7.
Figure 3-7. Program Device From PSoC Creator
The onboard programmer supports only the RESET programming mode. When using the onboard
programmer, the board can either be powered by the USB (VBUS) or by an external source such as
an Arduino shield (see Power Supply System on page 36). If the board is already powered from
another source, plugging in the USB programmer does not damage the board.
3.3.2Using the CY8CKIT-002 MiniProg3 Programmer and Debugger
The PSoC 4 on the kit can also be programmed using a MiniProg3 (CY8CKIT-002). To use MiniProg3 for programming, use the J6 connector on the board, as shown in Figure 3-8. With MiniProg3,
programming is similar to the onboard programmer; however, it enumerates as MiniProg3 instead of
KitProg.
The board can also be powered from the MiniProg3. To do so, choose Tool > Options in PSoC Cre-
ator. In the Options window, expand Program/Debug > Port Configuration; click MiniProg3 and
select the settings shown in Figure 3-9. Choose Debug > Program to program and power the
board.
Note The CY8CKIT-002 MiniProg3 is not part of the PSoC 4000 Pioneer Kit contents. It can be purchased from the Cypress Online Store.
Figure 3-8. PSoC 4 Programming/Debug Using MiniProg3
Figure 3-9. MiniProg3 Configuration in PSoC Creator
Note: Ensure that both MiniProg3 (with or without power) on header J6 and KitProg are not connected to the onboard PSoC 4 at the same time. This will result in failed device acquisition from
both.
The PSoC 5LP also functions as a USB-I2C bridge. The PSoC 4 communicates with the PSoC 5LP
using an I
2
C interface, and the PSoC 5LP transfers the data over the USB to the USB-I2C software
utility on the PC called the Bridge Control Panel (BCP).
The BCP is available as part of the PSoC Programmer installation. This software can be used to
send and receive USB-I
header J10 on the PSoC 4000 Pioneer Kit, the KitProg USB-I
2
C data from the PSoC 5LP. When the USB Mini-B cable is connected to
2
C is available under Connected I2C/
SPI/RX8 Ports in the BCP, as shown in Figure 3-10.
To use the USB-I2C functionality, select the KitProg USB-I2C in the BCP (Figure 3-10). On successful connection, the Connected and Powered status boxes turn green (Figure 3-11).
Figure 3-11. KitProg USB-I
2
C Connected in Bridge Control Panel
2
USB-I
C is implemented using the USB and I2C components of PSoC 5LP. The SCL (P12_0) and
SDA (P12_1) lines from the PSoC 5LP are connected to the SCL (P1_2) and SDA (P1_3) lines of
the PSoC 4 I
2
C. The USB-I2C bridge currently supports I2C speed of 50 kHz, 100 kHz, 400 kHz, and
1MHz.
See Using PSoC 5LP as a USB-I2C Bridge on page 105 for building a project that uses the USB-I
2
bridge functionality.
3.5USB-UART Bridge
The onboard PSoC 5LP can also act as a USB-UART bridge to transfer and receive data from the
PSoC 4 device to the PC via the COM terminal software. When the USB Mini-B cable is connected
to J10 of the PSoC 4000 Pioneer Kit, a device named KitProg USB-UART is available under Ports(COM & LPT) in the Device Manager. For more information about the USB-UART functionality, see
To use the USB-UART functionality in the COM terminal software, select the corresponding COM
port as the communication port for transferring data to and from the COM terminal software.
The UART lines from PSoC 5LP are brought to the P12[6] (J8_9) and P12[7] (J8_10) pins of header
J8. This interface can be used to send or receive data from any design/device that has a UART by
connecting the pins on header J8 to the RX and TX pins available on the connecting device.
Note: The PSoC 4000 family that is featured in the kit board does not support a full-duplex UART; it
can support only a software-based UART transmit on any pin. On the board, P3[0] of the PSoC 4000
device is hardwired to the UART bridge's RX line through zero-ohm resistor R57.
Ta bl e 3 -2 lists the specifications supported by the USB-UART bridge.
Table 3-2. Specifications Supported by USB-UART Bridge
ParameterSupported Values
Baud rate1200, 2400, 4800, 9600, 19200, 38400, 57600, and 115200
Data bits8
ParityNone
Stop bits1
Flow controlNone
File transfer protocols
supported
Xmodem, 1K Xmodem, Ymodem, Kermit, and Zmodem (only speeds greater
than 2400 baud).
3.6Updating the Onboard Programmer Firmware
The firmware of the onboard programmer and debugger (KitProg), PSoC 5LP, can be updated from
PSoC Programmer. When a new firmware is available or when the KitProg firmware is corrupt (see
KitProg Status LED States on page 167), PSoC Programmer displays a warning indicating that new
firmware is available.
Open PSoC Programmer from Start > All Programs > Cypress > PSoC Programmer<version>.
When PSoC Programmer opens, a WARNING! window pops up saying that the programmer is currently out of date, as shown in Figure 3-12.
Click OK to close the window. On closing the warning window, the Actions and Results window displays Please navigate to the Utilities tab and click the Upgrade Firmware button, as shown in
Figure 3-13.
Figure 3-13. Upgrade Firmware Message in PSoC Programmer
Click the Utilities tab and then the UpgradeFirmware button. On successful upgrade, the Actions
and Results window displays the firmware update message with the KitProg version, as shown in