-
Getting Stared with PSoC 6 WiFi-BT Pioneer Kit (CY8CKIT-062-WiFi-BT)
08/22/2020 at 09:46 • 0 commentsThanks 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.
- PSoC 6 WiFi-BT Pioneer Board
- CY8CKIT-028-TFT Display Shield
- USB Type-A to Type-C cable
- Four jumper wires (4 inches each)
- Two proximity sensor wires (5 inches each)
- Quick Start Guide
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 :
- 2.4-inch 240x320 TFT LCD module
- 6-axis motion sensor
- PDM microphone
- 32-bit stereo codec capable of
- microphone
- headphone
- speaker amplifier.
- 3.5mm standard audio jack with a provision of connecting both AHJ and OMTP headphones.
- Headset standard selection switch.
- An ambient light sensor
- An 1.8V LDO for the digital supply of the audio codec
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.
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 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://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