element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Connected Cloud Challenge
  • Challenges & Projects
  • Design Challenges
  • Connected Cloud Challenge
  • More
  • Cancel
Connected Cloud Challenge
Blog PSOC 6: Chosing the platform and the tools (Blog #5)
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: neuromodulator
  • Date Created: 9 May 2020 5:53 AM Date Created
  • Views 1507 views
  • Likes 2 likes
  • Comments 5 comments
Related
Recommended

PSOC 6: Chosing the platform and the tools (Blog #5)

neuromodulator
neuromodulator
9 May 2020

The alternatives

 

The amount of tools and SDKs that can be used to program the PSOC6 is quite overwhelming, and choosing the right ones for a task is not simple, specially because the information to make the right decision is all scattered in the net. After some quick (and likely unreliable) research I found that Cypress provides 3 development tools:

  • PSOC Creator
  • Wiced
  • Modustoolbox

 

PSOC Creator is the oldest and most mature product, and supports visual programming to set up pins, UDB blocks (programmable logic), clocks, etc. The tool just works and from what I've read in Cypress's forums, everyone loves it. The main shortcoming of the tool is that it does not support WiFi or Bluetooth.

 

Wiced was apparently created to add WiFi and Bluetooth support (I don't understand why WiFi and Bluetooth could not be added to PSOC Creator). Wiced apparently doesn't support UDB, and from what I've read, not many are happy with the tool.

 

The newest tool is Modustoolbox, and is based on Eclipse. Modustoolbox supports WiFi and Bluetooth, and comes with some visual programming slightly reminiscent of PSOC Creator. It still doesn't support UDB blocks though, and apparently not that many are happy with the tool too.

 

As of ways to connect to the MQTT AWS services, there appear to be 3 alternatives:

  • Wiced RTOS
  • Amazon FreeRTOS
  • Mbed

 

I did not consider Wiced at all, since it appears to be the least popular alternative. Then between Amazon FreeRTOS and Mbed, Amazon FreeRTOS looked like a better alternative, because it is specially tailored to operate with AWS, and supports AWS over the air (OTA) updates.

 

 

Amazon FreeRTOS

 

I downloaded Modustoolbox and carefully followed Cypress's PDF instructions on how to download Amazon's FreeRTOS and compile its AWS demo. Instructions worked fine, the demo connected to an AWS MQTT broker and posted a few messages there before disconnecting. But then I found that after restarting the board it continuously failed to reconnect to the access point, and the virtual serial port log looked all broken apparently because of racing conditions. Here is a sample:

 

WLAN MAC Address : CC:C0:79:A7:03:56

WLAN Firmware    : wl0: Sep  5 2019 23:24:33 version 7.45.98.92 (r722362 CY) FWID 01-f7128517

WLAN CLM         : API: 12.2 Data: 9.10.39 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2019-09-05 23:10:00

WHD VERSION      : v1.70.0 : v1.70.0 : GCC 7.2 : 2019-12-02 04:14:53 -0600

.1 8308 [Tmr Svc] Wi-Fi failed to connect to AP Infinity-2.4G.

2 8308 [Tmr Svc] Connect to SoftAP Enter SSID for Soft AP using password Enter Password for Soft AP3 8327 [Tmr Svc] Wi-Fi configuration successful.

4 10111 [Tmr Svc] Write certificate...

5 10756 [Tmr Svc] Write certificate...

6 10977 [Tmr Svc] Warning: no persistent storage is available for the JITP certificate. The cerWLAN MAC Adtifi7 10978 dress : CE:[iot_threa] C0:79:A7:03[INFO ][DEMO:56

][lu] ---------STARTING DEMO--WLAN Firmwar-------

 

 

.e    : wl0: 8 10980 [ioSep  5 2019t_threa] [IN 23:24:33 vFO ][INIT][lersion 7.45u] SDK succe.98.92 (r72ssfully init2362 CY) FWialized.

ID 01-f7128517

WLAN CLM         : API: 12.2 Data: 9.10.39 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2019-09-05 23:10:00

WHD VERSION      : v1.70.0 : v1.70.0 : GCC 7.2 : 2019-12-02 04:14:53 -0600

Function whd_wifi_set_supplicant_key_timeout failed at line 535 checkres = 2007

Function whd_wifi_active_join_init failed at line 1004 checkres = 2007

Function whd_wifi_set_supplicant_key_timeout failed at line 535 checkres = 2007

Function whd_wifi_active_join_init failed at line 1004 checkres = 2007

Function whd_wifi_set_supplicant_key_timeout failed at line 535 checkres = 2007

Function whd_wifi_active_join_init failed at line 1004 checkres = 2007

 

These problems gave me a bad feeling, so I decided to give Mbed a try.

 

 

Mbed

 

I found a great Mbed tutorial at Allan Hawse's page: IoT Design with Cypress PSoCRegistered 6 MCUs and Wi-Fi/Bluetooth using ArmRegistered MbedTm, that begins with the basics to build an AWS MQTT client that sends the boards temperature. I downloaded the finished example and it just worked, so I thought that using the code as template would make coding a similar program a walk in the park.

 

After reading the whole tutorial I began learning about Mbed from the official documentation. The OS looked very neat, very high level and object oriented C++ based. Just like Allan Hawse, I decided to use Mbed Studio, an IDE with a Visual Studio Code feeling.

 

It didn't took long before problems start to pop up. Mbed Studio complained about not being able to flash the firmware except through copying the file to the virtual device, so in my attempt to fix the issue I installed: Windows serial configuration. This broke my drivers, and Mbed Studio could not recognized the board anymore. After several days of online searching and attempting different approaches I finally managed to fix the drivers.

  • Sign in to reply

Top Comments

  • neuromodulator
    neuromodulator over 5 years ago in reply to balearicdynamics +1
    Here https://community.cypress.com/docs/DOC-18348
  • neuromodulator
    neuromodulator over 5 years ago in reply to balearicdynamics +1
    I have had a lot of trouble. Yeah its odd, I then moved to Mbed, but it hasn't been a walk in the park. Mbed studio tends to lose the connection to the board, the debugger doesn't restart, sometimes crashes…
  • balearicdynamics
    balearicdynamics over 5 years ago in reply to neuromodulator +1
    I am still using RTOS, not because I know it very well but because it seems me the most reliable and compatible with was, that strongly sponsor it (has developed its own versions with libraries). If you…
  • balearicdynamics
    balearicdynamics over 5 years ago in reply to neuromodulator

    I am still using RTOS, not because I know it very well but because it seems me the most reliable and compatible with was, that strongly sponsor it (has developed its own versions with libraries). If you look a my last two posts of the challenge I think I have explained decently the process I followed; if you need more details just ask.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • neuromodulator
    neuromodulator over 5 years ago in reply to balearicdynamics

    I have had a lot of trouble. Yeah its odd, I then moved to Mbed, but it hasn't been a walk in the park. Mbed studio tends to lose the connection to the board, the debugger doesn't restart, sometimes crashes, and also behaves erratically. Then the libraries make references to old header files. And last but not least, I've been getting lots of apparently random crashes. Even when code has been halted in an infinite while loop.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • balearicdynamics
    balearicdynamics over 5 years ago in reply to neuromodulator

    So your issue sounds very strange. I have worked on Mac, but it is expected to have more trouble connecting hardware than Windows in these cases... Thank you for the info.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • neuromodulator
    neuromodulator over 5 years ago in reply to balearicdynamics

    Here https://community.cypress.com/docs/DOC-18348

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • balearicdynamics
    balearicdynamics over 5 years ago

    Can I ask from where do you download the AWS-IoT Demo suite for Modus? Cypress site or AWS site?

     

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube