Evaluate ModusToolbox Software with the Infineon PSoC 62S2

Table of contents

RoadTest: Enroll to Review ModusToolbox™ Software with the Infineon PSoC™ 62S2 Evaluation Kit

Author: MARK2011

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?: Cypress PSoC6 WiFi-BT Pioneer kit PSoC6 Pioneer Kit CY8CKIT; NXP Kinetis;

What were the biggest problems encountered?: Sense board seems to be incompatible with CY8CEVAL-062S2

Detailed Review:

Introduction

I will start with a short but big thank you to Element14 and Infineon. 

My much extended participation (sorry about that)  in the review

“ModusToolboxTm Software with the Infineon PSoC 62S2 Evaluation Kit”, gave me many interesting experiences and great pleasure.

While conducting this project, I made many lists of materials and documentation, but I do not plan to copy them in my study. Everything is easily available on Infineon websites.

So I will quote the most important data and links that I used and which were guides in this wonderful adventure.

Description and used names:

The subject of this test is PSoC 62S2 evaluation kit (CY8CEVAL-062S2)

the full set name is also used CY8CEVAL-062S2-LAI-4373M2

The kit features the PSoC 62 MCU (CY8C624ABZI-S2D44): 150-MHz Arm Cortex-M4 and 100-MHz Arm Cortex-M0+ cores, 2MB of Flash, 1MB of SRAM,

and is equipped with capacitive-sensing CAPSENSE.

and also equipped with an M.2 interface that enables you to connect radio modules based on AIROC Wi-Fi/Bluetooth combo devices.

In my case it is Sterling-LWB5+ wifi module powered by Infineon’s CYW4373E

Documentation

All information about the hardware, available software, manuals  and usage examples as well as Quick Start Guide are available here:

https://www.infineon.com/cms/en/product/evaluation-boards/cy8ceval-062s2/

Very useful information can be obtained from recorded webinar “Ecosystems for PSoC and XMC MCUs”  https://events.hackster.io/psoc-xmc-ecosystems-webinar

Also recent element14 event: “At The Core Design Challenge” 

gives a lot of information about PSoC 62  At The Core Design Challenge 

I even checked whether chat gpt would be helpful in exploring the PSOC set. Here is an example of a response:

The PSoC 6 Wi-Fi BT Prototyping Kit (CY8CPROTO-062-4343W) is a low-cost hardware platform that is purpose-built for the IoT,

delivering the industry’s lowest power, most flexibility, and built-in security for the IoT.

Before starting, ensure you have the following:

- PC (I used a Macbook) with USB port and Wifi connectivity

- UART terminal software, such as Tera Term or Minicom (I used Mac terminal built-in SCREEN)

- Non-enterprise Wifi network with internet access or a mobile hotspot

Then

  1. Visit the kit website to download and install the required software https://www.infineon.com/.../evaluati.../cy8cproto-062-4343w (especially ModusToolbox)
  2. Ensure the jumper J3 is at position 2-3 to select 3.3V
  3. Connect the KitProg3 USB connector (J8) to your PC
  4. Wait for the drivers installation to complete
  5. Open the UART terminal software and connect to the KitProg3USB-UART COM port with settings (refer below)
  6. Press the RESET switch (SW1) on the device
  7. Follow the instructions displayed on the UART terminal to use the pre-programmed code example (i.e. Hello World blink)

The first thing to do is determine which device you want to connect to.

> ls /dev/tty.*

In this case, a PSoC 62 MCU with the name of /dev/tty.usbmodem14103

Once you’ve determined which device you would like to use, you can execute the SCREEN command to start the serial terminal session on your Mac.

Remember to specify the speed (baud rate), data, parity, stop bit, flow control after the device name.

Baud rate: 115200

Data: 8 bit

Parity: None

Stop bit: 1 bit

Flow control: None

> screen /dev/tty.usbmodem14103 115200,cs8,-parenb,-cstopb,-ixon,-ixoff

Once you’ve connected, you can use the terminal as you normally would.

However, you cannot trust this tool too much

The CY8CKIT-028-SENSE board, also known as the Cypress PSoC® 6 Wi-Fi BT Prototyping Kit, is designed to showcase the capabilities

of the Cypress PSoC 6 microcontroller and its various peripherals. It includes a wide range of sensors that allow developers to create IoT (Internet of Things) applications

and explore different sensor functionalities. Here are the sensors included on the CY8CKIT-028-SENSE board:

Ambient Light Sensor (ALS): Measures the ambient light intensity and can be used for tasks like adjusting display brightness based on the environment's lighting conditions. …

ME:

you are wrong, CY8CKIT-028-SENSE board do not have Ambient Light Sensor

ChatGPT

Apologies for the confusion. You are right; the CY8CKIT-028-SENSE board does not have an ambient light sensor. I appreciate you pointing that out.

ME:

give simple example for Barometric Air Pressure Sensor in CY8CKIT-028-SENSE

ChatGPT

I apologize for the confusion, but the CY8CKIT-028-SENSE (Cypress PSoC® 6 Wi-Fi BT Prototyping Kit) does not include a built-in barometric air pressure sensor.

It offers various other sensors like the proximity sensor, PIR motion sensor, digital microphone, capacitive touch slider, etc., as mentioned in previous examples.

If you specifically need to work with a barometric air pressure sensor, you would need to use an external sensor and connect it to the kit through the available GPIOs, I2C, or SPI interfaces.

To clarify, the CY8CKIT-028-SENSE board, also known as the Cypress PSoC® 6 Wi-Fi BT Prototyping Kit, includes various sensors, but it does not have an ambient light sensor among them.

Instead, it offers other sensors such as the proximity sensor, PIR motion sensor, digital microphone, capacitive touch slider, potentiometer, and more.

If you are looking for examples related to other sensors on the CY8CKIT-028-SENSE board, please feel free to ask, and I'll be happy to provide the relevant information.

Communication module

image

Sterling-LWB5+ documentation:

https://www.lairdconnect.com/wireless-modules/wifi-modules-bluetooth/sterling-lwb5-plus-wifi-5-bluetooth-5-module

https://www.infineon.com/cms/en/product/wireless-connectivity/airoc-wi-fi-plus-bluetooth-combos/wi-fi-5-802.11ac/cyw4373/?redirId=216353&utm_medium=referral&utm_source=cypress&utm_campaign=202110_globe_en_all_integration-product_families

image

I tried to combine CY8CEVAL with CY8CKIT-028-SENSE board

https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-028-sense/?utm_source=cypress&utm_medium=referral&utm_campaign=202110_globe_en_all_integration-dev_kit&redirId=184235

offering additional equipment:

Digital XENSIVTm MEMS Microphone(s)

Digital XENSIV Barometric Air Pressure Sensor

Bosch 9-axis Absolute Orientation Sensor

Piezo MEMS Analog Microphone

Audio Codec and headset jack

OLED Display Module

Additionally in that RT  I used older Infineon (Cypress) board  

Cypress  PSoC6 Pioneer Kit CY8CKIT equipped with CY8CKIT-028-TFT

https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062-wifi-bt/?utm_source=cypress&utm_medium=referral&utm_campaign=202110_globe_en_all_integration-dev_kit&redirId=DK59

I had the pleasure of testing it https://community.element14.com/products/roadtest/rv/roadtest_reviews/591/psoc_6_wifi-bt_pione_4

In the roadtest I used Infineon AIROC Bluetooth Connect App

https://www.infineon.com/cms/en/design-support/tools/utilities/wireless-connectivity/airoc-bluetooth-connect-app-mobile-app/

The kit is equipped also with the OPTIGA Trust M is a high-end security solution

https://www.infineon.com/cms/en/product/security-smart-card-solutions/optiga-embedded-security-solutions/optiga-trust/optiga-trust-m-sls32aia/

Discussing tools I must mention the large software ecosystem - ModusToolbox

image

ModusToolbox is a software development environment provided by Cypress Semiconductor (now part of Infineon Technologies) for developing applications on their PSoC microcontrollers.

It contains a set of multi-platform development tools and a suite of GitHub-hosted firmware libraries. Together, they enable an development experience for customers creating converged

MCU and Wireless systems.




https://www.infineon.com/cms/en/design-support/tools/sdk/modustoolbox-software/

richly supported on GitHub

https://github.com/Infineon?q=mtb-example-anycloud%20NOT%20Deprecated

Infineon prepared  ModusToolbox training classes  available on GitHub:

ModusToolbox Software Training

https://github.com/Infineon/training-modustoolbox

image

These materials are invaluable In my opinion.

image

image  ModusToolbox for Machine Learning

image

ModusToolbox Machine Learning enables evaluating and deploying Machine Learning models on Infineon MCUs.

ML is designed to work with the ModusToolbox ecosystem and can be added into existing projects to enable inferencing on edge devices.

image

https://www.infineon.com/cms/en/design-support/tools/sdk/modustoolbox-software/modustoolbox-machine-learning/?redirId=180009



Unboxing

Yes, that was truly pleasure

At the start simple application Hello World runs, LED is blinking

Preparing the environment for testing.

According to the instructions, it is recommended to install SEGGER J-Link

https://www.segger.com/products/debug-probes/j-link/

image

image

image

image

image

image

image

image

However, I find that it was not necessary

ModusToolbox installation

I learned the name ModusToolbox during the previous test of the Cypress PSoC6 Pioneer Kit CY8CKIT.

However, at that time I was using the PSoC Creator & PSoC Programmer & WICED Studio software.

Currently, ModusToolbox is a perfectly developed tool and working with it (despite its large size) is very pleasant.

The selection and installation of the software is described in detail in the instructions. This is done efficiently and smoothly.

image

image

image

image

image

image

main M.T. folder:

image

image





image

Modus-shell -  use of project-creator-cli

image

image

image

image

image

image

image

image

Example of run project creator

image

image

Most important TOOLS of ModusTOOLbox 3.1:

project-creator 2.10.0

Eclipse IDE for ModusToolbox 3.1

dashboard 3.1.0

Linking with SEGGER J-Link (global SEGGER J-Link Path)

image




image

image

KitProg3

As I remember Cypress PSoC6 Pioneer Kit CY8CKIT came with KitProg2 and there was some confusion about having to upgrade to KitProg3.

this problem no longer exists
However, after reading the manuals, I had some doubts

basically regarding to instructions:

image

but:

“The ModusToolboxTm Programming tools package includes a new ModusToolbox Programmer, which replaces the legacy Cypress Programmer application.”

Anyway,

After connecting to PC using USB the board was properly recognized

image

image

image

image

Testing

Even though Modustoolbox is a powerful and extensive tool and like many ECLIPSE environments it can even be intimidating,

programming and especially loading examples is child's play.

image

 image

image

image

image

We select CY8CEVAL-062S2

 

 

Hello World as the first example from annual and from “ QUICK START GUIDE”

It is also the program pre-loaded onto the board, available right after unpacking and connecting to PC.

Here we can practice programming this example from scratch.

image

image

image

image

here some important data from the compilation logs

 

Summary:

BSP: CY8CEVAL-062S2

Template Application(s): Hello World

Application(s) Root Path: C:/Users/marek/mtw

Press "Create" to create the selected application(s).

 

Collecting application data...

Info: The following entered on the command line will create the exact same project as that created with the GUI tool:

C:/Users/marek/ModusToolbox/tools_3.1/project-creator/project-creator-cli.exe --board-id CY8CEVAL-062S2 --board-uri https://github.com/Infineon/TARGET_CY8CEVAL-062S2 --board-commit latest-v4.X --app-id mtb-example-hal-hello-world --app-uri https://github.com/Infineon/mtb-example-hal-hello-world --app-commit latest-v4.X --target-dir C:/Users/marek/mtw --user-app-name Hello_World --use-modus-shell

Starting application creation for 'C:/Users/marek/mtw/Hello_World'.

Acquiring the application source 'https://github.com/Infineon/mtb-example-hal-hello-world'.

Acquired application source successfully.

Loading the application.

Loaded the application successfully.

Processing project 'Hello_World'.

Starting to commit changes to the filesystem and project 'mtb-example-hal-hello-world'.

Writing mtb file for asset 'CY8CEVAL-062S2' to the folder 'C:/Users/marek/mtw/Hello_World/deps'.

Writing mtb file for asset 'cat1cm0p' to the folder 'C:/Users/marek/mtw/Hello_World/libs'.

Writing mtb file for asset 'core-lib' to the folder 'C:/Users/marek/mtw/Hello_World/libs'.

Writing mtb file for asset 'core-make' to the folder 'C:/Users/marek/mtw/Hello_World/libs'.

Writing mtb file for asset 'mtb-hal-cat1' to the folder 'C:/Users/marek/mtw/Hello_World/libs'.

Writing mtb file for asset 'mtb-pdl-cat1' to the folder 'C:/Users/marek/mtw/Hello_World/libs'.

Writing mtb file for asset 'recipe-make-cat1a' to the folder 'C:/Users/marek/mtw/Hello_World/libs'.

Writing mtb file for asset 'cmsis' to the folder 'C:/Users/marek/mtw/Hello_World/libs'.

Writing mtb file for asset 'retarget-io' to the folder 'C:/Users/marek/mtw/Hello_World/deps'.

Starting: git -C C:/Users/marek/mtw/Hello_World/libs clone --origin cypress --no-checkout https://github.com/Infineon/TARGET_CY8CEVAL-062S2 TARGET_CY8CEVAL-062S2

Starting: git -C C:/Users/marek/mtw/mtb_shared/retarget-io clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/retarget-io release-v1.5.0

Starting: git -C C:/Users/marek/mtw/mtb_shared/cat1cm0p clone --origin cypress --no-checkout https://github.com/Infineon/cat1cm0p release-v1.1.0

Starting: git -C C:/Users/marek/mtw/mtb_shared/core-lib clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/core-lib release-v1.4.1

Cloning into 'TARGET_CY8CEVAL-062S2'...

Cloning into 'release-v1.1.0'...

Cloning into 'release-v1.4.1'...

Cloning into 'release-v1.5.0'...

Success: git -C C:/Users/marek/mtw/mtb_shared/retarget-io clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/retarget-io release-v1.5.0

Starting: git -C C:/Users/marek/mtw/mtb_shared/core-make clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/core-make release-v3.2.2

Success: git -C C:/Users/marek/mtw/Hello_World/libs clone --origin cypress --no-checkout https://github.com/Infineon/TARGET_CY8CEVAL-062S2 TARGET_CY8CEVAL-062S2

Starting: git -C C:/Users/marek/mtw/mtb_shared/mtb-hal-cat1 clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/mtb-hal-cat1 release-v2.4.2

Success: git -C C:/Users/marek/mtw/mtb_shared/cat1cm0p clone --origin cypress --no-checkout https://github.com/Infineon/cat1cm0p release-v1.1.0

Starting: git -C C:/Users/marek/mtw/mtb_shared/mtb-pdl-cat1 clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/mtb-pdl-cat1 release-v3.6.0

Success: git -C C:/Users/marek/mtw/mtb_shared/core-lib clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/core-lib release-v1.4.1

Starting: git -C C:/Users/marek/mtw/mtb_shared/recipe-make-cat1a clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/recipe-make-cat1a release-v2.1.1

Cloning into 'release-v3.2.2'...

Cloning into 'release-v2.4.2'...

Cloning into 'release-v3.6.0'...

Cloning into 'release-v2.1.1'...

Success: git -C C:/Users/marek/mtw/mtb_shared/recipe-make-cat1a clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/recipe-make-cat1a release-v2.1.1

Starting: git -C C:/Users/marek/mtw/mtb_shared/cmsis clone --origin cypress --no-checkout https://github.com/Infineon/cmsis release-v5.8.0

