Cypress PSoC® 6 BLE Pioneer Kit (CY8CKIT-062-BLE) - Review

Table of contents

RoadTest: Cypress PSoC® 6 BLE Pioneer Kit (CY8CKIT-062-BLE)

Author: dixonselvan

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: Nucleo L476RG board from ST Microelectronics for Ultra-low power and BLE.

What were the biggest problems encountered?: The E-Ink Display shield's L shaped header pins broke apart as it fell from my table of height 2.5 feet from the ground. This made it no longer usable/ repairable. I expected the display to be broken but it was perfect and intact. This incident I quote here as a problem because the way the header pins has been soldered to the board made me feel, it will not be strong enough to stick to the board at the first sight. The thing which I feared happened at last! It broke in an unintentional drop test.

Detailed Review:

Last Modified Date & Purpose - April 27, 2018 & Updated Display for Traffic Predictor

 

History:

April 26, 2018 - Road Test Review Creation

Introduction

     Cypress PSoC6 BLE Pioneer kit (CY8CKIT-062-BLE) priced at $75 has the PSoC6 BLE Pioneer board (MPN nomenclature - CY8C6347BZI-BLD53) along with

      • a 2.7 inch E-Ink Display shield (CY8CKIT-028-EPD),
      • a CySmart BLE 4.2 USB dongle (CY5677),
      • USB Type-A to Type-C cable,
      • two proximity sensor wires,
      • four jumper wires and
      • a quick start guide.

 

    Cypress PSoC 6 BLE pioneer board is an ultra-low power, dual-core, PSoC6 (Programmable System On Chip) MCU with BLE having Bluetooth 5.0 compatibility. The board has Capsense touch Slider, buttons, and proximity sensors. It is also supported by a well-cushioned stand to keep it separated from your workbench/ desk and prevents it from falling down. Arduino Shield Compatibility helps to expand projects easily. To say concisely, it is an MCU powerhouse of features. PSoC Creator 4.2 is the latest and official IDE for designing your projects and programming the Cypress PSoC6 BLE Pioneer board.

 

    To get started with the Cypress PSoC6 BLE Pioneer kit, check out the Quick Start Guide, Kit Guide, and  Example projects from Cypress and to grab a quick overview, check out this Element14 webinar - Solve Your IoT problems with the New Cypress PSoC 6 MCU: Purpose-Built for the IoT  This will be my road test review of the Cypress PSoC6 BLE Pioneer Kit. Click here if would like to know About me. I am really lucky to be selected in the second group of road testers. Thank you and Element14 for providing me the opportunity!

 

Table of Contents

 

1. Plan

     The plan proposed in the road test application is to develop a display interface for my IoT on Wheels Design Challenge - Traffic Predictor project. Find more details on this under the topic Display for Traffic Predictor in this road test review. Other than this I usually plan the 2 months (8 weeks) for a roadtest as follows,

  1. Unboxing Video - 1 week
  2. Out of the box experience - 1 week
  3. Example / Hands on - 2 weeks
  4. My Project - 3 weeks
  5. Road Test Review completion - 1 week

         

2. Unboxing and First Impressions

     The Cypress PSoC6 BLE Pioneer kit is securely placed inside a beautiful and strong cardboard box locked by a magnetic flap. The sponge inside the box helps to keep the parts of the kit in place and safe from damage. Above all the kit was shipped undamaged with an additional cardboard box, packaging paper, and bubble wrappers. Thanks to Element14 and UPS for delivering the kit without any damage.

 

     Below is the unboxing video of the Cypress PSoC6 BLE Pioneer kit.

 

 

     The Kit is an excellent bundle to feed the hunger of developers. Some of the negative impressions I got as soon as I unboxed the kit are as follows: The Cypress PSoC6 board and E-ink display shield had traces of solder flux remains and edges with cut marks! But I could see there is no cut mark in the board of other road testers. May be mine could have been made in a hurry or it could be a sample board. Anyways this degrades the beauty.

{gallery} My Gallery Title

image

Board with cut marks: Image 1

image

Board with cut marks: Image 2

image

Board with flux remains: Image 1

     Next would be the wire above the USB type-C connector and the battery connector terminal (In green color - J9) which reduces the premium look of the board.

image

     Otherwise, the board is designed quite well with an easily accessible placement of Capsense slider and buttons and GPIO pins. The E-Ink Display shield pins are quite long to allow access to the nearby GPIO pins even while it is connected to the Cypress PSoC6 Pioneer board. But some LEDs, switches and GPIO Pins do go under the E-Ink Display shield while connected to the board, which makes them less viewable or accessible.

 

