psoc 6 tft display brands
The TFT Display Shield Board (CY8CKIT-028-TFT) has been designed such that a TFT display, audio devices, and sensors can interface with Infineon"s PSoC 6™ MCUs.
The TFT Display Shield Board is compatible with the PSoC 6™ WiFi-BT Pioneer Kit CY8CKIT-062-WiFi-BT and the PSoC 6™ BLE Pioneer Kit CY8CKIT-062-BLE. Refer to the respective kit guides for more details.
Today we are looking at the Cypress PSoC 6 WiFi-BT Pioneer Kit, an evaluation board designed to give both beginners and professionals an easy access point to their PSoC 6 line of dual MCUs.
The PSoC 6 consists of two MCUs, one primary Arm Cortex-M4 running at 150MHz, and a secondary 100MHz Arm Cortex M0+ for low power operation. The chip also features 1MB Flash and 288KB SRAM, connectivity for analog and digital peripherals, and Cypress patented CapSense touch-sensing system.
While the chips themselves are clearly powerful and fully featured, the Cypress PSoC 6 WiFi-BT Pioneer Kit (hereafter Pioneer Kit) offers a lot more outside of the SoC than in it.
The Pioneer Kit consists of an evaluation board for the PSoC 6, an LCD screen with some added sensor peripherals, a USB-a to USB Type-C connector, and several jumper cables that can double as aerials for the onboard capacitive proximity sensor.
The board breaks out most of the PSoC 6"s features, including the aforementioned CapSense proximity sensor, a five-segment CapSense slider, two CapSense buttons, and various options for I/O arranged to grant compatibility to Arduino Uno footprint peripherals. The board"s pin layout is designed to give compatibility with 3.3v Arduino shields when not using the LCD screen.
That is a lot to pack into a simple screen, but it"s been well thought out. Since it was designed alongside the evaluation boards for the PSoC 6, example code is already available, showing how these peripherals can work in working programs.
While cheaper boards feature the PSoC 6 (some of which we"ll be covering in the coming weeks), this kit gives you everything you need to prototype connected embedded IoT devices, and at $80, it promises a lot.
From a personal viewpoint, the Pioneer Kit was an exciting prospect. As I"ve said in the past, I"ve dabbled with many evaluation boards and MCUs, but this was my first experience with PSoC 6 and Cypress" tools.
Cypress advises using the ModusToolbox software environment for working with the PSoC 6 chipset. Based on Eclipse IDE, it should feel pretty familiar to those who"ve worked in Eclipse-based IDEs. The software is free, though it requires an account to download.
You"ll find a large selection of example projects in the ModusToolbox IDE (also available on GitHub). I feel like I"ve hardly scratched the surface of what I can do with the Pioneer Kit. One thing is for sure, with what I have here, I could learn almost everything I need to know about the PSoC 6 chipset, and as evaluation boards go, this is one of the most fully-featured I"ve used to date.
As I mentioned above, complete beginners might find getting started with the Cypress PSoC 6 WiFi-BT Pioneer Kit a little daunting. For everyone else, this is the perfect board for learning about the PSoC 6 dual-core chipsets and how they interact with the world around them.
This code example demonstrates how to use TFT Display available with CY8CKIT-062-WiFi-BT to print text messages. It also demonstrates how to use CapSense slider to control the intensity of a LED.
This example uses the TFT display driver available withCE222494 -PSoC 6 WICED WiFi Demoand the µGUI framework available in WICED Studio to control the TFT Display.
CapSense library available for CY8CKIT_062 platform (PSoC 6 MCU+LBEE5KL1DXmodule) in the WICED Studio is used for detecting the CapSense buttons touch and slider position.
2. Copy the extracted "PSoC_6_MCU" folder to WICED Studio installation directory under following path:
2. Slide your finger on the CapSense slider to change the intensity of the on-board LED. Also observe that the current finger position is shown on the display.
The PSoC® 6 WiFi-BT Pioneer Kit comes with 2.4” TFT Display shield board. The PSoC 62 MCU has 1MB of flash, enough to build a game with minimal graphics. The TFT Display shield has stereo audio codec “AK4954A”with I2S communication to play audio via headphone jack or speaker. In this game we have interfaced a 1W speaker to the audio output. Lookhereto learn more about the TFT Display.
The Eclipse IDE basedModusToolboxIs used for the development of the code. The firmware is developed on theFreeRTOSplatform withSegger emWin graphics libraryandboard utils Library’s. The full firmware is written in c and with separate FreeRTOS tasks for display and user input (CapSense). To play the game’s audio the wav file data (Audio Mono, format 16bit PCM) is stored in an array format.
WavToCodesoftware is used for converting audio file into byte array. There is no algorithm used to generate the puzzle matrix, predefined puzzle values are stored in 6x6 matrix array as a proof-of-concept demonstration. For GUI development the pictures are designed from Affinity Studio/Photoshop and emWin tools are used to convert the bitmap into byte arrays.
It’s a 6x6 sudoku game with six colors for each box. The rules are the same asnormal sudoku, but instead of numbers we have colors. After powerup the board starts with menu options to select the mode “EASY”, “MEDIUM”, and “HARD” using CapSense buttons. Press SW1 once to select the mode, and a second time to start the game. As soon as the game is loaded, the timer starts running.
CE223726 – PSoC 6 TFT Display Interface with EmWin Graphics Library Objective ® This code example shows how to control a TFT display using EmWin Graphics Library in PSoC 6 MCU. Overview This code example demonstrates how to display graphics on a TFT display using EmWin Graphics Display Library. EmWin graphics library implements 2D graphics and provides easy-to-use API functions to display text, 2D graphics (lines, rectangles, circles, etc.), and bitmap images.
PSoC 6 TFT Display Interface with EmWin Graphics Library Figure 3. Startup Screen and Instructions Screen www.cypress.com Document Number: 002-23726 Rev. *B...
PSoC 6 TFT Display Interface with EmWin Graphics Library Figure 4. Pages Shown in Sequence Important Note: When you build the project, you will see the following notification. Click OK. www.cypress.com Document Number: 002-23726 Rev. *B...
The library also communicates with the display driver using the 8-bit parallel interface implemented using the GraphicLCDIntf Component, and the LCD access routines defined in the LCDConf.c file. Application Code: The application code calls the EmWin graphics APIs to perform various graphics functions. www.cypress.com Document Number: 002-23726 Rev. *B...
Select the nOSnTS option for Core because this project does not use RTOS or Touch support. Figure 8. Core Option Select “FlexColor” option for the “LCD Driver” parameter. This driver supports the ST7789 display controller. Figure 9. Select LCD Driver Options Click Generate Application. Figure 10. Generate Application www.cypress.com Document Number: 002-23726 Rev. *B...
In the LCDConf.c file, write code in the _InitController function to initialize the hardware interface and display controller. The EmWin library calls this function during the initialization stage. Some code snippets from this function are shown below. www.cypress.com Document Number: 002-23726 Rev. *B...
The GUI_X.c file has timing functions used by the EmWin library. The content of this file varies based on the OS support selected. No modifications are required in this file for this code example. www.cypress.com Document Number: 002-23726 Rev. *B...
Figure 14. Port Pin Configuration for GraphicLCDIntf and SW2 Firmware: The main application is implemented in the main_cm4.c file. The following functions are performed in main: Initializing the EmWin graphics engine Displaying the startup screen www.cypress.com Document Number: 002-23726 Rev. *B...
In the previous Article (Part 1), I used an Arduino and two open source libraries to figure out the startup configuration sequence for a low cost 2.4″ TFT from MCUFriend. In Part 2, I will show you how to use that information to make a driver for a PSoC 6 running the Segger emWin graphics library.
Cypress has delivered a code example for the CY8CKIT-028-TFT shield called CE223726. This CE has all of the hardware connection setup for that shield, plus the integrated emWin middleware and a simple main that just displays 9 different screens.
The shield has a Newhaven 2.4″ 320×240 TFT with a Sitronix ST7789 driver. This display uses the “8080” interface for the display, the same parallel interface as my MCUFriend shield.
When you filter the list to “tft” by typing in the “Filter by” box you will see CE223726…. select it, then press “Create Project”. If it is not on your computer you need to press the little world symbol to download it.
Now on with modifying the project. First, you notice that the 2.4″ TFT shield has a different pin out than the CY8CKIT-028-TFT. Here is a picture of the back of the shield:
All right, you can see that the pins are different, so, the first step in fixing this project is to remap the pins to match the shield. Open up the Design Wide Resource pin configuration screen from the Workspace Explorer. And assign the Shield Pins to the correct PSoC 6 pins. Notice that I added a UART (which you can ignore)
The next thing that I need to do is update the schematic to reflect the ILI9341 speed. On page 226 of the ILI9341 datasheet you can see that during a write cycle the write pulse needs to be low twrl=15ns and high twrh=15ns and the whole cycle needs to be at least 66ns. For the read cycle the read pulse low trdl=45ns and the trdh=90ns. Unfortunately, I dont know what an “FM” read is versus a “ID” read… so I am going to assume we only do “ID” reads.
Armed with all of that information, we need to pick 3 numbers. An input clock, the # of read low pulse and the # of read high pulses. The write cycle needs to be at least 66ns so we need a minimum clock frequency of 30MHz which will have a period of 33ns. For the read we need 45ns low and 90ns high and a total of 160ns. This means the whole read cycle needs to be 160ns/33ns=4.8 clock cycles. To achieve this ill select 2 low (for 66ns) and 3 high (99 ns) total 165ns.
But wait. Why is the pulse width 40ns and 80ns? That means that the input clock is set to 25MHz (40ns period). Well it turns out that is exactly right. But if we typed in 30MHz how did we end up with 25MHz? If you look on the clocks tab of the design wide resources you will find that the source of the LCD_Clock is the Clk_Peri and it is running at 50MHz. When PSoC Creator figures out a clock, it can only choose a whole number divider, also known a 2 to synthesize the LCD_Clk, which means that the output frequency will actually be 25MHz. I am pretty sure that I could move things around and figure out a combination of dividers and clock frequencies to make it work, but that isnt the point today so Ill just move forward.
The driver is specified from table 33.42 on page 1193 of the emWin manual. Specifically, you tell it to use GUIDRV_FLEXCOLOR_F66709 which you can see support ILI9341 amongst others.
Then you need to tell what bus interface to use. When we setup the display, we told it that we wanted 16-bit color by sending 0x3A, 0x55. Here is a screen shot from the ILI9341 datasheet.
Now you need to tell it what bits mean what color. For this display 16-bit color is encoded at 5-bits of Red, 6-bits of Green and 5-bits of Blue. On Page 65 of the ILI9341 datasheet you can see that we should send 8-bits of command, 5 bits of red, 6-bits of green, 5-bits of blue, then the next pixel.
Now, the other little nasty part of things is that if I had written BGR=0 it still would not have worked. It turns out that emWin overwrites that bit when it rotates the screen. Why? Who the hell knows. Anyway, here is what Oleksandr says, “In your code in the initialization sequence you set 0x36 register to 0x48 so, BRG mode must be active and GUICC_565 palette must be correct. But FlexColor driver itself writes to the 0x36 register in order to setup display orientation. By default, driver set the BRG bit to zero, activating RGB mode.” Here is a rather vague description of what happens from the emWin documentation. [There is still an error here]
With the color order sorted out, the last thing that I change is the orientation of the display on line 309. Here is the entire configuration function:
Mouser Electronics, Inc., the industry"s leading New Product Introduction (NPI) distributor with the widest selection of semiconductors and electronic components, is now stocking the CY8CKIT-062-WiFi-BT PSoC® 6 Pioneer Kit from Cypress Semiconductor. Ideal for Internet of Things (IoT) applications and wearable devices, the PSoC 6 WiFi-BT Pioneer Kit enables the development of Wi-Fi applications using a high-performance Cypress PSoC 6 microcontroller.
The Cypress PSoC 6 Wi-Fi-BT Pioneer Kit, available from Mouser Electronics, includes a PSoC 6 WiFi-BT Pioneer Board, TFT display shield, necessary jumper wires, and a USB cable. The Pioneer Board offers header footprints for compatibility with Arduino UNO shields and Digilent® Pmod™ modules with operating voltages from 1.8V to 3.3V. The board also includes an onboard programmer and debugger with mass storage programming and custom applications support as well as 512 Mbits of NOR flash for expandable memory. The board’s five-segment slider, two buttons, and one proximity sensing header allow engineers to evaluate the latest generation of Cypress’ CapSense® capacitive-sensing technology. The Pioneer Kit’s TFT display shield includes a 2.4-inch module, six-axis motion sensor, ambient light sensor IC, and PDM microphone for voice input.
The Pioneer Board is based on a PSoC 62 microcontroller, coming soon to Mouser Electronics. The device delivers ultra-low-power performance with the critical security features required for IoT applications, integrating an Arm® Cortex®-M4 core and Arm Cortex-M0+ core, 1 MByte of flash, 288 Kbytes of SRAM, and 104 general-purpose inputs and outputs (GPIO). Additionally, the board features a USB Type-C power delivery system, plus a Murata LBEE5KL1DX module — based on a Cypress CYW4343W Wi-Fi and Bluetooth®combo chip — for 2.4-GHz WLAN and Bluetooth functionalities.
The PSoC 6 microcontroller capitalizes on Cypress’ proprietary ultra-low-power 40-nm SONOS process technology, which enables industry-leading power consumption with 22 µA/MHz and 15 µA/MHz of active power on the Arm Cortex-M4 and Cortex-M0+ cores, respectively. The powerful microcontroller also features software-defined analog and digital peripherals, multiple connectivity options and programmable analog-front-end (AFE) functions.
For more information about the PSoC 6 WiFi-BT Pioneer Kit, visit www.mouser.com/cypress-psoc6-wifi-bt-pioneer-kit. To learn more about the Cypress Semiconductor PSoC 6 microcontroller, go to www.mouser.com/cypress-psoc-6-soc.
November 13, 2018 - Mouser Electronics, Inc., the authorized global distributor with the newest semiconductors and electronic components, is now stocking the PSoC® 6 microcontroller from Cypress Semiconductor. Bridging the gap between power-hungry application processors and low‑performance microcontrollers, the ultra‑low‑power PSoC 6 microcontroller delivers all-in-one high-performance processing and critical security features that are purpose-built for Internet of Things (IoT) applications.
The Cypress PSoC 6 microcontroller, available from Mouser Electronics, utilizes a dual-core architecture, with an Arm® Cortex®‑M4 for high‑performance tasks and an Arm Cortex‑M0+ for low-power tasks. Active power consumption is as low as 22 μA/MHz for the M4 core, and 15 μA/MHz for the M0+ core. The highly flexible PSoC 6 architecture enables the addition of features, such as USB, Bluetooth® low energy, and other software‑defined peripherals to create custom analog front ends (AFEs) and digital interface circuits that address the needs of those IoT designs requiring multiple connectivity options.
For IoT security, PSoC 6 integrates a hardware-based Trusted Execution Environment with secure boot capability and integrated secure data storage to protect firmware, applications and secure assets such as cryptographic keys. The device also implements industry-standard symmetric and asymmetric cryptographic algorithms which include elliptical-curve cryptography, Advanced Encryption Standard (AES), and secure hash algorithms (SHA 1,2,3).
Mouser is also stocking the PSoC® 6 WiFi-BT Pioneer Kit, which provides a PSoC 6 WiFi-BT Pioneer Board, TFT display shield, necessary jumper wires, and a USB cable for evaluation and development. The Pioneer Board offers header footprints for compatibility with Arduino Uno shields and Digilent® Pmod™ modules, plus a five-segment slider, two buttons, and one proximity-sensing header that allow engineers to evaluate Cypress" CapSense® capacitive touch-sensing technology. The TFT display shield board includes a 2.4-inch display, six-axis motion sensor, ambient light sensor IC, and PDM microphone for voice input.
Mouser Electronics, a Berkshire Hathaway company, is an award-winning, authorized semiconductor and electronic component distributor focused on rapid New Product Introductions from its manufacturing partners for electronic design engineers and buyers. The global distributor"s website, Mouser.com, is available in multiple languages and currencies and features more than 5 million products from over 750 manufacturers. Mouser offers 23 support locations around the world to provide best-in-class customer service and ships globally to over 600,000 customers in more than 220 countries/territories from its 750,000 sq. ft. state-of-the-art facility south of Dallas, Texas. For more information, visit www.mouser.com.
We are happy to announceacollaboration with Cypress, one of the world’s leading designers and manufacturers of MCUs, Connectivity, and Memory for IoT and Automotive applications – on enabling Python onPSoC6MCUs.
We are starting off the enablement of Python onPSoCMCUs by adding Cypress’PSoC6WiFi-BT Pioneer Kit(CY8CKIT-062-WIFI-BT)to our list of supported devices.
This kit provides a rich hardware platform that enables designing and debugging of the PSoC 62 MCU and the Murata LBEE5KL1DX802.11n Wi-Fi and Dual-Mode Bluetooth ComboModule. The baseboard comes with 2 buttons, a 5-segment slider, and a proximity sensor. Using the 4th generation CapSense provided in the PSoC 62 Line, self- and mutual-capacitive-sensing systems can be evaluated with this kit. In addition, this kit comes with a TFT Display shield board thatfeaturesa 2.4 inch TFT display, motion and light sensors, anddigitalmicrophone.