Success: git -C C:/Users/marek/mtw/mtb_shared/core-make clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/core-make release-v3.2.2

Starting: git -C C:/Users/marek/mtw/mtb_shared/retarget-io/release-v1.5.0 -c advice.detachedHead=false checkout release-v1.5.0 --force

Cloning into 'release-v5.8.0'...

HEAD is now at db7f962 Upload retarget-io [1515]

Success: git -C C:/Users/marek/mtw/mtb_shared/retarget-io/release-v1.5.0 -c advice.detachedHead=false checkout release-v1.5.0 --force

Starting: git -C C:/Users/marek/mtw/Hello_World/libs/TARGET_CY8CEVAL-062S2 -c advice.detachedHead=false checkout release-v4.2.0 --force

Success: git -C C:/Users/marek/mtw/mtb_shared/cmsis clone --origin cypress --no-checkout https://github.com/Infineon/cmsis release-v5.8.0

Starting: git -C C:/Users/marek/mtw/mtb_shared/cat1cm0p/release-v1.1.0 -c advice.detachedHead=false checkout release-v1.1.0 --force

Success: git -C C:/Users/marek/mtw/mtb_shared/mtb-hal-cat1 clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/mtb-hal-cat1 release-v2.4.2

Starting: git -C C:/Users/marek/mtw/mtb_shared/core-lib/release-v1.4.1 -c advice.detachedHead=false checkout release-v1.4.1 --force

HEAD is now at

 4995428 Upload cat1cm0p 1.1.0.224 [1514]

Success: git -C C:/Users/marek/mtw/mtb_shared/cat1cm0p/release-v1.1.0 -c advice.detachedHead=false checkout release-v1.1.0 --force

Starting: git -C C:/Users/marek/mtw/mtb_shared/recipe-make-cat1a/release-v2.1.1 -c advice.detachedHead=false checkout release-v2.1.1 --force

HEAD is now at 1000ea7 Upload TARGET_CY8CEVAL-062S2 [1515]

Success: git -C C:/Users/marek/mtw/Hello_World/libs/TARGET_CY8CEVAL-062S2 -c advice.detachedHead=false checkout release-v4.2.0 --force

Starting: git -C C:/Users/marek/mtw/mtb_shared/core-make/release-v3.2.2 -c advice.detachedHead=false checkout release-v3.2.2 --force

HEAD is now at 9cbdee3 Upload recipe-make-cat1a 2.1.1.4648 [1380]

HEAD is now at a74be8b Upload core-lib [1796]

Success: git -C C:/Users/marek/mtw/mtb_shared/recipe-make-cat1a/release-v2.1.1 -c advice.detachedHead=false checkout release-v2.1.1 --force

Starting: git -C C:/Users/marek/mtw/mtb_shared/cmsis/release-v5.8.0 -c advice.detachedHead=false checkout release-v5.8.0 --force

Success: git -C C:/Users/marek/mtw/mtb_shared/core-lib/release-v1.4.1 -c advice.detachedHead=false checkout release-v1.4.1 --force

Starting: git -C C:/Users/marek/mtw/mtb_shared/mtb-hal-cat1/release-v2.4.2 -c advice.detachedHead=false checkout release-v2.4.2 --force

HEAD is now at b962a1e Upload core-make 3.2.2.4739 [1647]

Success: git -C C:/Users/marek/mtw/mtb_shared/core-make/release-v3.2.2 -c advice.detachedHead=false checkout release-v3.2.2 --force

Success: git -C C:/Users/marek/mtw/mtb_shared/mtb-pdl-cat1 clone --origin cypress --no-checkout https://github.com/cypresssemiconductorco/mtb-pdl-cat1 release-v3.6.0

Starting: git -C C:/Users/marek/mtw/mtb_shared/mtb-pdl-cat1/release-v3.6.0 -c advice.detachedHead=false checkout release-v3.6.0 --force

HEAD is now at ce02f64 Upload cmsis 5.8.0.50

