{"id":22239,"date":"2021-02-23T16:14:01","date_gmt":"2021-02-23T12:44:01","guid":{"rendered":"https:\/\/thecaferobot.com\/learn\/?p=22239"},"modified":"2025-10-22T12:29:53","modified_gmt":"2025-10-22T08:59:53","slug":"interfacing-1-3-inch-spi-240x240-oled-full-color-ips-display-module-with-arduino","status":"publish","type":"post","link":"https:\/\/thecaferobot.com\/learn\/interfacing-1-3-inch-spi-240x240-oled-full-color-ips-display-module-with-arduino\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u0627\u0698\u0648\u0644 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 1.3 \u0627\u06cc\u0646\u0686 OLED \u062a\u0645\u0627\u0645 \u0631\u0646\u06af IPS \u062f\u0627\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 SPI \u0628\u0627 \u0622\u0631\u062f\u0648\u06cc\u0646\u0648"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"22239\" class=\"elementor elementor-22239\">\n\t\t\t\t\t\t<div class=\"elementor-inner\">\n\t\t\t\t<div class=\"elementor-section-wrap\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8d29fca elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8d29fca\" data-element_type=\"section\">\r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-row\">\r\n\t\t\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b420881\" data-id=\"b420881\" data-element_type=\"column\">\r\n\r\n\t\t\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-613445d5 elementor-widget elementor-widget-heading\" data-id=\"613445d5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0645\u0627\u0698\u0648\u0644 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 1.3 \u0627\u06cc\u0646\u0686 OLED \u062a\u0645\u0627\u0645 \u0631\u0646\u06af IPS <\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5208cb6a elementor-widget elementor-widget-text-editor\" data-id=\"5208cb6a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0646\u0645\u0627\u06cc\u0634\u06af\u0631\u0647\u0627\u06cc OLED \u0645\u0632\u0627\u06cc\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631\u06cc \u0646\u0633\u0628\u062a \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631\u0647\u0627\u06cc LCD \u0648 LED \u0642\u062f\u06cc\u0645\u06cc \u062f\u0627\u0631\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062a\u0645\u0627\u0645 \u0631\u0646\u06af \u0648 \u0628\u0627 \u06a9\u06cc\u0641\u06cc\u062a \u0628\u0633\u06cc\u0627\u0631 \u0628\u0627\u0644\u0627 \u0647\u0633\u062a\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 1.3 \u0627\u06cc\u0646\u0686 OLED \u062a\u0645\u0627\u0645 \u0631\u0646\u06af \u0628\u0648\u062f\u0647 \u0648 \u062f\u0627\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 SPI \u0627\u0633\u062a. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0631\u0632\u0648\u0644\u0648\u0634\u0646 \u0627\u06cc\u0646 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 240&#215;240 \u0628\u0648\u062f\u0647\u060c \u06cc\u0639\u0646\u06cc \u062f\u0627\u0631\u0627\u06cc 57600 \u067e\u06cc\u06a9\u0633\u0644 \u0627\u0633\u062a \u0648 \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0627\u0632 \u06a9\u06cc\u0641\u06cc\u062a \u0646\u0645\u0627\u06cc\u0634 \u0628\u0633\u06cc\u0627\u0631 \u0648\u0627\u0636\u062d \u0648 \u0634\u0641\u0627\u0641\u06cc \u0628\u0631\u062e\u0648\u0631\u062f\u0627\u0631 \u0627\u0633\u062a.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43d96117 elementor-widget elementor-widget-image\" data-id=\"43d96117\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/01\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-1.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-1\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjIyNDYsInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDFcLzEtMy1JbmNoLTI0MHgyNDAtSVBTLVNQSS1IRC1MQ0QtRnVsbC1Db2xvci1EaXNwbGF5LU9MRUQtTW9kdWxlLTEuanBnIn0%3D\">\n\t\t\t\t\t\t\t<img width=\"618\" height=\"600\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/01\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-1.jpg\" class=\"attachment-large size-large\" alt=\"\u0645\u0627\u0698\u0648\u0644 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 1.3 \u0627\u06cc\u0646\u0686 OLED \u062a\u0645\u0627\u0645 \u0631\u0646\u06af IPS\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-21bcfc1a elementor-widget elementor-widget-heading\" data-id=\"21bcfc1a\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0645\u0639\u0631\u0641\u06cc \u067e\u0627\u06cc\u0647 \u0647\u0627 (Pinout) \u0645\u0627\u0698\u0648\u0644 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 1.3 \u0627\u06cc\u0646\u0686 OLED \u062a\u0645\u0627\u0645 \u0631\u0646\u06af IPS<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c96c2b5 elementor-widget elementor-widget-text-editor\" data-id=\"3c96c2b5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0645\u0627\u0698\u0648\u0644 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 1.3 \u0627\u06cc\u0646\u0686 \u00a0OLED \u062f\u0627\u0631\u0627\u06cc 7 \u067e\u0627\u06cc\u0647 \u0628\u0647 \u0634\u0631\u062d \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p><ul><li><strong>GND<\/strong><strong>: <\/strong>\u0632\u0645\u06cc\u0646<\/li><li><strong>VCC<\/strong><strong>:<\/strong> \u062a\u063a\u0630\u06cc\u0647 \u0645\u0627\u0698\u0648\u0644 \u20133.3 \u0648\u0644\u062a<\/li><li><strong>SCL<\/strong><strong>:<\/strong> \u06a9\u0644\u0627\u06a9 SPI<\/li><li><strong>SDA<\/strong><strong>: <\/strong>\u062f\u06cc\u062a\u0627 SPI<\/li><li><strong>RES<\/strong><strong>:<\/strong> \u0631\u06cc\u0633\u062a<\/li><li><strong>DC<\/strong><strong>: <\/strong>\u0627\u0646\u062a\u062e\u0627\u0628 Data\/Command<\/li><li><strong>BLK<\/strong><strong>: <\/strong>\u06a9\u0646\u062a\u0631\u0644 \u0646\u0648\u0631 \u067e\u0633 \u00ad\u0632\u0645\u06cc\u0646\u0647<\/li><\/ul><p>\u067e\u06cc\u0646 \u0627\u0648\u062a (Pinout) \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0631\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u062a\u0635\u0648\u06cc\u0631 \u0632\u06cc\u0631 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-74689d64 elementor-widget elementor-widget-image\" data-id=\"74689d64\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/01\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Pin.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Pin\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjIyNDcsInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDFcLzEtMy1JbmNoLTI0MHgyNDAtSVBTLVNQSS1IRC1MQ0QtRnVsbC1Db2xvci1EaXNwbGF5LU9MRUQtTW9kdWxlLVBpbi5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"600\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/01\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Pin.jpg\" class=\"attachment-large size-large\" alt=\"\u067e\u06cc\u0646 \u0627\u0648\u062a Pinout \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 1.3 \u0627\u06cc\u0646\u0686\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-24fe4c00 elementor-widget elementor-widget-heading\" data-id=\"24fe4c00\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0644\u0648\u0627\u0632\u0645\u06cc \u06a9\u0647 \u0628\u0647 \u0622\u0646 \u0627\u062d\u062a\u06cc\u0627\u062c \u062f\u0627\u0631\u06cc\u062f<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1920b463 elementor-widget elementor-widget-image\" data-id=\"1920b463\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/01\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Required-Materials.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Required-Materials\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjIyNDgsInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDFcLzEtMy1JbmNoLTI0MHgyNDAtSVBTLVNQSS1IRC1MQ0QtRnVsbC1Db2xvci1EaXNwbGF5LU9MRUQtTW9kdWxlLVJlcXVpcmVkLU1hdGVyaWFscy5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img width=\"600\" height=\"500\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/01\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Required-Materials.jpg\" class=\"attachment-large size-large\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13c0cb01 elementor-widget elementor-widget-heading\" data-id=\"13c0cb01\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u0642\u0637\u0639\u0627\u062a \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 <\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e27c2af elementor-widget elementor-widget-html\" data-id=\"5e27c2af\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"table-2\">\r\n<table width=\"100%\" class=\"zebra\">\r\n<tbody>\r\n\r\n<tr>\r\n\t<td width=\"70%\">\u0622\u0631\u062f\u0648\u06cc\u0646\u0648 UNO R3 \r\n<\/td>\r\n\t<td class=\"center\" width=\"10%\">\u00d7<\/td>\r\n    <td class=\"center\" width=\"10%\">1<\/td>\r\n\t<td class=\"center\" width=\"10%\"><a href=\"http:\/\/thecaferobot.com\/store\/arduino-uno-r3\" target=\"_blank\"><i class=\"fa fa-shopping-cart\" style=\"\"><\/i><\/a><\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td width=\"70%\">\u0645\u0627\u0698\u0648\u0644 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 1.3 \u0627\u06cc\u0646\u0686 OLED \u062a\u0645\u0627\u0645 \u0631\u0646\u06af IPS \u062f\u0627\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 SPI \r\n<\/td>\r\n\t<td class=\"center\" width=\"10%\">\u00d7<\/td>\r\n    <td class=\"center\" width=\"10%\">1<\/td>\r\n\t<td class=\"center\" width=\"10%\"><a href=\"https:\/\/thecaferobot.com\/store\/1-3-inch-240x240-ips-spi-hd-lcd-full-color-display-oled-module\" target=\"_blank\"><i class=\"fa fa-shopping-cart\" style=\"\"><\/i><\/a><\/td>\r\n<\/tr>\r\n<tr>\r\n\t<td width=\"70%\">\u0633\u06cc\u0645 \u062c\u0627\u0645\u067e\u0631 \r\n<\/td>\r\n\t<td class=\"center\" width=\"10%\">\u00d7<\/td>\r\n    <td class=\"center\" width=\"10%\">1<\/td>\r\n\t<td class=\"center\" width=\"10%\"><a href=\"http:\/\/thecaferobot.com\/store\/40p-male-female-10cm-jumper-wire\" target=\"_blank\"><i class=\"fa fa-shopping-cart\" style=\"\"><\/i><\/a><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/div>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-14ac0485 elementor-widget elementor-widget-heading\" data-id=\"14ac0485\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3645af16 elementor-widget elementor-widget-html\" data-id=\"3645af16\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"table-2\">\r\n<table width=\"100%\" class=\"zebra\">\r\n<tbody>\r\n\r\n<tr>\r\n\t<td width=\"90%\">\u0622\u0631\u062f\u0648\u06cc\u0646\u0648 IDE<\/td>\r\n\t<td class=\"center\" width=\"10%\"><a href=\"https:\/\/www.arduino.cc\/en\/Main\/Software\" target=\"_blank\"><i class=\"fa fa-info\" style=\"\"><\/i><\/a><\/td>\r\n<\/tr>\r\n\r\n\r\n<\/tbody>\r\n<\/table>\r\n<\/div>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-26c3d15c elementor-widget elementor-widget-heading\" data-id=\"26c3d15c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u0627\u0698\u0648\u0644 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 1.3 \u0627\u06cc\u0646\u0686 OLED \u062a\u0645\u0627\u0645 \u0631\u0646\u06af IPS \u0628\u0627 \u0622\u0631\u062f\u0648\u06cc\u0646\u0648<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-51de8151 elementor-widget elementor-widget-heading\" data-id=\"51de8151\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u0627\u0648\u0644: \u0633\u06cc\u0645 \u0628\u0646\u062f\u06cc<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1305a4fd elementor-widget elementor-widget-text-editor\" data-id=\"1305a4fd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0631\u0627\u06cc \u06a9\u0627\u0631 \u06a9\u0631\u062f\u0646 \u0628\u0627 \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0628\u0627\u06cc\u062f \u0645\u0637\u0627\u0628\u0642 \u0645\u062f\u0627\u0631 \u0632\u06cc\u0631\u060c \u0645\u0627\u0698\u0648\u0644 \u0631\u0627 \u0628\u0647 \u0622\u0631\u062f\u0648\u06cc\u0646\u0648 \u0648\u0635\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-567ce1ce elementor-widget elementor-widget-image\" data-id=\"567ce1ce\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/02\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-circuit-1.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-circuit-1\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MzIxNTAsInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDJcLzEtMy1JbmNoLTI0MHgyNDAtSVBTLVNQSS1IRC1MQ0QtRnVsbC1Db2xvci1EaXNwbGF5LU9MRUQtTW9kdWxlLWNpcmN1aXQtMS5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"600\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/02\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-circuit-1.jpg\" class=\"attachment-large size-large\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/02\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-circuit-1.jpg 800w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/02\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-circuit-1-533x400.jpg 533w, https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/02\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-circuit-1-768x576.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5da9c36c elementor-widget elementor-widget-heading\" data-id=\"5da9c36c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u062f\u0648\u0645: \u0646\u0635\u0628 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e0c851c elementor-widget elementor-widget-text-editor\" data-id=\"7e0c851c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0628\u0647 Library manager \u0631\u0641\u062a\u0647 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 Adafruit GFX Library \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-197c9fb0 elementor-widget elementor-widget-image\" data-id=\"197c9fb0\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/01\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Library-1.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Library-1\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjIyNTAsInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDFcLzEtMy1JbmNoLTI0MHgyNDAtSVBTLVNQSS1IRC1MQ0QtRnVsbC1Db2xvci1EaXNwbGF5LU9MRUQtTW9kdWxlLUxpYnJhcnktMS5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img width=\"791\" height=\"449\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/01\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Library-1.jpg\" class=\"attachment-large size-large\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da8c3e3 elementor-widget elementor-widget-text-editor\" data-id=\"da8c3e3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0633\u067e\u0633 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 Arduino_ST7789_Fast \u0631\u0627 \u0627\u0632 <a style=\"letter-spacing: 0px; color: #d53e67; text-decoration-line: underline; background-color: #ffffff;\" href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/02\/Arduino_ST7789_Fast-master.zip\">\u0627\u06cc\u0646\u062c\u0627<\/a><span style=\"letter-spacing: 0px;\">\u00a0\u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f. \u067e\u0633 \u0627\u0632 \u062f\u0627\u0646\u0644\u0648\u062f \u0627\u06cc\u0646 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u060c \u0628\u0647 \u0642\u0633\u0645\u062a Include Library \u0631\u0641\u062a\u0647 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.<\/span><\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d772963 elementor-widget elementor-widget-image\" data-id=\"d772963\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/01\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Library-2.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Library-2\" e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjIyNTEsInVybCI6Imh0dHBzOlwvXC90aGVjYWZlcm9ib3QuY29tXC9sZWFyblwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDFcLzEtMy1JbmNoLTI0MHgyNDAtSVBTLVNQSS1IRC1MQ0QtRnVsbC1Db2xvci1EaXNwbGF5LU9MRUQtTW9kdWxlLUxpYnJhcnktMi5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img width=\"619\" height=\"375\" src=\"https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/01\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-Library-2.jpg\" class=\"attachment-large size-large\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-3ea751d8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3ea751d8\" data-element_type=\"section\">\r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-row\">\r\n\t\t\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-77c7e972\" data-id=\"77c7e972\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\r\n\r\n\t\t\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-16a96a3c elementor-view-stacked elementor-widget__width-auto elementor-absolute elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"16a96a3c\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"far fa-lightbulb\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-439528ea elementor-widget elementor-widget-heading\" data-id=\"439528ea\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">\u062a\u0648\u062c\u0647<\/h5>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-66f6136b elementor-widget elementor-widget-text-editor\" data-id=\"66f6136b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0627\u06af\u0631 \u0628\u0631\u0627\u06cc \u0646\u0635\u0628 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0628\u06cc\u0634\u062a\u0631 \u062f\u0627\u0631\u06cc\u062f\u060c \u0628\u0647 <a href=\"https:\/\/thecaferobot.com\/learn\/how-to-install-an-arduino-library\/\">\u0627\u06cc\u0646\u062c\u0627<\/a> \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-07e63cc elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"07e63cc\" data-element_type=\"section\">\r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-row\">\r\n\t\t\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-bf3f237\" data-id=\"bf3f237\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\r\n\r\n\t\t\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-698d81a elementor-view-stacked elementor-widget__width-auto elementor-absolute elementor-shape-circle elementor-widget elementor-widget-icon\" data-id=\"698d81a\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"far fa-lightbulb\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-412fe92 elementor-widget elementor-widget-heading\" data-id=\"412fe92\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">\u062a\u0648\u062c\u0647<\/h5>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36ed903 elementor-widget elementor-widget-text-editor\" data-id=\"36ed903\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u0627\u06af\u0631 \u0627\u0632 \u0628\u0631\u062f \u0647\u0627\u06cc ESP \u06cc\u0627 STM \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u06a9\u0646\u06cc\u062f. \u0627\u0632 <a href=\"https:\/\/github.com\/Bodmer\/TFT_eSPI\">\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 TFT_eSPI<\/a> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0628\u0646\u0645\u0627\u06cc\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/section>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-5c536f68 elementor-widget elementor-widget-heading\" data-id=\"5c536f68\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u06af\u0627\u0645 \u0633\u0648\u0645: \u06a9\u062f<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-217a1997 elementor-widget elementor-widget-text-editor\" data-id=\"217a1997\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u06a9\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0631\u0648\u06cc \u0628\u0631\u062f \u0622\u0631\u062f\u0648\u06cc\u0646\u0648 \u0622\u067e\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f. \u067e\u0633 \u0627\u0632 \u0622\u067e\u0644\u0648\u062f \u06a9\u062f\u060c \u067e\u0646\u062c\u0631\u0647 Serial Monitor \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-af7b79e elementor-widget elementor-widget-html\" data-id=\"af7b79e\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<pre class=\"line-numbers lang-arduino\"><code> \/* \r\nModified on Dec 8, 2020\r\nModified by MehranMaleki from Arduino Examples\r\nhttps:\/\/electropeak.com\/learn\/\r\n*\/\r\n\r\n\r\n\/\/ ST7789 library example\r\n\/\/ (c) 2019-20 Pawel A. Hernik\r\n\r\n\/*\r\n ST7789 240x240 IPS (without CS pin) connections (only 6 wires required):\r\n\r\n #01 GND -&gt; GND\r\n #02 VCC -&gt; VCC (3.3V only!)\r\n #03 SCL -&gt; D13\/SCK\r\n #04 SDA -&gt; D11\/MOSI\r\n #05 RES -&gt; D8 or any digital\r\n #06 DC  -&gt; D7 or any digital\r\n #07 BLK -&gt; NC\r\n*\/\r\n\r\n#define SCR_WD   240\r\n#define SCR_HT   240\r\n#include &lt;SPI.h&gt;\r\n#include &lt;Adafruit_GFX.h&gt;\r\n\r\n#if (__STM32F1__) \/\/ bluepill\r\n#define TFT_DC  PA1\r\n#define TFT_RST PA0\r\n\/\/#include &lt;Arduino_ST7789_STM.h&gt;\r\n#else\r\n#define TFT_DC  7\r\n#define TFT_RST 8\r\n#include &lt;Arduino_ST7789_Fast.h&gt;\r\n\/\/#include &lt;Arduino_ST7789.h&gt;\r\n#endif\r\n\r\nArduino_ST7789 tft = Arduino_ST7789(TFT_DC, TFT_RST);\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long FillScreenTest()\r\n{\r\n  unsigned long start = millis();\r\n  for(int i=0;i&lt;5;i++) {\r\n    tft.fillScreen(RED);\r\n    tft.fillScreen(GREEN);\r\n    tft.fillScreen(BLUE);\r\n    tft.fillScreen(YELLOW);\r\n  }\r\n  return millis()-start;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long ClearScreenTest()\r\n{\r\n  unsigned long start = millis();\r\n  for(int i=0;i&lt;5*4;i++) \r\n    tft.fillScreen(BLACK);\r\n  return millis()-start;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nconst uint16_t imgF[] PROGMEM = {0xF800,0xF840,0xF8A0,0xF900,0xF960,0xF9C0,0xFA20,0xFA80,0xFAE0,0xFB40,0xFBA0,0xFC00,0xFC60,0xFCC0,0xFD20,0xFD80,0xFDE0,0xFE40,0xFEA0,0xFF00,0xFF60,0xFFC0,0xFFE0,0xEFE0,0xE7E0,0xD7E0,0xCFE0,0xBFE0,0xB7E0,0xA7E0,0x9FE0,0x8FE0,0x87E0,0x77E0,0x6FE0,0x5FE0,0x57E0,0x47E0,0x3FE0,0x2FE0,0x27E0,0x17E0,0xFE0,0x7E0,0x7E1,0x7E3,0x7E4,0x7E6,0x7E7,0x7E9,0x7EA,0x7EC,0x7ED,0x7EF,0x7F0,0x7F2,0x7F3,0x7F5,0x7F6,0x7F8,0x7F9,0x7FB,0x7FC,0x7FE,0x7FF,0x79F,0x73F,0x6DF,0x67F,0x61F,0x5BF,0x55F,0x4FF,0x49F,0x43F,0x3DF,0x37F,0x31F,0x2BF,0x25F,0x1FF,0x19F,0x13F,0xDF,0x7F,0x1F,0x81F,0x101F,0x201F,0x281F,0x381F,0x401F,0x501F,0x581F,0x681F,0x701F,0x801F,0x881F,0x981F,0xA01F,0xB01F,0xB81F,0xC81F,0xD01F,0xE01F,0xE81F,0xF81F,0xF81F,0xF81D,0xF81C,0xF81A,0xF819,0xF817,0xF816,0xF814,0xF813,0xF811,0xF810,0xF80E,0xF80D,0xF80B,0xF80A,0xF808,0xF807,0xF805,0xF804,0xF802,0xF801,\r\n                                 0xF800,0xF840,0xF8A0,0xF900,0xF960,0xF9C0,0xFA20,0xFA80,0xFAE0,0xFB40,0xFBA0,0xFC00,0xFC60,0xFCC0,0xFD20,0xFD80,0xFDE0,0xFE40,0xFEA0,0xFF00,0xFF60,0xFFC0,0xFFE0,0xEFE0,0xE7E0,0xD7E0,0xCFE0,0xBFE0,0xB7E0,0xA7E0,0x9FE0,0x8FE0,0x87E0,0x77E0,0x6FE0,0x5FE0,0x57E0,0x47E0,0x3FE0,0x2FE0,0x27E0,0x17E0,0xFE0,0x7E0,0x7E1,0x7E3,0x7E4,0x7E6,0x7E7,0x7E9,0x7EA,0x7EC,0x7ED,0x7EF,0x7F0,0x7F2,0x7F3,0x7F5,0x7F6,0x7F8,0x7F9,0x7FB,0x7FC,0x7FE,0x7FF,0x79F,0x73F,0x6DF,0x67F,0x61F,0x5BF,0x55F,0x4FF,0x49F,0x43F,0x3DF,0x37F,0x31F,0x2BF,0x25F,0x1FF,0x19F,0x13F,0xDF,0x7F,0x1F,0x81F,0x101F,0x201F,0x281F,0x381F,0x401F,0x501F,0x581F,0x681F,0x701F,0x801F,0x881F,0x981F,0xA01F,0xB01F,0xB81F,0xC81F,0xD01F,0xE01F,0xE81F,0xF81F,0xF81F,0xF81D,0xF81C,0xF81A,0xF819,0xF817,0xF816,0xF814,0xF813,0xF811,0xF810,0xF80E,0xF80D,0xF80B,0xF80A,0xF808,0xF807,0xF805,0xF804,0xF802,0xF801};\r\nuint16_t img[SCR_WD+16];\r\nunsigned long DrawImageTest()\r\n{\r\n  for(int i=0;i&lt;SCR_WD+16;i++) img[i] = tft.rgbWheel(500L*i\/SCR_WD);\r\n  unsigned long start = millis();\r\n  for(int i=0;i&lt;5*4;i++) for(int y=0;y&lt;SCR_HT;y++) tft.drawImage(0,y,SCR_WD,1,img+(((y&gt;&gt;2)+i)&amp;0xf));\r\n  return millis()-start;\r\n}\r\n\r\n\/\/ ------------------------------------------------ \r\nunsigned long DrawImageFTest()\r\n{\r\n  unsigned long start = millis();\r\n  for(int i=0;i&lt;5*4;i++) for(int y=0;y&lt;SCR_HT;y++) tft.drawImageF(0,y,SCR_WD,1,imgF+(((y&gt;&gt;2)+i)&amp;0xf));\r\n  return millis()-start;\r\n}\r\n\/\/ ------------------------------------------------\r\n\/\/ original Adafruit\r\nunsigned long orig[14]={ 5872, 5872, 1468292,394696,2938532,132952,121996,4068208,925276,1319512, 1278096,1930524,602080,4649200 };\r\n\/\/ pre 18.09.2020 Fast\r\n\/\/unsigned long orig[14]={2645,3577,661616,114064,579036,56216,49500,1830864,222936,259340,175460,903348,138264,1853300};\r\n\r\nunsigned long res[14];\r\nvoid result(int i)\r\n{\r\n  Serial.print(res[i]);\r\n  if(res[i]&lt;1000000) Serial.print(&quot;\\t&quot;);\r\n  Serial.print(&quot;\\t\\t\\t&quot;);\r\n  Serial.print(100*orig[i]\/res[i]);\r\n  Serial.println(&quot;%&quot;);\r\n}\r\n\r\nvoid setup(void) \r\n{\r\n  Serial.begin(9600);\r\n  Serial.println(F(&quot;IPS 240x240 ST7789&quot;));\r\n  \/\/tft.reset();\r\n  \/\/tft.init(SCR_WD, SCR_HT);\r\n  tft.begin();\r\n  tft.fillScreen(BLACK);\r\n  tft.setCursor(0, 0);\r\n  tft.setTextColor(WHITE);  tft.setTextSize(2);\r\n  tft.println(&quot;IPS 240x240 ST7789&quot;);\r\n  tft.println(&quot;Library Benchmark&quot;);\r\n  tft.println(&quot;starts in 3s ...&quot;);\r\n  delay(3000);\r\n\r\n  Serial.println(F(&quot;Benchmark                Time (microseconds)&quot;));\r\n\r\n  res[0]=FillScreenTest();\r\n  Serial.print(F(&quot;FillScreen Mbps          &quot;));\r\n  Serial.println(String(res[0])+&quot;ms  &quot;+String(1000*20.0\/res[0])+&quot;fps  &quot;+String(20.0*SCR_WD*SCR_HT*16\/res[0]\/1000.0)+&quot; Mbps\\t&quot;+100*orig[0]\/res[0]+&quot;%&quot;);\r\n\/\/for(int i=0;i&lt;100;i++) tft.fillRect(i,i,SCR_WD-i*2,SCR_HT-i*2,tft.rgbWheel(i*10)); delay(1000);\r\n\r\n  res[1]=ClearScreenTest();\r\n  Serial.print(F(&quot;ClearScreen Mbps         &quot;));\r\n  Serial.println(String(res[1])+&quot;ms  &quot;+String(1000*20.0\/res[1])+&quot;fps  &quot;+String(20.0*SCR_WD*SCR_HT*16\/res[1]\/1000.0)+&quot; Mbps\\t&quot;+100*orig[1]\/res[1]+&quot;%&quot;);\r\n\r\n  res[1]=DrawImageTest();\r\n  Serial.print(F(&quot;DrawImage Mbps           &quot;));\r\n  Serial.println(String(res[1])+&quot;ms  &quot;+String(1000*20.0\/res[1])+&quot;fps  &quot;+String(20.0*SCR_WD*SCR_HT*16\/res[1]\/1000.0)+&quot; Mbps\\t&quot;+100*orig[1]\/res[1]+&quot;%&quot;); \r\n\r\n  res[1]=DrawImageFTest();\r\n  Serial.print(F(&quot;DrawImageF Mbps          &quot;));\r\n  Serial.println(String(res[1])+&quot;ms  &quot;+String(1000*20.0\/res[1])+&quot;fps  &quot;+String(20.0*SCR_WD*SCR_HT*16\/res[1]\/1000.0)+&quot; Mbps\\t&quot;+100*orig[1]\/res[1]+&quot;%&quot;); \r\n\r\n  res[2]=testFillScreen();\r\n  Serial.print(F(&quot;Screen fill              &quot;));\r\n  result(2);\r\n  delay(500);\r\n\r\n  res[3]=testText();\r\n  Serial.print(F(&quot;Text                     &quot;));\r\n  result(3);\r\n  delay(3000);\r\n\r\n  res[4]=testLines(CYAN);\r\n  Serial.print(F(&quot;Lines                    &quot;));\r\n  result(4);\r\n  delay(500);\r\n\r\n  res[5]=testFastLines(RED, BLUE);\r\n  Serial.print(F(&quot;Horiz\/Vert Lines         &quot;));\r\n  result(5);\r\n  delay(500);\r\n\r\n  res[6]=testRects(GREEN);\r\n  Serial.print(F(&quot;Rectangles (outline)     &quot;));\r\n  result(6);\r\n  delay(500);\r\n\r\n  res[7]=testFilledRects(YELLOW, MAGENTA);\r\n  Serial.print(F(&quot;Rectangles (filled)      &quot;));\r\n  result(7);\r\n  delay(500);\r\n\r\n  res[8]=testFilledCircles(10, MAGENTA);\r\n  Serial.print(F(&quot;Circles (filled)         &quot;));\r\n  result(8);\r\n\r\n  res[9]=testCircles(10, WHITE);\r\n  Serial.print(F(&quot;Circles (outline)        &quot;));\r\n  result(9);\r\n  delay(500);\r\n\r\n  res[10]=testTriangles();\r\n  Serial.print(F(&quot;Triangles (outline)      &quot;));\r\n  result(10);\r\n  delay(500);\r\n\r\n  res[11]=testFilledTriangles();\r\n  Serial.print(F(&quot;Triangles (filled)       &quot;));\r\n  result(11);\r\n  delay(500);\r\n\r\n  res[12]=testRoundRects();\r\n  Serial.print(F(&quot;Rounded rects (outline)  &quot;));\r\n  result(12);\r\n  delay(500);\r\n\r\n  res[13]=testFilledRoundRects();\r\n  Serial.print(F(&quot;Rounded rects (filled)   &quot;));\r\n  result(13);\r\n  delay(500);\r\n\r\n  Serial.println(F(&quot;Done!&quot;));\r\n  Serial.println(F(&quot;Results:&quot;));\r\n  for(int i=0;i&lt;14;i++) { Serial.print(res[i]); Serial.print(&quot;,&quot;); }\r\n  Serial.println();\r\n\r\n  int c1=YELLOW, c2=WHITE;\r\n  tft.fillScreen(BLACK);\r\n  tft.setCursor(0, 0);\r\n  tft.setTextSize(2);\r\n  tft.setTextColor(CYAN);\r\n  tft.println(&quot;RESULTS:&quot;);\r\n\r\n  tft.setTextSize(1);\r\n  tft.println();\r\n  tft.setTextColor(GREEN);\r\n  tft.println(F(&quot;Benchmark               Time (us)&quot;));\r\n  tft.setTextColor(c1); tft.print(F(&quot;FillScreen Mbps         &quot;));\r\n  tft.setTextColor(c2); tft.println(String(res[0])+&quot;ms &quot;+String(20.0*SCR_WD*SCR_HT*16\/res[0]\/1000.0)+&quot; Mbps&quot;);\r\n  \/\/tft.setTextColor(c1); tft.print(F(&quot;ClearScreen Mbps        &quot;));\r\n  \/\/tft.setTextColor(c2); tft.print(String(res[1])+&quot;ms &quot;+String(20.0*SCR_WD*SCR_HT*16\/res[1]\/1000.0)+&quot; Mbps&quot;);\r\n  tft.setTextColor(c1); tft.print(F(&quot;DrawImageF Mbps         &quot;));\r\n  tft.setTextColor(c2); tft.println(String(res[1])+&quot;ms &quot;+String(20.0*SCR_WD*SCR_HT*16\/res[1]\/1000.0)+&quot; Mbps&quot;);\r\n\r\n  tft.setTextColor(c1); tft.print(F(&quot;Screen fill             &quot;));\r\n  tft.setTextColor(c2); tft.println(res[3]);\r\n  tft.setTextColor(c1); tft.print(F(&quot;Text                    &quot;));\r\n  tft.setTextColor(c2); tft.println(res[4]);\r\n  tft.setTextColor(c1); tft.print(F(&quot;Lines                   &quot;));\r\n  tft.setTextColor(c2); tft.println(res[5]);\r\n  tft.setTextColor(c1); tft.print(F(&quot;Horiz\/Vert Lines        &quot;));\r\n  tft.setTextColor(c2); tft.println(res[6]);\r\n  tft.setTextColor(c1); tft.print(F(&quot;Rectangles (outline)    &quot;));\r\n  tft.setTextColor(c2); tft.println(res[8]);\r\n  tft.setTextColor(c1); tft.print(F(&quot;Rectangles (filled)     &quot;));\r\n  tft.setTextColor(c2); tft.println(res[9]);\r\n  tft.setTextColor(c1); tft.print(F(&quot;Circles (filled)        &quot;));\r\n  tft.setTextColor(c2); tft.println(res[10]);\r\n  tft.setTextColor(c1); tft.print(F(&quot;Circles (outline)       &quot;));\r\n  tft.setTextColor(c2); tft.println(res[11]);\r\n  tft.setTextColor(c1); tft.print(F(&quot;Triangles (outline)     &quot;));\r\n  tft.setTextColor(c2); tft.println(res[12]);\r\n  tft.setTextColor(c1); tft.print(F(&quot;Triangles (filled)      &quot;));\r\n  tft.setTextColor(c2); tft.println(res[13]);\r\n  tft.setTextColor(c1); tft.print(F(&quot;Rounded rects (outline) &quot;));\r\n  tft.setTextColor(c2); tft.println(res[14]);\r\n  tft.setTextColor(c1); tft.print(F(&quot;Rounded rects (filled)  &quot;));\r\n  tft.setTextColor(c2); tft.println(res[15]);\r\n  tft.setTextColor(RED); tft.println(F(&quot;Done!&quot;));\r\n}\r\n\r\n\/*\r\nOptimizations from 18.9.2020\r\n\r\n-- IPS 240x240 ST7789, back to old setAddrWindow() with writeSPI, flash: 28,550\r\nBenchmark                Time (microseconds)\r\nFillScreen Mbps          2609ms  7.67fps  7.06 Mbps 225%\r\nClearScreen Mbps         2609ms  7.67fps  7.06 Mbps 225%\r\nDrawImage Mbps           2740ms  7.30fps  6.73 Mbps 214%\r\nDrawImageF Mbps          3579ms  5.59fps  5.15 Mbps 164%\r\nScreen fill              652528       225%\r\nText                     109748       359%\r\nLines                    572992       512%\r\nHoriz\/Vert Lines         54696        243%\r\nRectangles (outline)     47916        254%\r\nRectangles (filled)      1805552      225%\r\nCircles (filled)         208212       444%\r\nCircles (outline)        255744       515%\r\nTriangles (outline)      173468       736%\r\nTriangles (filled)       880160       219%\r\nRounded rects (outline)  135920       442%\r\nRounded rects (filled)   1819660      255%\r\nDone!\r\nResults:\r\n2609,3579,652528,109748,572992,54696,47916,1805552,208212,255744,173468,880160,135920,1819660,\r\n\r\n\r\n-- IPS 240x240 ST7789 + back to old drawPixel, flash: 28,456\r\nBenchmark                Time (microseconds)\r\nFillScreen Mbps          2609ms  7.67fps  7.06 Mbps 225%\r\nClearScreen Mbps         2609ms  7.67fps  7.06 Mbps 225%\r\nDrawImage Mbps           2750ms  7.27fps  6.70 Mbps 213%\r\nDrawImageF Mbps          3588ms  5.57fps  5.14 Mbps 163%\r\nScreen fill              652540       225%\r\nText                     114004       346%\r\nLines                    609216       482%\r\nHoriz\/Vert Lines         54884        242%\r\nRectangles (outline)     48216        253%\r\nRectangles (filled)      1805640      225%\r\nCircles (filled)         213896       432%\r\nCircles (outline)        272036       485%\r\nTriangles (outline)      184020       694%\r\nTriangles (filled)       885728       217%\r\nRounded rects (outline)  142432       422%\r\nRounded rects (filled)   1821976      255%\r\nDone!\r\nResults:\r\n2609,3588,652540,114004,609216,54884,48216,1805640,213896,272036,184020,885728,142432,1821976,\r\n\r\n\r\n-- IPS 240x240 ST7789 - all previous + no _x\/ystart in setAddrWindow(), flash: 28,462\r\nBenchmark                Time (microseconds)\r\nFillScreen Mbps          2609ms  7.67fps  7.06 Mbps  225%\r\nClearScreen Mbps         2609ms  7.67fps  7.06 Mbps 225%\r\nDrawImage Mbps           2749ms  7.28fps  6.70 Mbps 213%\r\nDrawImageF Mbps          3588ms  5.57fps  5.14 Mbps 163%\r\nScreen fill              652536       225%\r\nText                     115248       342%\r\nLines                    622492       472%\r\nHoriz\/Vert Lines         54876        242%\r\nRectangles (outline)     48216        253%\r\nRectangles (filled)      1805608      225%\r\nCircles (filled)         213896       432%\r\nCircles (outline)        278020       474%\r\nTriangles (outline)      187872       680%\r\nTriangles (filled)       885744       217%\r\nRounded rects (outline)  144708       416%\r\nRounded rects (filled)   1821980      255%\r\nDone!\r\nResults:\r\n2609,3588,652536,115248,622492,54876,48216,1805608,213896,278020,187872,885744,144708,1821980,\r\n\r\n-- IPS 240x240 ST7789 optimized write and copy, flash 28,506\r\nBenchmark                Time (microseconds)\r\nFillScreen Mbps          2609ms  7.67fps  7.06 Mbps  225%\r\nClearScreen Mbps         2608ms  7.67fps  7.07 Mbps 225%\r\nDrawImage Mbps           2751ms  7.27fps  6.70 Mbps 213%\r\nDrawImageF Mbps          3592ms  5.57fps  5.13 Mbps 163%\r\nScreen fill              652552       225%\r\nText                     117240       336% (---)\r\nLines                    639400       459% (---)\r\nHoriz\/Vert Lines         54968        241%\r\nRectangles (outline)     48364        252%\r\nRectangles (filled)      1805680      225%\r\nCircles (filled)         216544       427%\r\nCircles (outline)        285624       461%\r\nTriangles (outline)      192788       662%\r\nTriangles (filled)       888328       217%\r\nRounded rects (outline)  147748       407% (---)\r\nRounded rects (filled)   1823064      255%\r\nDone!\r\nResults:\r\n2609,3592,652552,117240,639400,54968,48364,1805680,216544,285624,192788,888328,147748,1823064,\r\n\r\n-- IPS 240x240 ST7789 Fast original before 18.9.20 changes, flash: 29,356 bytes\r\nBenchmark                Time (microseconds)\r\nFillScreen Mbps          2645ms  7.56fps  6.97 Mbps  222%\r\nClearScreen Mbps         2645ms  7.56fps  6.97 Mbps 222%\r\nDrawImage Mbps           3026ms  6.61fps  6.09 Mbps 194%\r\nDrawImageF Mbps          3577ms  5.59fps  5.15 Mbps 164%\r\nScreen fill              661616       221%\r\nText                     114064       346%\r\nLines                    579036       507%\r\nHoriz\/Vert Lines         56216        236%\r\nRectangles (outline)     49500        246%\r\nRectangles (filled)      1830864      222%\r\nCircles (filled)         222936       415%\r\nCircles (outline)        259340       508%\r\nTriangles (outline)      175460       728%\r\nTriangles (filled)       903348       213%\r\nRounded rects (outline)  138264       435%\r\nRounded rects (filled)   1853300      250%\r\nDone!\r\nResults:\r\n2645,3577,661616,114064,579036,56216,49500,1830864,222936,259340,175460,903348,138264,1853300,\r\n\r\n-- IPS 240x240 ST7789 in COMPATIBILITY mode\r\nBenchmark                Time (microseconds)\r\nFillScreen Mbps          5361ms  3.73fps  3.44 Mbps  109%\r\nClearScreen Mbps         5362ms  3.73fps  3.44 Mbps 109%\r\nDrawImage Mbps           5665ms  3.53fps  3.25 Mbps 103%\r\nDrawImageF Mbps          5706ms  3.51fps  3.23 Mbps 102%\r\nScreen fill              1340716      109%\r\nText                     244268       161%\r\nLines                    1652188      177%\r\nHoriz\/Vert Lines         114840       115%\r\nRectangles (outline)     101892       119%\r\nRectangles (filled)      3711592      109%\r\nCircles (filled)         487852       189%\r\nCircles (outline)        741392       177%\r\nTriangles (outline)      494348       258%\r\nTriangles (filled)       1614292      119%\r\nRounded rects (outline)  363292       165%\r\nRounded rects (filled)   3761392      123%\r\nDone!\r\nResults:\r\n5361,5706,1340716,244268,1652188,114840,101892,3711592,487852,741392,494348,1614292,363292,3761392,\r\n\r\n*\/\r\n\r\n\/*\r\nIPS ST7789 original:\r\nBenchmark                Time (microseconds)\r\nFillScreen               5872ms 3.41fps\r\nClearScreen              5872ms 3.41fps\r\nScreen fill              1468292\r\nText                     394696\r\nLines                    2938532\r\nHoriz\/Vert Lines         132952\r\nRectangles (outline)     121996\r\nRectangles (filled)      4068208\r\nCircles (filled)         925276\r\nCircles (outline)        1319512\r\nTriangles (outline)      1278096\r\nTriangles (filled)       1930524\r\nRounded rects (outline)  602080\r\nRounded rects (filled)   4649200\r\nDone!\r\n\r\n\r\nIPS 240x240 ST7789 optimized - FINAL\r\nBenchmark                Time (microseconds)\r\nFillScreen               2645ms 7.56fps\r\nClearScreen              2645ms 7.56fps\r\nScreen fill              661488\r\nText                     108816\r\nLines                    563888\r\nHoriz\/Vert Lines         56192\r\nRectangles (outline)     49128\r\nRectangles (filled)      1830804\r\nCircles (filled)         270728\r\nCircles (outline)        250940\r\nTriangles (outline)      245104\r\nTriangles (filled)       897880\r\nRounded rects (outline)  135416\r\nRounded rects (filled)   2030816\r\nDone!\r\n\r\nFill speed:\r\n240*240*2 = 115 200b  *20 *8bit\/2.645 -&gt;6.9Mbps (!)\r\n\r\n\r\nIPS 240x240 ST7789\r\nBenchmark                Time (microseconds)\r\nFillScreen Mbps          2645ms  7.56fps  6.97 Mbps  222%\r\nClearScreen Mbps         2645ms  7.56fps  6.97 Mbps 222%\r\nScreen fill              661624       221%\r\nText                     109496       360%\r\nLines                    563888       521%\r\nHoriz\/Vert Lines         56216        236%\r\nRectangles (outline)     49168        248%\r\nRectangles (filled)      1830880      222%\r\nCircles (filled)         271772       340%\r\nCircles (outline)        251000       525%\r\nTriangles (outline)      245104       521%\r\nTriangles (filled)       898632       214%\r\nRounded rects (outline)  135368       444%\r\nRounded rects (filled)   2031308      228%\r\nDone!\r\n\r\n*\/\r\n\/\/ ------------------------------------------------\r\n\r\nvoid loop(void) \r\n{\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\n\r\nunsigned long testFillScreen() {\r\n  unsigned long start = micros();\r\n  tft.fillScreen(BLACK);\r\n  tft.fillScreen(RED);\r\n  tft.fillScreen(GREEN);\r\n  tft.fillScreen(BLUE);\r\n  tft.fillScreen(BLACK);\r\n  return micros() - start;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long testText() {\r\n  tft.fillScreen(BLACK);\r\n  unsigned long start = micros();\r\n  tft.setCursor(0, 0);\r\n  tft.setTextColor(WHITE);  tft.setTextSize(1);\r\n  tft.println(&quot;Hello World!&quot;);\r\n  tft.setTextColor(YELLOW); tft.setTextSize(2);\r\n  tft.println(1234.56);\r\n  tft.setTextColor(RED);    tft.setTextSize(3);\r\n  tft.println(0xDEADBEEF, HEX);\r\n  tft.println();\r\n  tft.setTextColor(GREEN);\r\n  tft.setTextSize(5);\r\n  tft.println(&quot;Groop&quot;);\r\n  tft.setTextSize(2);\r\n  tft.println(&quot;I implore thee,&quot;);\r\n  tft.setTextSize(1);\r\n  tft.println(&quot;my foonting turlingdromes.&quot;);\r\n  tft.println(&quot;And hooptiously drangle me&quot;);\r\n  tft.println(&quot;with crinkly bindlewurdles,&quot;);\r\n  tft.println(&quot;Or I will rend thee&quot;);\r\n  tft.println(&quot;in the gobberwarts&quot;);\r\n  tft.println(&quot;with my blurglecruncheon,&quot;);\r\n  tft.println(&quot;see if I don't!&quot;);\r\n  return micros() - start;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long testLines(uint16_t color) {\r\n  unsigned long start, t;\r\n  int           x1, y1, x2, y2,\r\n                w = tft.width(),\r\n                h = tft.height();\r\n\r\n  tft.fillScreen(BLACK);\r\n\r\n  x1 = y1 = 0;\r\n  y2    = h - 1;\r\n  start = micros();\r\n  for(x2=0; x2&lt;w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);\r\n  x2    = w - 1;\r\n  for(y2=0; y2&lt;h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);\r\n  t     = micros() - start; \/\/ fillScreen doesn't count against timing\r\n\r\n  tft.fillScreen(BLACK);\r\n\r\n  x1    = w - 1;\r\n  y1    = 0;\r\n  y2    = h - 1;\r\n  start = micros();\r\n  for(x2=0; x2&lt;w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);\r\n  x2    = 0;\r\n  for(y2=0; y2&lt;h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);\r\n  t    += micros() - start;\r\n\r\n  tft.fillScreen(BLACK);\r\n\r\n  x1    = 0;\r\n  y1    = h - 1;\r\n  y2    = 0;\r\n  start = micros();\r\n  for(x2=0; x2&lt;w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);\r\n  x2    = w - 1;\r\n  for(y2=0; y2&lt;h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);\r\n  t    += micros() - start;\r\n\r\n  tft.fillScreen(BLACK);\r\n\r\n  x1    = w - 1;\r\n  y1    = h - 1;\r\n  y2    = 0;\r\n  start = micros();\r\n  for(x2=0; x2&lt;w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);\r\n  x2    = 0;\r\n  for(y2=0; y2&lt;h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);\r\n\r\n  return micros() - start;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long testFastLines(uint16_t color1, uint16_t color2) {\r\n  unsigned long start;\r\n  int           x, y, w = tft.width(), h = tft.height();\r\n\r\n  tft.fillScreen(BLACK);\r\n  start = micros();\r\n  for(y=0; y&lt;h; y+=5) tft.drawFastHLine(0, y, w, color1);\r\n  for(x=0; x&lt;w; x+=5) tft.drawFastVLine(x, 0, h, color2);\r\n\r\n  return micros() - start;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long testRects(uint16_t color) {\r\n  unsigned long start;\r\n  int           n, i, i2,\r\n                cx = tft.width()  \/ 2,\r\n                cy = tft.height() \/ 2;\r\n\r\n  tft.fillScreen(BLACK);\r\n  n     = min(tft.width(), tft.height());\r\n  start = micros();\r\n  for(i=2; i&lt;n; i+=6) {\r\n    i2 = i \/ 2;\r\n    tft.drawRect(cx-i2, cy-i2, i, i, color);\r\n  }\r\n\r\n  return micros() - start;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long testFilledRects(uint16_t color1, uint16_t color2) {\r\n  unsigned long start, t = 0;\r\n  int           n, i, i2,\r\n                cx = tft.width()  \/ 2 - 1,\r\n                cy = tft.height() \/ 2 - 1;\r\n\r\n  tft.fillScreen(BLACK);\r\n  n = min(tft.width(), tft.height());\r\n  for(i=n; i&gt;0; i-=6) {\r\n    i2    = i \/ 2;\r\n    start = micros();\r\n    tft.fillRect(cx-i2, cy-i2, i, i, color1);\r\n    t    += micros() - start;\r\n    \/\/ Outlines are not included in timing results\r\n    tft.drawRect(cx-i2, cy-i2, i, i, color2);\r\n  }\r\n\r\n  return t;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long testFilledCircles(uint8_t radius, uint16_t color) {\r\n  unsigned long start;\r\n  int x, y, w = tft.width(), h = tft.height(), r2 = radius * 2;\r\n\r\n  tft.fillScreen(BLACK);\r\n  start = micros();\r\n  for(x=radius; x&lt;w; x+=r2) {\r\n    for(y=radius; y&lt;h; y+=r2) {\r\n      tft.fillCircle(x, y, radius, color);\r\n    }\r\n  }\r\n\r\n  return micros() - start;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long testCircles(uint8_t radius, uint16_t color) {\r\n  unsigned long start;\r\n  int           x, y, r2 = radius * 2,\r\n                w = tft.width()  + radius,\r\n                h = tft.height() + radius;\r\n\r\n  \/\/ Screen is not cleared for this one -- this is\r\n  \/\/ intentional and does not affect the reported time.\r\n  start = micros();\r\n  for(x=0; x&lt;w; x+=r2) {\r\n    for(y=0; y&lt;h; y+=r2) {\r\n      tft.drawCircle(x, y, radius, color);\r\n    }\r\n  }\r\n\r\n  return micros() - start;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long testTriangles() {\r\n  unsigned long start;\r\n  int           n, i, cx = tft.width()  \/ 2 - 1,\r\n                      cy = tft.height() \/ 2 - 1;\r\n\r\n  tft.fillScreen(BLACK);\r\n  n     = min(cx, cy);\r\n  start = micros();\r\n  for(i=0; i&lt;n; i+=5) {\r\n    tft.drawTriangle(\r\n      cx    , cy - i, \/\/ peak\r\n      cx - i, cy + i, \/\/ bottom left\r\n      cx + i, cy + i, \/\/ bottom right\r\n      tft.color565(0, 0, i));\r\n  }\r\n\r\n  return micros() - start;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long testFilledTriangles() {\r\n  unsigned long start, t = 0;\r\n  int           i, cx = tft.width()  \/ 2 - 1,\r\n                   cy = tft.height() \/ 2 - 1;\r\n\r\n  tft.fillScreen(BLACK);\r\n  start = micros();\r\n  for(i=min(cx,cy); i&gt;10; i-=5) {\r\n    start = micros();\r\n    tft.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,\r\n      tft.color565(0, i, i));\r\n    t += micros() - start;\r\n    tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,\r\n      tft.color565(i, i, 0));\r\n  }\r\n\r\n  return t;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long testRoundRects() {\r\n  unsigned long start;\r\n  int           w, i, i2,\r\n                cx = tft.width()  \/ 2 - 1,\r\n                cy = tft.height() \/ 2 - 1;\r\n\r\n  tft.fillScreen(BLACK);\r\n  w     = min(tft.width(), tft.height());\r\n  start = micros();\r\n  for(i=0; i&lt;w; i+=6) {\r\n    i2 = i \/ 2;\r\n    tft.drawRoundRect(cx-i2, cy-i2, i, i, i\/8, tft.color565(i, 0, 0));\r\n  }\r\n\r\n  return micros() - start;\r\n}\r\n\r\n\/\/ ------------------------------------------------\r\nunsigned long testFilledRoundRects() {\r\n  unsigned long start;\r\n  int           i, i2,\r\n                cx = tft.width()  \/ 2 - 1,\r\n                cy = tft.height() \/ 2 - 1;\r\n\r\n  tft.fillScreen(BLACK);\r\n  start = micros();\r\n  for(i=min(tft.width(), tft.height()); i&gt;20; i-=6) {\r\n    i2 = i \/ 2;\r\n    tft.fillRoundRect(cx-i2, cy-i2, i, i, i\/8, tft.color565(0, i, 0));\r\n  }\r\n\r\n  return micros() - start;\r\n}\r\n\/\/ ------------------------------------------------\r\n   \r\n<\/code><\/pre>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-190bf003 elementor-widget elementor-widget-text-editor\" data-id=\"190bf003\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<p>\u062f\u0631 \u06a9\u062f \u0628\u0627\u0644\u0627 \u06a9\u0647 \u0627\u0632 \u0645\u062b\u0627\u0644\u00ad\u200c\u0647\u0627\u06cc \u0622\u0631\u062f\u0648\u06cc\u0646\u0648 \u0627\u0633\u062a\u060c \u0627\u0646\u0648\u0627\u0639 \u0634\u06a9\u0644\u00ad\u200c\u0647\u0627 \u0628\u0627 \u0631\u0646\u06af\u200c\u00ad\u0647\u0627\u06cc \u06af\u0648\u0646\u0627\u06af\u0648\u0646 \u0628\u0631 \u0631\u0648\u06cc \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u00ad\u0634\u0648\u062f \u0648 \u0645\u06cc\u00ad\u200c\u062a\u0648\u0627\u0646 \u0627\u0632 \u0622\u0646 \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/section>\r\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0645\u0627\u0698\u0648\u0644 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 1.3 \u0627\u06cc\u0646\u0686 OLED \u062a\u0645\u0627\u0645 \u0631\u0646\u06af IPS \u0646\u0645\u0627\u06cc\u0634\u06af\u0631\u0647\u0627\u06cc OLED \u0645\u0632\u0627\u06cc\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631\u06cc \u0646\u0633\u0628\u062a \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631\u0647\u0627\u06cc LCD \u0648 LED \u0642\u062f\u06cc\u0645\u06cc \u062f\u0627\u0631\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062a\u0645\u0627\u0645 \u0631\u0646\u06af \u0648 \u0628\u0627 \u06a9\u06cc\u0641\u06cc\u062a \u0628\u0633\u06cc\u0627\u0631 \u0628\u0627\u0644\u0627 \u0647\u0633\u062a\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 1.3 \u0627\u06cc\u0646\u0686 OLED \u062a\u0645\u0627\u0645 \u0631\u0646\u06af \u0628\u0648\u062f\u0647 \u0648 \u062f\u0627\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 SPI \u0627\u0633\u062a. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0631\u0632\u0648\u0644\u0648\u0634\u0646 \u0627\u06cc\u0646 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 240&#215;240 \u0628\u0648\u062f\u0647\u060c \u06cc\u0639\u0646\u06cc \u062f\u0627\u0631\u0627\u06cc [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":23639,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[935],"tags":[4610],"platform":[1071],"bytype":[1075],"difficulty":[1077],"related_products":[4275],"featured_image_src":{"landsacpe":["https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/02\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-_Teaser.jpg",1200,900,false],"list":["https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/02\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-_Teaser.jpg",1200,900,false],"medium":["https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/02\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-_Teaser.jpg",533,400,false],"full":["https:\/\/thecaferobot.com\/learn\/wp-content\/uploads\/2021\/02\/1-3-Inch-240x240-IPS-SPI-HD-LCD-Full-Color-Display-OLED-Module-_Teaser.jpg",1200,900,false]},"_links":{"self":[{"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/posts\/22239"}],"collection":[{"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/comments?post=22239"}],"version-history":[{"count":11,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/posts\/22239\/revisions"}],"predecessor-version":[{"id":32234,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/posts\/22239\/revisions\/32234"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/media\/23639"}],"wp:attachment":[{"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/media?parent=22239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/categories?post=22239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/tags?post=22239"},{"taxonomy":"platform","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/platform?post=22239"},{"taxonomy":"bytype","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/bytype?post=22239"},{"taxonomy":"difficulty","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/difficulty?post=22239"},{"taxonomy":"related_products","embeddable":true,"href":"https:\/\/thecaferobot.com\/learn\/wp-json\/wp\/v2\/related_products?post=22239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}