3. Out of the Box Experience

 

     No joy is greater for a developer than visualizing the newly purchased kit working with almost zero efforts right out of the box. Have a look for yourself to see how the Cypress PSoC6 BLE Pioneer kit performs out of the box. You may need to install CySmart mobile app on your Android/ iOS device to have this OOB experience.

 

 

4. Specifications

     I have tried to consolidate all the specification of the Cypress PSoC6 BLE Pioneer Kit in the table below.

 

DescriptionValue
Kit
Product NameCypress PSoC6 BLE Pioneer Kit
Part NumberCY8CKIT-062-BLE
PSoC6 BLE Pioneer board
Part Number (MPN Nomenclature)CY8C6347BZI-BLD53
Dual Core

Arm Cortex M4 @150 MHz

Arm Cortex M0+ @100 MHz

Package116-BGA
Flash1MB
SRAM288KB
GPIO pins78
Programmable Analog Blocks7
Programmable Digital Blocks56
Operating Voltage1.8-3.3 V
Battery3.7 V Lithium-Ion Polymer Battery
ConnectivityBluetooth Low Energy (BLE) 5.0 compatible
Special featuresUltra-Low Power, Arduino Shield compatible, Capacitive Sensing with CapSense
E-Ink Display shield
Part NumberCY8CKIT-028-EPD
Display Size & Type
2.7 Inch E-Ink Display
SensorsMotion Sensor, Thermistor, PDM-PCM microphone
Arduino CompatibleYes
CySmart BLE 4.2 USB dongleCY5677
CableUSB Type-A to Type-C

 

     The MPN Nomenclature of the PSoC6 provided for this road test is explained as follows:

 

           CY8C6347BZI-BLD53ES

    1. CY8C - Cypress Prefix
    2. 6 - PSoC6 Architecture
    3. 3 - Connectivity [Family]
    4. 4 - 150/50 MHz [Speed]
    5. 7 - 1024 KB [Flash]
    6. BZ - BGA [Package Code]
    7. I - Industrial [Temperature Range]
    8. BL - PSoC6 A-L [Silicon Family]
    9. D - Dual Core [Core]
    10. 53 - Code of the feature set in the specific family [Attributes Code 0-99]
    11. ES - Engineering Sample

 

     The PSoC6 Dual core is a shared memory unit where both the cortex can talk to anything on the board. In spite of this, they have their own advantages. Below is a list of applications for which the Arm Cortex cores can be used separately,

    

     Arm Cortex M0+ - This is used in the case where applications which need to run for a longer duration in low power mode. Some examples are,

    1. BLE Stack
    2. CapSense
    3. Sensor aggregation
    4. I/O data control
    5. Sensor aggregation

     Arm Cortex M4 - This is used in the case where applications need to be capable of running powerful processes. Some examples are,

    1. RTOS
    2. Displays
    3. Sensor Analysis
    4. Audio Interface
    5. USB/ BLE HCI

 

5. PSoC Creator

     PSoC® Creator™ Integrated Design Environment (IDE) is the official IDE for programming the Cypress PSoC6 BLE Pioneer Kit. The latest version is 4.2 which is a zip file of around 622MB (for windows) and takes about 2.50 GB of disk space for installation. The below screenshot shows the folder structure inside the installation directory. For PSoC Creator Quick Start guide - Click here.

image

     It is majorly compatible with Windows OS and can be run in Mac or Linux OS using VMWare or Virtual Box. The PSoC Creator is a medium-sized powerful development environment which helps developers easily recover from errors with suggestions. Also, some software component updates are automatically identified and updated with manual intervention, which otherwise would be a headache to find out.

 

6. Example program to get started

    Cypress has done a wonderful job in the documentation of many and varied example codes which helps to get started with almost all the features of the kit in no time! To get started, view PSoC 6 MCU Code Examples and YouTube tutorial PSoC6 101 by Alan Hawse. has also done a wonderful job in documenting how to get started and has explained most of the example programs in his review. So I don't want to repeat them again. For my contribution, I have made a quick walkthrough of how to program the Cypress PSoC6 BLE Pioneer board using PSoC Creator with the help of CE220567 - PSoC 6 MCU with BLE Connectivity: BLE Thermometer example program which I believe is not a repetition in Element14. Also, I have tried to demonstrate the auto error detecting and fixing capability of the PSoC Creator in the video below.

 

 

7. Display for Traffic Predictor

     This section will detail the project I have done with the Cypress PSoC6  BLE Pioneer kit. I had prototyped a traffic predictor system for the IoT on Wheels Design Challenge. This did not have a display unit rather had an Android mobile application to have the details displayed to the user. Hence I wanted to make a display for my traffic predictor project using the E-Ink Display shield of the Cypress PSoC6 BLE Pioneer kit. Though initially, I had many plans running through my mind, time constraint, unforeseen incident (Breakage of the E-Ink Display Shield) and the fact that I am new to Cypress PSoC family and PSoC Creator, limited the display functionalities to

  • Display the logo initially,
  • Display an alert in case any vehicle in front approaches closer than a limit and
  • Display the real-time temperature of the surrounding.

 

     The display unit would be an extension of the main traffic predictor system (Arduino UNO (replacing ST-Nucleo L476RG board), Ultrasonic Sensor and Servo Motor). Arduino Uno will send a HIGH or a LOW digital signal to the Cypress PSoC6 BLE Pioneer board, instructing when to display the alert in the E-Ink Display Shield and to turn ON/OFF the LED.

 

Read GPIO Pin and Set LED

     The GPIO pin used is F5, port P11[0]. You can find it as 11.0 in the Cypress PSoC6 BLE Pioneer board. The Red LED used is pin E3, port P0[3]. You can find this as P0.3 which the RGB LED on the board.

 

Code

volatile uint32_t pinReadValue = 0ul;
pinReadValue = Cy_GPIO_Read(DIN_PORT, DIN_0_NUM);

if(1u == pinReadValue)
{
    Cy_GPIO_Set(RED_Alert_0_PORT, RED_Alert_0_NUM); 
}
else
{
    Cy_GPIO_Clr(RED_Alert_0_PORT, RED_Alert_0_NUM);
}

 

     You can also use the below line to write a GPIO Pin

Cy_GPIO_Write(RED_Alert_0_PORT, RED_Alert_0_NUM, pinReadValue);

 

Schematic

image

imageimage

E-Ink Display Shield

     The E-Ink Display shield display images from an array of raw data of the image as below.

cy_eink_image_t logo[CY_EINK_IMAGE_SIZE] = 
{
/*Your Array contents from Output Image Raw Data goes here like below
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, // 1
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, // 2
*/
};

 

     This can be obtained using the PDI application from Pervasive displays by clicking here. Step by Step instruction for the same is given in the screenshot below. The content below the 'Output Image Raw Data' is the array data of the image required to display the image in the E-Ink Display Shield.

image

     Declare the image variable as an extern in the header file, to use it anywhere in your project.

extern cy_eink_image_t logo[CY_EINK_IMAGE_SIZE];

 

     You can display your image  using the below code snippets

//Method 1 - Display image in full screen
Cy_EINK_ShowFrame(currentFrame, logo, CY_EINK_FULL_2STAGE,
  CY_EINK_POWER_AUTO);

//Method 2 - Display image from the co-ordinates you define 
uint8 const  fullFrameCoordinates[] =   {0, 33, 0, 175};

Cy_EINK_ImageToFrameBuffer(frameBuffer[currentFrameBuffer],
                           (uint8*)background,
                           (uint8*)fullFrameCoordinates);

 

Demo Video of the project

     The below video is the demo of the display unit made for my traffic predictor project.

 

 

8. Issue

     Once I ran into this strange issue where the E-Ink Display entered ghost mode (There is no such mode in the Cypress PSoC6, just a suitable description). It started changing the contents on its own where its expected behavior was to change only when there was an input from Capsense Slider/ buttons. Also to note, this is an example program and I followed the usual instructions to program Cypress PSoC6 BLE board. Luckily I was able to capture it and below is the video and photos of the incident.

 

 

{gallery} Issue Photos

image

Issue: Image 1

image

Issue: Image 2

image

Issue: Image 3

 

Resolution:

     Attempt #1 - Disconnecting and connecting power to the board - It seemed to work for some time but the issue repeated

     Attempt #2 - Removing and attaching the E-Ink Display to the board and programming it again - It also did not resolve the issue!

     Attempt #3 - Try again after some time! - This issue occurred in the afternoon where normal room temperature was higher than normal that day and my laptop CPU fans were blowing out hot air (I mean to mention this not as a contributor to temperature increase rather this is the source from where I program the Cypress PSoC6). Maybe or may not be temperature (maximum Peak Temperature is   260°C ) played its role here. When I tried again the next day, it was working as expected and the issue never repeated.

 

     Below is a screenshot of the datasheet section which shows the maximum peak temperature and with arrow marks pointing the package values of the model used in this road test.

image

 

9. Conclusion/Summary

     Cypress PSoC6 BLE Pioneer kit is a very powerful development kit with a moderately sized IDE. WIth more tutorials, documentation from Cypress getting started was really easy and without any hustle. Based on my journey for two months with this Cypress PSoC6 BLE Pioneer kit, I have tried to summarize its Pros and Cons as below,

 

Pros

     1. The On-board Capsense Slider and Buttons allows better user control on his project developed.

     2. The E-Ink display retains the displayed image for a longer period and also the display is less harmful to the eyes compared to LCD and LED displays.

     3. Excellent detailing has been done in the PCB of the Cypress PSoC6 BLE board and the backside of the E-Ink Display Shield.

     4. The Kit along with the board which needs Electro-Static Discharge proofing can be stored safely and easily in the cardboard box.

Cons

     1. The E-Ink display will not be visible/ viewable in the darkness (which in my traffic predictor project perspective, cannot be used by a commuter traveling at night). Also, when refreshed the display leaves traces behind (Ghosting of the display) as shown in the below picture.

image

      2. The Board's Life is 5 Years!

      3. Not all Arduino Shields are compatible since the output voltage range is from 1.8 to 3.3 V and shields which require 5 V to operate would not be supported!

     4. As mentioned earlier, the strength of the L-shaped header pin in the E-Ink display shield looks weak. When broken the entire E-Ink display shield with other useful components (motion sensor, thermistor, and PDM Mic) becomes unusable and it cannot be soldered again. The replacement fo E-Ink (Link) costs 1/3rd ($25) of the entire kit price ($75). Thanks for the replacement.

 

                                                  E-Ink Display Shield Replacement

image

                                             Images of the broken E-Ink Display Shield and Images Showing the Vulnerability in header pins' solder

 

{gallery} Broken E-Ink Display Shield

image

Broken E-Ink Shield: Image 1

image

Broken E-Ink Shield: Image 2

image

Broken E-Ink Shield: Image 3

image

Vulnerable E-Ink Shield Pins: Image 1

image

Vulnerable E-Ink Shield Pins: Image 2

image

Vulnerable E-Ink Shield Pins: Image 3

     With this ends my road test review of the Cypress PSoC6 BLE Pioneer Kit.

 

     I have tried to summon some useful quick reference links in the table below.

 

DescriptionLink
Product Page

PSoC® 6 BLE Pioneer Kit

E-Ink Display shield (separately) - E-ink Display Shield Board CY8CKIT-028-EPD

Element14:

India - http://in.element14.com/cypress-semiconductor/cy8ckit-062-ble/ref-design-board-bluetooth/dp/2767092

UK - http://uk.farnell.com/cypress-semiconductor/cy8ckit-062-wifi-bt/pioneer-kit-psoc6-cortex-m0-cortex/dp/2857060?ost=psoc6&dym=psoc&ddkey=http%3Aen-GB%2FElement14_United_Kingdom%2FsearchCY8CKIT-062-BLE CYPRESS SEMICONDUCTOR, Evaluation Kit, PSoC® 6 BLE MCU, Bluetooth 5 Wireless Connectivity, CapSense Touc…

US - http://www.newark.com/cypress-semiconductor/cy8ckit-062-ble/ref-design-board-bluetooth/dp/22AC8134?st=psoc6

Guide Documentation

Quick Start guide - http://www.cypress.com/file/417006/download

Kit guide - http://www.cypress.com/file/390496/download

PSoC CreatorPSoC® Creator™ Integrated Design Environment (IDE)
CySmart Mobile Apphttp://www.cypress.com/documentation/software-and-drivers/cysmart-mobile-app
Code ExamplesPSoC 6 MCU Code Examples
PSoC6 101 Tutorial

YouTube - https://www.youtube.com/watch?v=vefexHmf_Us&list=PLIOkqhZiy83H81AhLcjwIKkB9w07JQZS6

Cypress - PSoC® 101 Video Tutorial Series: How To Use the Arm® Cortex®-M4 Based PSoC 6

E-Ink Display Image to Array Converter from Pervasivehttp://www.pervasivedisplays.com/LiteratureRetrieve.aspx?ID=231297
Element14 WebinarSolve Your IoT problems with the New Cypress PSoC 6 MCU: Purpose-Built for the IoT
Cypress Links

Support - Support & Community

Community - https://community.cypress.com/welcome

Anonymous
  • Great review, good to see the device being put to use in a novel project.

     

    Kind regards

  • Yes writing the same image twice in a row eliminates ghosting from the previous image. You can witness it in the below video @ 0:30

     

  • I noticed some ghosting too, but it only persisted for a single write. I will try to see if writing the same image to the screen twice in a row eliminates ghosting from the previous image.

  • Thanks Dixon. A nice review.

     

    Randall