Success: git -C C:/Users/marek/mtw/mtb_shared/cmsis/release-v5.8.0 -c advice.detachedHead=false checkout release-v5.8.0 --force

HEAD is now at e746586 Upload mtb-hal-cat1 [1771]

Success: git -C C:/Users/marek/mtw/mtb_shared/mtb-hal-cat1/release-v2.4.2 -c advice.detachedHead=false checkout release-v2.4.2 --force

HEAD is now at 5322fee Upload mtb-pdl-cat1 3.6.0.26528 [1771]

Success: git -C C:/Users/marek/mtw/mtb_shared/mtb-pdl-cat1/release-v3.6.0 -c advice.detachedHead=false checkout release-v3.6.0 --force

Requested to change the active target to 'APP_CY8CEVAL-062S2'.

Removed the file 'C:/Users/marek/mtw/Hello_World/deps/TARGET_CY8CEVAL-062S2.mtb'.

Writing the file 'C:/Users/marek/mtw/Hello_World/libs/app.mk'.

Successfully committed changes to the project 'mtb-example-hal-hello-world'.

Project "Hello_World" created successfully.

Successfully created "Hello_World" application.

0 error(s), 0 warning(s)

 

Summary:

Successfully created "Hello_World" application.

image

 

The program allows you to check the basic communication : UART and simple I/O - blinking LED

what we see on the terminal - in my case it is the PuTTY  image client:

image

after reset (SW1)

image

 

 ****************** HAL: Hello World! Example ******************

Hello World!!!

For more projects, visit our code examples repositories:

https://github.com/Infineon/Code-Examples-for-ModusToolbox-Software

Press 'Enter' key to pause or resume blinking the user LED

video from example:  Hello_World

CAPSENSE Buttons and Slider

In the next step, I decided to test the CAPSENSE functionalities, known to me from the previous RT of Cypress  PSoC6 Pioneer Kit CY8CKIT

 

 

In the CAPSENSE example, we use slider and two CAPSENSE buttons. image

Button 0 turns the LED on, Button 1 turns the LED off and the slider controls the brightness of the LED.

 image

image

image

on terminal:

image

 

Browsing the resources of M.T. I discovered interesting tool, we can monitor data using CAPSENSE Tuner:  capsense-tuner.exe

image

 image

Open and open the design.cycapsense file for the respective kit, which is present in the bsps/TARGET_\<BSP-NAME>/config folder.

image

 image

image

image

image

image

image

 

 

PSoC 62S2 & Sterling-LWB5

Let's move on to full use of the set's peripherals. Here is a simple program that supports the WiFi card

 image

CY8CEVAL-062S2-LAI-4373M2 is the board support package for the PSoCTm 62S2 Evaluation Kit in combination with the Sterling-LWB5+ M.2 radio module 

and supports PSoCTm 6 MCU examples and Wi-Fi/Bluetooth connectivity examples.

 

Wi-Fi scan example

 image

image

My router was found, all necessary data was shared: RSSI (-91)   channel: 5 MAC address and protocol WPA2-AES-PSK.

 image

 

Usage of ModusToolbox Machine Learning Pack

ModusToolbox for Machine learning  provides support for both areas: prepare the Model and then train it.

I tried to follow the path dedicated in the instructions

Import model from TensorFlow training frameworks

Optimize my model for PSOC Oplatform

Validate the performance of the model by checking performance against test data

Generate optimized model code and libraries which are integrated with the ModusToolbox flow

sounds simple until now!

I was also very keen on imageTensorFlow.

image

https://www.tensorflow.org/?hl=pl

I planned to learn how to implement, use and assess it in an environment data analytics project.

Here is the record of my trials:

- > Install ModusToolbox Machine Learning Pack

for download Infineon account is required

image

modustoolboxpackmachinelearning_2.0.0.444_Windows_x64.exe

ml-configurator.exe

 image

image

folder  pretrained_models  - lack!!!

where is: $pre$

mtb_ml_gen

… Some weaks …

Unfortunately, I was surprised by the lack of required folders, so I stopped at this point for now.

 

