{"id":18346500,"url":"https://github.com/infineon/training-modustoolbox-level2-psoc","last_synced_at":"2025-10-23T13:41:47.392Z","repository":{"id":65726939,"uuid":"399969935","full_name":"Infineon/training-modustoolbox-level2-psoc","owner":"Infineon","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-02T19:50:34.000Z","size":19602,"stargazers_count":6,"open_issues_count":0,"forks_count":4,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-03-15T07:57:09.268Z","etag":null,"topics":["modustoolbox","training"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Infineon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-25T22:14:24.000Z","updated_at":"2024-03-15T07:57:09.268Z","dependencies_parsed_at":"2023-02-19T12:15:28.708Z","dependency_job_id":null,"html_url":"https://github.com/Infineon/training-modustoolbox-level2-psoc","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Infineon%2Ftraining-modustoolbox-level2-psoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Infineon%2Ftraining-modustoolbox-level2-psoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Infineon%2Ftraining-modustoolbox-level2-psoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Infineon%2Ftraining-modustoolbox-level2-psoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Infineon","download_url":"https://codeload.github.com/Infineon/training-modustoolbox-level2-psoc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223245058,"owners_count":17112572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["modustoolbox","training"],"created_at":"2024-11-05T21:11:41.071Z","updated_at":"2025-10-23T13:41:42.356Z","avatar_url":"https://github.com/Infineon.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ModusToolbox™ Software Training Level 2 – PSoC™ MCUs\n\nThis is a 2nd level ModusToolbox™ training class. It covers PSoC™ 6 and PSoC™ 4 MCUs.\n\nThe material and examples demonstrate the use of peripherals such as GPIOs, PWMs, ADCs,\nUARTs, etc. CAPSENSE™ and DMA are covered in detail, as is the use of low power modes and dual core.\n\n## Pre-requisites\n\n- ModusToolbox™ Software Training Level 1 - Getting Started\n\n## Organization\n\n- *Manual*:    This directory contains the manual chapters.\n- *Projects*:  This directory contains solutions to exercises.\n- *Templates*: This directory contains starting template applications for some exercises.\n\n## Manual Chapters\n\nThis class consists of 8 chapters:\n- Chapter 1: Introduction - Overall introduction to PSoC™ devices\n- Chapter 2: Peripherals - Description of the PDL and HAL middleware, how to use them to interact with PSoC™ peripherals\n- Chapter 3: RTOS - Introduction to using an RTOS with PSoC™\n- Chapter 4: CAPSENSE - Description of Infineon's CAPSENSE™ solution, how to use CAPSENSE™ tools and middleware\n- Chapter 5: Low-Power - Description of PSoC™ low power, how to use low power modes\n- Chapter 6: DMA - Description of PSoC™ Direct Memory Access, how to use DMA\n- Chapter 7: Dual Core - Learn about dual core applications on PSoC 6 and inter-process communication\n- Chapter 8: Supplementary Material - Additional background electronics information\n\n## Hardware\n\nThere are several different kits that may be used in the exercises for this class.\n\nOne or more of the following MCU kits is required:\n\n- CY8CKIT-062S2-43012 (PSoC™ 62S2 Wi-Fi BT Pioneer Kit)\n- CYW20829M2EVK-02 (AIROC™ CYW20829 Bluetooth® Low Energy SoC Evaluation Kit) - does not support CAPSENSE or dual core exercises\n- CY8CPROTO-062-4343W (PSoC™ 6 Wi-Fi BT Prototyping kit) - does not support OLED or I2C exercises\n- CY8CPROTO-062S2-43439 (PSoC™ 6 Wi-Fi BT Prototyping kit) - does not support OLED or I2C exercises\n- CY8CKIT-149 (PSoC™ 4100S Plus Prototyping Kit) - does not support HAL or dual core exercises\n\nThe following shield board is required to do the OLED and I2C exercises. You must also have either the CY8CKIT-062S2-43012 or CYW20829M2EVK-02 to connect the shield.\n\n- CY8CKIT-028-SENSE (Shield Board containing sensors, microphones and an OLED display)\n\nAn ammeter is required if you want to measure current consumption for the low-power exercises in chapter 5:\n\n- Ammeter (for low power chapter exercises)\n\n## Videos\n\nVideos are available for many of the topics from this class. See the list below for links to the videos.\n\n| Title | Description |\n|-------|-------------|\n| [How-To: Starting with a new application](https://e.video-cdn.net/share?video-id=CCBLCmsjnWMTHiK2Y-FAEZ\u0026player-id=2t2W2ykrDB_RisZ1QorEJU\u0026channel-id=89141) | In this video we walk through creating a new application based off of the PSoC™ 6 Empty Application template. The video showcases both the Eclipse IDE for ModusToolbox™ and Microsoft Visual Studio Code. This How-To segment will serve a the initial step for following How-To videos. |\n| [How-To: Blinking an LED with a GPIO](https://e.video-cdn.net/share?video-id=DKF1YvrLhaWjf46JiqFAvD\u0026player-id=2t2W2ykrDB_RisZ1QorEJU\u0026channel-id=89141) | In this video we walk through developing a basic Blinky LED application using both the Hardware Abstraction Layer and the lower-level Peripheral Driver Libraries for PSoC™ 6. |\n| [How-To: Blinking an LED with a PWM](https://e.video-cdn.net/share?video-id=Brc4rJquuXCJ5YZFTLwwtn\u0026player-id=2t2W2ykrDB_RisZ1QorEJU\u0026channel-id=89141) | In this video we extend the concept of a Blinky LED with the capability of a hardware Timer/Counter/PWM peripheral. The walk through will illustrate using both the Hardware Abstraction Layer and the lower-level Peripheral Driver Libraries for PSoC™ 6. |\n| [How-To: Using a GPIO interrupt](https://e.video-cdn.net/share?video-id=8BzX3rBcfUo3nxaQTeVGxc\u0026player-id=2t2W2ykrDB_RisZ1QorEJU\u0026channel-id=89141) | In this video we walk through the development of an interrupt enabled GPIO button. The video illustrates the APIs and concepts with both the Hardware Abstraction Layer and the lower-level Peripheral Driver Libraries for PSoC™ 6. |\n\n## References\n\nAdditional information can be found at:\n- https://www.cypress.com/products/modustoolbox\n- https://www.cypress.com/products/32-bit-arm-cortex-m0-psoc-4\n- https://www.cypress.com/products/psoc-6-microcontrollers-32-bit-arm-cortex-m4m0","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfineon%2Ftraining-modustoolbox-level2-psoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfineon%2Ftraining-modustoolbox-level2-psoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfineon%2Ftraining-modustoolbox-level2-psoc/lists"}