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
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 rscasny and Element14 for providing me the opportunity!
Table of Contents
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,
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 |
---|
Board with cut marks: Image 1 |
Board with cut marks: Image 2 |
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.
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.
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.
I have tried to consolidate all the specification of the Cypress PSoC6 BLE Pioneer Kit in the table below.
Description | Value |
---|---|
Kit | |
Product Name | Cypress PSoC6 BLE Pioneer Kit |
Part Number | CY8CKIT-062-BLE |
PSoC6 BLE Pioneer board | |
Part Number (MPN Nomenclature) | CY8C6347BZI-BLD53 |
Dual Core | Arm Cortex M4 @150 MHz Arm Cortex M0+ @100 MHz |
Package | 116-BGA |
Flash | 1MB |
SRAM | 288KB |
GPIO pins | 78 |
Programmable Analog Blocks | 7 |
Programmable Digital Blocks | 56 |
Operating Voltage | 1.8-3.3 V |
Battery | 3.7 V Lithium-Ion Polymer Battery |
Connectivity | Bluetooth Low Energy (BLE) 5.0 compatible |
Special features | Ultra-Low Power, Arduino Shield compatible, Capacitive Sensing with CapSense |
E-Ink Display shield | |
Part Number | CY8CKIT-028-EPD |
Display Size & Type | 2.7 Inch E-Ink Display |
Sensors | Motion Sensor, Thermistor, PDM-PCM microphone |
Arduino Compatible | Yes |
CySmart BLE 4.2 USB dongle | CY5677 |
Cable | USB Type-A to Type-C |
The MPN Nomenclature of the PSoC6 provided for this road test is explained as follows:
CY8C6347BZI-BLD53ES
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,
Arm Cortex M4 - This is used in the case where applications need to be capable of running powerful processes. Some examples are,
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.
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.
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. jomoenginer 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.
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
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
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.
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.
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 |
---|
Issue: Image 1 |
Issue: Image 2 |
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.
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.
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 rscasny for the replacement.
E-Ink Display Shield Replacement
Images of the broken E-Ink Display Shield and Images Showing the Vulnerability in header pins' solder
{gallery} Broken E-Ink Display Shield |
---|
Broken E-Ink Shield: Image 1 |
Broken E-Ink Shield: Image 2 |
Broken E-Ink Shield: Image 3 |
Vulnerable E-Ink Shield Pins: Image 1 |
Vulnerable E-Ink Shield Pins: Image 2 |
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.
Top Comments
Yes dougw writing the same image twice in a row eliminates ghosting from the previous image. You can witness it in the below video @ 0:30
Thanks Dixon. A nice review.
Randall
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.