Regarding failures, I have not been able to evaluate the tool bsp-assistant.exe

 image

 I also encountered a problem when trying to connect the CY8CEVAL set to the CY8CKIT-028-SENSE board.

video: sense CY8CKIT-028-SENSE board

I planed also to use CY8CKIT-028-TFT … But this too was beyond me.

image

ModusToolbox and CY8CKIT-062-WIFI-BT

I decided to test ModusToolbox with older board -the PSoC 6 WiFi-BT Pioneer Kit

That set consists of  PSoC 62 MCU (CY8C6247BZI-D54) and the Murata LBEE5KL1DX Module (CYW4343W WiFi + Bluetooth Combo Chip).

image

Both of the above examples:  Hello World and Capsense compile and run on the old PSoC CYPRYS board.

Of course, you need to choose the right set at ModusToolbox.

 image

Next stage - experiments with Machine Learning:

Machine Learning: Gesture classification

Connect the CY8CKIT-028-TFT shield to the baseboard.

 If using the CY8CKIT-028-SENSE shield, change SHIELD_DATA_COLLECTION=CY_028_TFT_SHIELD in the Makefile based on the shields revision.
  To check the version of CY8CKIT-028-SENSE, locate the sticker on the bottom of the shield's box which indicates the revision.
If the shield is Rev "**", use
SHIELD_DATA_COLLECTION=CY_028_SENSE_SHIELD_v1.

If the shield is Rev "*A", use SHIELD_DATA_COLLECTION=CY_028_SENSE_SHIELD_v2.

Connect the board to your PC using the provided USB cable through the KitProg3 USB connector.
Open a terminal program and select the KitProg3 COM port. Set the serial port parameters to 8N1 and 115200 baud.
Program the board using one of the following:
 Using Eclipse IDE for ModusToolboxTm Using CLI

After programming, the application starts automatically. Confirm that "Gesture Classification Example" and some log data are printed on the UART terminal.  The gesture classifications and confidence are updated continuously.

Hold the board with the orientation as shown below while moving your arm to complete a gesture:

image

BT mobile applications

 My previous tests of the PSoC Cyprys set involved the use of the BT application. Let's check if the previously used environment is still available

 What I used in the past:

Cypress Semiconductor Inc. mobile applications

image

image CySmart and   image Cypress® BLE-Beacon

https://play.google.com/store/apps/details?id=com.cypress.cypressblebeacon

https://play.google.com/store/apps/details?id=com.cypress.cysmart

are  still available

 

But WICED Sense  was cancelled

image

Anyway, the currently recommended app is AIROC Bluetooth Connect App.

https://play.google.com/store/apps/details?id=com.infineon.airocbluetoothconnect

image

 image

I decided to test it using the example BTSTACK: Bluetooth® LE hello sensor

image

 image

 image

***************************************

** Silicon: 0xE402, Family: 0x102, Rev.: 0x11 (A0)

** Detected Device: CY8C624ABZI-D44

** Detected Main Flash size, kb: 2048

** Flash Boot version: 3.1.0.129

** Chip Protection: NORMAL

***************************************


video: AIROC1


video: AIROC2

RoadTest Goals review

Remarks to "Test the getting started experience of ModusToolbox”

Many  resources even beyond I need were readily available to start developing with ModusToolbox

I can say that from a new user's perspective, the  ModusToolbox software was easy to install and user-friendly. Most of the activities are intuitive.

The program has good manuals and is rich in examples. My assessment on getting started with ModusToolboxis truly positive.

I started learning of ModusToolbox from reading three instructions:

Installation Guide

ModusToolbox tools package installation guide

https://www.infineon.com/dgdl/Infineon-ModusToolbox_3.1_a_Tools_Package_Installation_Guide-GettingStarted-v01_00-EN.pdf?fileId=8ac78c8c88704c7a0188a14ece234e39&redirId=180669

Infineon-ModusToolbox_3.1_a_Tools_Package_Installation_Guide-GettingStarted-v01_00-EN.pdf

User Manual

ModusToolbox tools package user guide

