Close

Getting Stared with PSoC 6 WiFi-BT Pioneer Kit (CY8CKIT-062-WiFi-BT)

A project log for Predictive Maintenance of Industrial Equipments

Technicians can often tell when the machine doesn’t sound right. What if the machine themselves could alert about their health status?

pratyush-mallickPratyush-Mallick 08/22/2020 at 09:460 Comments

Thanks for the Hackaday community team, Cypress and Amazon AWS to make this happen. 

I had a tragic incident with the PSoc 6 kit.  The first kit that I received turned out to be faulty , there were overheating issues which would end up the board being power off. But people at cypress were kind enough to send me another one . 

Kit Contents

The CY8CKIT-062-WiFi-BT package has the following contents, as shown in figure 1.

The Cypress PSoC® 6 WiFi-BT Pioneer Kit (CY8CKIT-062-WIFI-BT) is placed on a nicely finished non-conductive foam to avoid shocks, inside a rigid and high quality flip top cardboard box with magnetic catch for secure packaging. The build quality of package is simply amazing and high end. As device is ESD sensitive, it is highly recommended to take proper ESD precautions to avoid any permanent damaged to the device or any other malfunction (figure 2). Overall the it delivers a great unboxing experience

A special note on the CY8CKIT-028-TFT Board , as is one of the main attraction of kit and houses a lost of sensors ( some of them don't have huge software support , so you might explore them on your own such as PDM examples and DAC examples)

CY8CKIT-028-TFT Board : 

The best thing I like about this board is there are abundant test points through out the board to debug if you run into any hardware issues. 

The Kit comes pre-installed WICED WiFi demo.  This demo is meant to test the functionality of onboard WiFi-BT combo module along with CapSense touch slider, ambient light sensor and TFT display and use buttons. 

In this demo, upon power up the kit becomes a WiFi hotspot with a SSID of “WICED Config” and password shown on the display. It hosts a wifi setup webpage where you can easily configure it to connect with one of the local WiFi network in STA mode. After successful configuration and  it hosts another webpage that displays the voltage of the ambient light sensor on the CY8CKIT-028-TFT shield. It also displays the current duty cycle of a PWM controlling the red LED on the kit. During this demo also it is also printing data over a UART to a terminal window.

The first thing you need to do to tinker around the board is to upgrade the KitProg v2. KitProg is Cypress’ low-level communication firmware for programming and debugging - not available as a separate product.  Different software IDEs required different version of KitProg firmware. PSoC Programmer, Cypress Programmer or Modus Toolbox can automatically upgrade the KitProg2 to KitProg3 but automatic downgrade back to KitProg2 is not possible. PSoC Creater, Wiced Studio, Zerynth required KitProg2 where as Modus Toolbox will only work with KitProg3. 

Close

There a lot of tutorials on this on the web , hence I'm gonna go through this.  I have attached a list of resources below to help you out. 

The Big Question : How to choose the right IDE?

This question been haunting even after finishing the project. There are variety of IDEs that the PSoC support each one is suitable for specific application. I guess most of the time you would be juggling between IDEs . The cross-support for each IDE is available , but still is in the initial phase and for my experience wasn't much of a help. I would give overview of the options available : 

Modus Toolbox

(Highly Recommended) it is easy to use programming environment for PSoC6 series mcu. If someone has prior working experience with STCubeMX, Atmel Start or MPLAB X etc then the transition from any of those tool to this one will be very smooth. It has "Select Middleware" option similar to ATMEL start. Where as the device configurator work and look like similar to STCubeMX but with added benefit of device configuration from within the IDE. The live code preview in device configurator help a lot in finding the function/identifier of each option. It will be the first Cypress IDE that will support MCU programming with WiFi/WiFi-BT combo device support (coming soon). PSoC6 mcu has built in CapSense technology and this software provide perfect tools to configure and tune the touch inputs and values. The CapSense tuner help in calculating the threshold values on the go instead of multiple times reprogramming to obtain the desired results. It is also recommended by the Cypress to use Modus Toolbox for programming the PSoC6 MCU.

PSoC Creator

It is oldest PSoC programming IDE with lots of user base.This mean there is lot of online help/projects available for this IDE. But the transition from other programming tools to this one will not be very simple. The interface is seems cluttered and you will take some time to getting used to it. But after some time you will feel comfortable working with it. The graphical programming interface makes working with PSoC6 device simple and for a time being you start believing that your working with FPGA. It has builtin PSoC Creator Tuner (CapSense Tuner).

WICED Studio

For all those kits that uses external WiFi-BT combo modules, this is the only possible option currently (in future Modus toolbox will also get these capabilities). As our PSoC6 WiFi-BT Pioneer Kit use external WiFi-BT combo module therefore it is only IDE that can be use to built wireless applications. Currently Zerynth Studio only support WiFi networking option so for BLE application we have no other choice except WICED studio. Its interface is eclipse based and similar to Modus Toolbox so switching from either one of these to other is not a big problem

MBED Studio

Mbed Studio is a free IDE for Mbed OS application and library development, including all the dependencies and tools you need in a single package so that you can create, compile and debug your Mbed programs on the desktop. It has great toolchain support and you can use MBED CLI if you are fan command based debugging.  This is quite slow as per my experience and a lot of custom imports has to been done , to keep you project up and running. 

Zerynth

(Recommended) If you are only planning to work with this specific kit from cypress then it is also recommended to use zerynth. It provide python programming environment which is similar to Arduino. Anyone who is only familiar with Arduino programming then this tool is ideal for that person. Easy to use cloud integration tool enable this kit to securely connect with several well known cloud platforms. (Only support WiFi)

My preferred choice my Modustoolbox as I was more familiar with eclipse based development evniroment. If you want project involves more of tinkering with hardware you can go for PSoC creator has it support hasle free initialisation and creation of hardware using PDL libraries. As of my knowledge creating a wireless communication project with other than Modustoolbox is quite challenging. 

Resources To Help Build Your Project: 

Hardware: 

PSoC® 6 WiFi-BT Pioneer Kit (CY8CKIT-062-WIFI-BT) User Guide

PSoC® 6 WiFi-BT Prototyping Kit (CY8CPROTO-062-4343W) User Guide

PSoC® 62 MCU (1MB Flash, 288KB SRAM) Datasheet

PSoC® 62 MCU (2MB Flash, 1MB SRAM) Datasheet

CYW4343W 802.11n + Dual-Mode Bluetooth Radio Chipset Datasheet

Murata Type 1DX Wi-Fi/Bluetooth Module (housing CYW4343W) Datasheet

Software: 

ModusToolbox™ Software Environment

All ModusToolbox Software Environment Documentation

ModusToolbox Software Environment Community Technical Forum

Mbed OS Resources: 

Cypress Mbed OS Community Technical Forum

Cypress Mbed Homepage

Cypress Mbed OS Example Projects

PSoC® 6 WiFi-BT Pioneer Kit (CY8CKIT-062-WIFI-BT) Mbed Landing Page

PSoC® 6 WiFi-BT Prototyping Kit (CY8CPROTO-062-4343W) Mbed Landing Page

Using ModusToolbox Configurator Tools in Mbed OS Applications

Cypress Firmware Deliverables in Mbed OS

Adding AWS IoT Thing Parameters

Troubleshooting KitProg Issues:

https://community.cypress.com/thread/20596

https://github.com/cypresssemiconductorco/Firmware-loader/

https://community.cypress.com/message/196350#196350


Others:

https://iotexpert.com/

https://www.cypress.com/training/psoc-101-video-tutorial-series-how-use-arm-cortex-m4-based-psoc-6

Getting Started with Amazon FreeRTOS and PSoC62+43xxx.pdf

PSoC6-101-Video-Projects/PSoC 6_101 at master · cypresssemiconductorco/PSoC6-101-Video-Projects

cypresssemiconductorco/display-tft-st7789v: This library provides code to support a 2.4 inch TFT LCD driven by an ST7789V controller. This is the same display as used on the CY8CKIT-028-TFT shield.

Discussions