Hello Infineon Community!
My name is Shanth Gopalswamy. I joined Infineon as an intern after my second year at Northwestern University studying Cognitive Science, Physics, and Jazz Guitar—yes, a very interesting skillset to be interning at a semiconductor company. As you may already be able to tell, my interests are very scattered but have led me to Infineon in search of a creative role within a technical field. Such a role is exactly what I found. Though my title may designate me as an intern for Infineon’s Application Go-to-Market group, I have had the opportunity to branch off into multiple different areas in the product marketing chain from conducting competitive analyses to developing strategic application and partner sales collaterals and now writing on my experiences with Infineon’s ModusToolbox™ Software and Tools—which is quickly becoming the most flexible development environment for the IoT.
Considering my time with Infineon was spent working remotely, I still feel as though I was able to stay closely connected to the company and the people I was working with. I kept in close contact with my direct manager, and met many different colleagues from all around our product division including VPs, Marketing and Sales Directors, and Product Line managers. Creating a connection with such a wide spectrum of the Infineon community gave me access to a large scope of knowledge and helped me experience multiple perspectives with respect to the product chain and in a more general sense.
Having worked with different software platforms in my collected experiences with software development, I was eager to work with ModusToolbox™ as it is after all Infineon’s flagship software resource. From the moment I began working with ModusToolbox™, I was ensured of the high quality and continued support. The development toolbox makes possible an immersive experience for those creating convergent MCU and Wireless Systems and is as complete of an offering as it gets. It is unique in creating an environment that is flexibly suited for both closed, proprietary flows and open platforms enabling feature-rich applications. Not to mention, there is an abundance of cutting-edge configurators and a customizable platform of compiler, editor, and debugger which contribute significantly to the optimal developer experience.
With such an abundance of resources from set up guides to kit manuals, getting started with ModusToolbox™ was made fairly easy. I used it with the intention of developing a PSoC™ 6 application on the PSoC™ 62S2 Wi-Fi Bluetooth Pioneer Kit, a low-cost hardware platform featuring the CYW43012 Wi-Fi + Bluetooth Combo Chip and the PSoC™ 62 product line.
It is almost inevitable to run into road blocks along any IoT project development process. However, I found that the ModusToolbox™ Developer Documentation Platform provided all necessary resources to overcome these roadblocks while also sharing additional information on some of the relevant configurators and middleware provided by ModusToolbox™, all in one, easy-to-use online based format
Any slight obstacle I encountered was easily solvable with the help of either the Eclipse ModusToolbox™ IDE User Guide, the ModusToolbox™ User Guide itself, or the KitProg3 User Guide meant specifically for the PSoC™ 6 Pioneer Kit. All were linked in the Developer Documentation Platform as deemed relevant. Project examples are easily loadable when just starting out, and the process of building, debugging, and finally executing the examples is made quick and entirely unproblematic.
Code examples are organized and made easily accessible in a GitHub repository. There is a wide range of examples to choose from, and each is incredibly helpful and demonstrative of the technical capabilities offered by Infineon products. Some are dedicated to peripherals included on PSoC™ 6: one demonstrates the creation of a low-power CapSense™ design (Infineon’s flagship capacitive sensing technology) and another demonstrates how to use I2C in Master mode with an EzI2C slave. The GitHub repository also contains application-based code examples such as configuring the USB block in a PSoC™ 6 MCU as a Human Interface Device (HID). Connectivity examples are available as well and demonstrate PSoC™ 6 abilities like detecting a USB suspend condition and entering a low power state or using the integrated IPC to implements a message pipe and communicate between two CPUs.
I had the chance to go through a couple code examples myself, starting with MCUboot-Based Basic Bootloader. The README file was very helpful in providing an initial introduction to MCUboot and the two bundled applications being used: Bootloader app and Blinky app. A walkthrough is provided for developers using Eclipse IDE for ModusToolbox™, those working in the CLI, and of course developers working in third-party IDEs. I fell into the first category of the three. Screenshots of what the Terminal should display after each build are provided which help serve as useful checkpoints along the way. With these interactive and informative walkthroughs, I was able to build and program the bootloader app, blinky app in BOOT mode, and blinky app in UPGRADE mode without issue.
As someone who is naturally quite curious about the details of what I am working with, I am appreciative that the README provided a subsequent section dedicated to going more in-depth in the design and implementation. This code example in particular used ModusToolbox™ resources such as BSPs (Board Support Packages) and psoc6make to contribute to the development experience. The BSPs provided by ModusToolbox™ are curated packages for each Pioneer Kit, and psoc6make creates auto-generated source files from the configurator tools conditioned on the peripheral being enabled. The level of detail included in the Design and Implementation notes along with the supplemental graphics (e.g. A visual Bootloader App Flow and Flash Map Configuration) allowed me to both execute the code example successfully and understand the two applications—bootloader and blink—being implemented.
Beyond code examples, the Developer Documentation Platform supplies a number of middleware libraries that allowed me as the developer to fully experience the technical capabilities of PSoC™ 6. These include libraries for USB, Memory, Sensing, Display, and BLE. I found it most interesting to look into the different sensing capabilities that include more general offerings such as simultaneous samplings of analog inputs via SAR ADCs or more specific offerings such as reading a specific temperature sensor. The range of middleware libraries provided in addition to Base Libraries completed the range of specificity and complexity. I was able to use these libraries to slowly familiarize myself with both ModusToolbox™ and PSoC™ 6 and progress through the technical offerings.
Now that you have gotten an idea of my experience with ModusToolbox™, the supporting Developer Documentation Platform, and the PSoC™ 62S2 Wi-Fi BT Pioneer Kit, you can get started yourself! You can experiment with the same kit that I used or one of the many other kit offerings from Infineon.
Feel free to check out the Developer Documentation Platform or get in touch with our community of available tech support through our highly skilled applications engineers. Please reach out with any questions you might have through the comment section below this blog, and good luck with your next IoT project development powered by Infineon’s ModusToolbox™ Software and Tools.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.