https://www.infineon.com/dgdl/Infineon-ModusToolbox_3.1_a_Tools_Package_User_Guide-GettingStarted-v01_00-EN.pdf?fileId=8ac78c8c88704c7a0188a14ed50b4e45&redirId=188343

Infineon-ModusToolbox_3.1_a_Tools_Package_User_Guide-GettingStarted-v01_00-EN.pdf

and

ModusToolbox tools package release notes:

https://www.infineon.com/dgdl/Infineon-ModusToolbox_3.1_a_Tools_Package_Release_Notes-GettingStarted-v01_00-EN.pdf?fileId=8ac78c8c88704c7a0188a14ed25c4e41&redirId=180671

Infineon-ModusToolbox_3.1_a_Tools_Package_Release_Notes-GettingStarted-v01_00-EN.pdf. 

Then I looked at

Getting started with PSoC 6 MCU on ModusToolbox software:

https://www.infineon.com/dgdl/Infineon-AN228571_Getting_started_with_PSoC_6_MCU_on_ModusToolbox_software-ApplicationNotes-v06_00-EN.pdf?fileId=8ac78c8c7cdc391c017d0d36de1f66d1&utm_source=cypress&utm_medium=referral&utm_campaign=202110_globe_en_all_integration-application_note

and

ModusToolbox tools package quick start guide:

https://www.infineon.com/dgdl/Infineon-ModusToolbox_3.1_a_Tools_Package_Quick_Start_Guide-GettingStarted-v01_00-EN.pdf?fileId=8ac78c8c88704c7a0188a14ed04c4e3d&redirId=180673

and finally I started to explore GitHub with many  ModusToolbox examples.

I can’t neglect information from videos Cypress/ Infineon community foras or Hackster resources:

https://www.hackster.io/news/introducing-modustoolbox-3-0-a-development-platform-with-enhanced-multi-core-workflow-support-e7fa9d2039c6?fbclid=IwAR2zY1BYg3YeLaJ1qLDPeAgXB2XUGo8XJM7jL0uh5qwt9pO3_I_q2WrYNGo.

All of the above are very informative. I like very much ModusToolbox Training Materials on GitHub

Regarding Code Examples most useful in getting started are simplest as Hello World or WiFi Scanner.

Referring to “Explore the flexibility of ModusToolbox”: I must confess I had some difficulties trying to integrate additional software using the ModusToolbox Library Manager

Despite its complexity I prefer the Eclipse environment for ModusToolbox.

Regarding “Working with the PSoC 62S2 Evaluation Kit and ModusToolbox”: I tried to implement expansion interfaces to a limited extent hence it is difficult to make a factual assessment.

However, the resources and functionality of ModusToolbox on the one hand, and the advancement of PSoC 62S2 on the other, guarantee the convenience of developing such projects.

Despite dealing only with simple projects, I can say that program and debugging of applications with the evaluation board went easy and smoothly.

Summary

As I wrote at the beginning, even a significant extension of the testing time did not allow me to familiarize myself with all the functionalities and possibilities of the PSOC set.

Honestly, I only dealt with the basic ones, described in the manuals and given in the examples. However, this allows us to very well assess the capabilities of systems based on PSoC 62.

Additional peripherals, including IO and communication modules, work perfectly and are easy to program.

Speaking of programming, I would like to rate Modus toolbox very highly. A powerful programming machine, but despite its universality and considerable complexity,

it does not pose a problem even for beginner designers.

I used to be intimidated by the eclipse environment. The amount of disk space and the multitude of additional "unnecessary" functions were irritating.

Now I changed my mind and rate it very well.

During this project, I see that compared to the previous tool PSoC Creator & PSoC Programmer & WICED Studio, the currently used ModusToolbox is more convenient.

The quality and accessibility of the documentation and the multitude of examples for both developing skills in PSOC modules and ModusToolbox software cannot be overestimated.

 

Thank you again for choosing me to participate in this program. I hope that I have not abused your trust by delaying the publication of this report.

I also hope to continue evaluating the kit and software.

Anonymous