{"id":20975,"date":"2026-11-07T11:53:46","date_gmt":"2026-11-07T11:53:46","guid":{"rendered":"https:\/\/www.fambach.net\/?p=20975"},"modified":"2026-11-07T11:53:46","modified_gmt":"2026-11-07T11:53:46","slug":"rundes-tft-gc9a01-esp8266-esp32-c3","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/","title":{"rendered":"Rundes 1,28\u2033-TFT GC9A01 an ESP8266, ESP32 und ESP32-C3"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Fakten\" >Fakten<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Pinbelegung\" >Pinbelegung<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Anschluss_an_ESP8266_ESP32_und_ESP32-C3\" >Anschluss an ESP8266, ESP32 und ESP32-C3<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Boot-Pins_beim_D1_Mini_ESP8266\" >Boot-Pins beim D1 Mini (ESP8266)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#C3_Mini_ESP32-C3\" >C3 Mini (ESP32-C3)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#ESP32-C3_Super_Mini\" >ESP32-C3 Super Mini<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#D1_Mini_ESP32_und_andere_ESP32-Boards\" >D1 Mini ESP32 und andere ESP32-Boards<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Libraries\" >Libraries<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Testsketche\" >Testsketche<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Konfiguration\" >Konfiguration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Installation\" >Installation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Sketch\" >Sketch<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Enhanced-Variante\" >Enhanced-Variante<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Kreise\" >Kreise<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Radio-Tuner\" >Radio-Tuner<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Oszilloskop\" >Oszilloskop<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Radar\" >Radar<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Probleme\" >Probleme<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Farben_invertiert\" >Farben invertiert<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Display_bleibt_schwarz\" >Display bleibt schwarz<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#C3_Mini_und_C3_Super_Mini_verwechselt\" >C3 Mini und C3 Super Mini verwechselt<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#ESP8266_startet_nicht_mehr\" >ESP8266 startet nicht mehr<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#%E2%80%9ENot_enough_RAM_for_the_drawing_band%E2%80%9C\" >\u201eNot enough RAM for the drawing band\u201c<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Fazit\" >Fazit<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Lizenz\" >Lizenz<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/#Quellen\" >Quellen<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">Runde Displays sind einfach schick. F\u00fcr Uhren, Tachos, Messinstrumente oder kleine Augen in Robotern gibts kaum was Besseres als das 1,28\u2033-TFT mit dem GC9A01-Controller. Ich habe meins beim schnellen Ali f\u00fcr ein paar Euro bestellt, angeschlossen wird es per SPI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In diesem Beitrag geht es um den Anschluss an ESP8266, ESP32 und ESP32-C3, die Libraries, die es daf\u00fcr gibt, und ein paar Demos. Angefangen hat es mit einer Orakelkugel-Animation: Ihr kennt die schwarzen Wahrsagekugeln, die man sch\u00fcttelt und die dann \u201eJa\u201c oder \u201eNein\u201c sagen. Genau das, nur ohne Sch\u00fctteln. Dazu kamen dann noch Kreise, ein Radio-Tuner, ein Oszi und ein Radar.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1170\" height=\"1015\" data-id=\"20966\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-front.jpg\" alt=\"Rundes TFT-Display 1,28\u2033 240\u00d7240 GC9A01, Vorderseite\" class=\"wp-image-20966\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-front.jpg 1170w, https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-front-300x260.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-front-1024x888.jpg 1024w, https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-front-768x666.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-front-14x12.jpg 14w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Rundes TFT-Display 1,28\u2033 240\u00d7240 GC9A01, Vorderseite<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1445\" height=\"1188\" data-id=\"20967\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-rueckseite.jpg\" alt=\"Rundes TFT-Display 1,28\u2033 240\u00d7240 GC9A01, R\u00fcckseite\" class=\"wp-image-20967\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-rueckseite.jpg 1445w, https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-rueckseite-300x247.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-rueckseite-1024x842.jpg 1024w, https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-rueckseite-768x631.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/49395-rund128-rueckseite-15x12.jpg 15w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Rundes TFT-Display 1,28\u2033 240\u00d7240 GC9A01, R\u00fcckseite<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"1000\" data-id=\"8796\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/H3a82ce0a3c684e438ae601ce84c1dad0x.jpg\" alt=\"Ma\u00dfzeichnung des runden 1,28\u2033-Moduls ZJY_IPS128_8P mit Pinbelegung\" class=\"wp-image-8796\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/H3a82ce0a3c684e438ae601ce84c1dad0x.jpg 1000w, https:\/\/www.fambach.net\/wp-content\/uploads\/H3a82ce0a3c684e438ae601ce84c1dad0x-300x300.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/H3a82ce0a3c684e438ae601ce84c1dad0x-200x200.jpg 200w, https:\/\/www.fambach.net\/wp-content\/uploads\/H3a82ce0a3c684e438ae601ce84c1dad0x-768x768.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/H3a82ce0a3c684e438ae601ce84c1dad0x-12x12.jpg 12w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Ma\u00dfzeichnung des runden 1,28\u2033-Moduls ZJY_IPS128_8P mit Pinbelegung<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"1000\" data-id=\"8795\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/H9d91ffd59f4143808ab08c9143593c5dO.jpg\" alt=\"Anschlussbelegung und Ma\u00dfe des GC9A01-Panels (12-polige Folie)\" class=\"wp-image-8795\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/H9d91ffd59f4143808ab08c9143593c5dO.jpg 1000w, https:\/\/www.fambach.net\/wp-content\/uploads\/H9d91ffd59f4143808ab08c9143593c5dO-300x300.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/H9d91ffd59f4143808ab08c9143593c5dO-200x200.jpg 200w, https:\/\/www.fambach.net\/wp-content\/uploads\/H9d91ffd59f4143808ab08c9143593c5dO-768x768.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/H9d91ffd59f4143808ab08c9143593c5dO-12x12.jpg 12w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Anschlussbelegung und Ma\u00dfe des GC9A01-Panels (12-polige Folie)<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"fakten\"><span class=\"ez-toc-section\" id=\"Fakten\"><\/span>Fakten<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Modul: ZJY_IPS128_8P (Aufdruck Zhongjingyuan)<\/li>\n\n\n\n<li>Display: 1,28\u2033 IPS-TFT, rund, hoher Betrachtungswinkel<\/li>\n\n\n\n<li>Aufl\u00f6sung: 240 \u00d7 240 Pixel (der Speicher ist quadratisch, die Ecken sieht man halt nicht)<\/li>\n\n\n\n<li>Farben: 65K (RGB565)<\/li>\n\n\n\n<li>Controller: GC9A01 (bei Adafruit GC9A01A)<\/li>\n\n\n\n<li>Schnittstelle: SPI (4-Draht), nur Schreiben, kein MISO<\/li>\n\n\n\n<li>Sichtbarer Bereich: \u00d8 32,4 mm<\/li>\n\n\n\n<li>Panel: 35,6 \u00d7 38,1 \u00d7 1,5 mm<\/li>\n\n\n\n<li>Platine: 44 \u00d7 36 mm, vier Befestigungsl\u00f6cher \u00d8 2 mm<\/li>\n\n\n\n<li>Arbeitsspannung: 2,8\u20133,3 V<\/li>\n\n\n\n<li>Anschluss: 8 Pins im 2,54-mm-Raster: GND, VCC, SCL, SDA, RES, DC, CS, BLK<\/li>\n\n\n\n<li>Arbeitstemperatur: \u221220 \u00b0C bis 70 \u00b0C, Luftfeuchtigkeit 5\u201395 % RH<\/li>\n<\/ul>\n\n\n<div class=\"taxmod-record-block wp-block-taxmod-record\"><div class=\"taxmod-node\"><div class=\"taxmod-form\"><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Bezeichnung<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">TFT-LCD \u00b7 1,28\u2033 \u00b7 240 \u00d7 240 px \u00b7 GC9A01 \u00b7 Vollfarbe<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Kompatibilit\u00e4t<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\"><\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Beschreibung<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">Rundes Farb-TFT-Modul (IPS) 1,28\u2033, 240 \u00d7 240 Pixel, aktive Fl\u00e4che \u00d8 32,4 mm, Controller GC9A01, SPI mit CS, 8-polig GND\u2013VCC\u2013SCL\u2013SDA\u2013RES\u2013DC\u2013CS\u2013BLK; Panel an 12-poliger FPC, zus\u00e4tzlich 8-poliger FPC-Stecker J2 parallel zur Stiftleiste; Spannungsregler U2 auf der Platine; vier Befestigungsl\u00f6cher.<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Herkunft<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">belegt<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Herkunftshinweis<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">Inventur Displays-Box 2026-11-06. Daten von Stefans Fotos (R\u00fcckseite \u00abIC:GC9A01, 240(H)RGBx240(V), ACTIVE AREA DIAMETER:32.4mm\u00bb, \u00abZJY_IPS128_8P\u00bb, \u00abZHONGJINGYUAN\u00bb). Angenommen: 1 St\u00fcck, Diagonale 1,28\u2033 (aus \u00d8 32,4 mm), Versorgung 3,3\u20135 V (Regler U2), Farbtiefe 16 Bit (RGB565), Bezugsquelle AliExpress, Kauf nicht gefunden.<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Bauform<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\"><\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Serie<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\"><\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Teilenummer<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">ZJY_IPS128_8P<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Einsatz<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\"><\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Farbe<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-nothing\">\u2014<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Hersteller<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\"><\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Typ<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">ZJY-IPS128 1,28\u2033 rund 240\u00d7240 IPS-TFT GC9A01<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Betriebsspannung<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\"><\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Eingangsspannung<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\"><\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Stromaufnahme<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\"><\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Abmessungen<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\"><\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Gewicht<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\"><\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Schnittstellen<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">SPI<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Displaytyp<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">TFT-LCD<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Diagonale<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">1.28\u2033<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Controller<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">GC9A01<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Farbtiefe<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">16 bit<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Versorgungsspannung<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">3.3 \u2026 5 V<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Displayfarbe<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">Vollfarbe<\/span><\/span><\/div><div class=\"taxmod-form-row\"><span class=\"taxmod-form-label\">Aufl\u00f6sung<\/span><span class=\"taxmod-form-field\"><span class=\"taxmod-value\">240 \u00d7 240 px<\/span><\/span><\/div><\/div><div class=\"taxmod-complex-block\"><h4 class=\"taxmod-complex-heading\"><span class=\"ez-toc-section\" id=\"Pinbelegung\"><\/span>Pinbelegung<span class=\"ez-toc-section-end\"><\/span><\/h4><table class=\"taxmod-table taxmod-table-horizontal\"><thead><tr><th class=\"taxmod-table-head\" scope=\"col\">Pin<\/th><th class=\"taxmod-table-head\" scope=\"col\">Signal<\/th><th class=\"taxmod-table-head\" scope=\"col\">Farbe<\/th><\/tr><\/thead><tbody><tr class=\"taxmod-table-row\"><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">1<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">GND<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-nothing\">\u2014<\/span><\/td><\/tr><tr class=\"taxmod-table-row\"><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">2<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">VCC<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-nothing\">\u2014<\/span><\/td><\/tr><tr class=\"taxmod-table-row\"><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">3<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">SCL<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-nothing\">\u2014<\/span><\/td><\/tr><tr class=\"taxmod-table-row\"><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">4<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">SDA<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-nothing\">\u2014<\/span><\/td><\/tr><tr class=\"taxmod-table-row\"><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">5<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">RES<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-nothing\">\u2014<\/span><\/td><\/tr><tr class=\"taxmod-table-row\"><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">6<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">DC<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-nothing\">\u2014<\/span><\/td><\/tr><tr class=\"taxmod-table-row\"><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">7<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">CS<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-nothing\">\u2014<\/span><\/td><\/tr><tr class=\"taxmod-table-row\"><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">8<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-value\">BLK<\/span><\/td><td class=\"taxmod-table-cell\"><span class=\"taxmod-nothing\">\u2014<\/span><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"anschluss-an-esp8266-esp32-und-esp32-c3\"><span class=\"ez-toc-section\" id=\"Anschluss_an_ESP8266_ESP32_und_ESP32-C3\"><\/span>Anschluss an ESP8266, ESP32 und ESP32-C3<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nicht verwirren lassen: Die Pins hei\u00dfen auf dem Modul SCL und SDA wie bei I\u00b2C, es ist aber SPI. SCL ist der Takt (SCK), SDA die Datenleitung (MOSI). Wichtig: Das Modul vertr\u00e4gt laut H\u00e4ndler nur 2,8\u20133,3 V, also VCC an 3V3 und nicht an 5 V.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich wollte die gleiche Verdrahtung f\u00fcr den <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/www.fambach.net\/?p=4918\" class=\"ub-content-link__anchor\">Wemos D1 Mini<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> (ESP8266) und den <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/www.fambach.net\/?p=8568\" class=\"ub-content-link__anchor\">D1 Mini ESP32<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span>. Das geht, weil beide Boards den Hardware-SPI auf D5 (SCK) und D7 (MOSI) haben. Nur die GPIO-Nummern dahinter sind verschieden, die \u00fcbersetzt der Sketch selbst.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\" id=\"wpls-table-1\"><thead><tr><th>Display<\/th><th>D1-Pin<\/th><th>ESP8266 (D1 Mini, NodeMCU)<\/th><th>ESP32 (D1 Mini ESP32, DevKit)<\/th><th>C3 Mini<\/th><th>ESP32-C3 Super Mini<\/th><th>Funktion<\/th><\/tr><\/thead><tbody><tr><td>VCC<\/td><td>3V3<\/td><td>3,3 V<\/td><td>3,3 V<\/td><td>3,3 V<\/td><td>3,3 V<\/td><td>Versorgung<\/td><\/tr><tr><td>GND<\/td><td>G<\/td><td>GND<\/td><td>GND<\/td><td>GND<\/td><td>GND<\/td><td>Masse<\/td><\/tr><tr><td>SCL<\/td><td>D5<\/td><td>GPIO 14<\/td><td>GPIO 18<\/td><td>GPIO 1<\/td><td>GPIO 4<\/td><td>SPI-Takt (SCK)<\/td><\/tr><tr><td>SDA<\/td><td>D7<\/td><td>GPIO 13<\/td><td>GPIO 23<\/td><td>GPIO 4<\/td><td>GPIO 6<\/td><td>SPI-Daten (MOSI)<\/td><\/tr><tr><td>CS<\/td><td>D8<\/td><td>GPIO 15<\/td><td>GPIO 5<\/td><td>GPIO 5<\/td><td>GPIO 7<\/td><td>Chip Select<\/td><\/tr><tr><td>DC<\/td><td>D3<\/td><td>GPIO 0<\/td><td>GPIO 17<\/td><td>GPIO 7<\/td><td>GPIO 5<\/td><td>Daten\/Befehl<\/td><\/tr><tr><td>RES<\/td><td>D0<\/td><td>GPIO 16<\/td><td>GPIO 26<\/td><td>GPIO 2<\/td><td>GPIO 3<\/td><td>Reset<\/td><\/tr><tr><td>BLK<\/td><td>\u2013<\/td><td>3,3 V<\/td><td>3,3 V<\/td><td>3,3 V<\/td><td>GPIO 10<\/td><td>Hintergrundbeleuchtung<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Verdrahtung des GC9A01-Displays an ESP8266, ESP32, C3 Mini und ESP32-C3 Super Mini<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Getestet habe ich nur mit dem ESP32-C3 Super Mini.<\/strong> Die Belegungen f\u00fcr D1 Mini (ESP8266), C3 Mini und ESP32 sind aus den Pinouts der Boards abgeleitet und von mir nicht selbst getestet.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"boot-pins-beim-d1-mini-esp8266\"><span class=\"ez-toc-section\" id=\"Boot-Pins_beim_D1_Mini_ESP8266\"><\/span>Boot-Pins beim D1 Mini (ESP8266)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das betrifft nur den ESP8266: D8 hat einen Pull-down und D3\/D4 einen Pull-up, die alle drei beim Booten den richtigen Pegel haben m\u00fcssen. An D8 (CS) und D3 (DC) h\u00e4ngen nur Eing\u00e4nge des Displays, das st\u00f6rt nicht. BLK h\u00e4ngt direkt an 3V3, weil ein Pin, der beim Booten nach unten gezogen wird, den ESP8266 in den Flash-Modus schickt. D1 und D2 bleiben frei f\u00fcr I\u00b2C-Shields.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\" id=\"wpls-table-2\"><thead><tr><th>Pin D1 Mini (ESP8266)<\/th><th>GPIO<\/th><th>Pin Display<\/th><\/tr><\/thead><tbody><tr><td>3V3<\/td><td>3,3 V<\/td><td>VCC<\/td><\/tr><tr><td>G<\/td><td>GND<\/td><td>GND<\/td><\/tr><tr><td>D5<\/td><td>GPIO 14<\/td><td>SCL<\/td><\/tr><tr><td>D7<\/td><td>GPIO 13<\/td><td>SDA<\/td><\/tr><tr><td>D0<\/td><td>GPIO 16<\/td><td>RES<\/td><\/tr><tr><td>D3<\/td><td>GPIO 0<\/td><td>DC<\/td><\/tr><tr><td>D8<\/td><td>GPIO 15<\/td><td>CS<\/td><\/tr><tr><td>3V3<\/td><td>3,3 V<\/td><td>BLK<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Anschluss des GC9A01 am D1 Mini (ESP8266) (nicht selbst getestet)<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"c3-mini-esp32-c3\"><span class=\"ez-toc-section\" id=\"C3_Mini_ESP32-C3\"><\/span>C3 Mini (ESP32-C3)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/www.fambach.net\/?p=8631\" class=\"ub-content-link__anchor\">Wemos C3 Mini<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> hat das gleiche Format, also gleiche Steckpl\u00e4tze. Beim C3 liegt der SPI aber nicht von selbst auf D5\/D7, der Sketch legt ihn per <code>SPI.begin()<\/code> dorthin, das geht beim C3 an jedem Pin. Zwei Kleinigkeiten: An D3 (GPIO 7) h\u00e4ngt auch die RGB-LED, die kann beim Zeichnen bunt mitzucken. D0 ist GPIO 2, ein Boot-Pin, am RES-Eingang st\u00f6rt der aber nicht.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\" id=\"wpls-table-3\"><thead><tr><th>Pin C3 Mini<\/th><th>GPIO<\/th><th>Pin Display<\/th><\/tr><\/thead><tbody><tr><td>3V3<\/td><td>3,3 V<\/td><td>VCC<\/td><\/tr><tr><td>G<\/td><td>GND<\/td><td>GND<\/td><\/tr><tr><td>D5<\/td><td>GPIO 1<\/td><td>SCL<\/td><\/tr><tr><td>D7<\/td><td>GPIO 4<\/td><td>SDA<\/td><\/tr><tr><td>D0<\/td><td>GPIO 2<\/td><td>RES<\/td><\/tr><tr><td>D3<\/td><td>GPIO 7<\/td><td>DC<\/td><\/tr><tr><td>D8<\/td><td>GPIO 5<\/td><td>CS<\/td><\/tr><tr><td>3V3<\/td><td>3,3 V<\/td><td>BLK<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Anschluss des GC9A01 am C3 Mini (nicht selbst getestet)<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"esp32-c3-super-mini\"><span class=\"ez-toc-section\" id=\"ESP32-C3_Super_Mini\"><\/span>ESP32-C3 Super Mini<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/www.fambach.net\/?p=10488\" class=\"ub-content-link__anchor\">ESP32-C3 Super Mini<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> hat kein D1-Format, deshalb eigene Pins. Ich nehme die Standard-SPI-Pins des C3 (SCK 4, MOSI 6, CS 7) und lasse die Boot-Pins GPIO 2, 8 und 9 frei. Weil hier genug Pins \u00fcbrig sind, schaltet GPIO 10 die Hintergrundbeleuchtung.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2248\" height=\"1667\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-aufbau-steckbrett.jpg\" alt=\"Rundes GC9A01-Display am ESP32-C3 Super Mini, Verdrahtung auf dem Steckbrett\" class=\"wp-image-20974\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-aufbau-steckbrett.jpg 2248w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-aufbau-steckbrett-300x222.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-aufbau-steckbrett-1024x759.jpg 1024w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-aufbau-steckbrett-768x570.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-aufbau-steckbrett-1536x1139.jpg 1536w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-aufbau-steckbrett-2048x1519.jpg 2048w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-aufbau-steckbrett-16x12.jpg 16w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Testaufbau: Rundes GC9A01-Display am ESP32-C3 Super Mini, Verdrahtung auf dem Steckbrett<\/figcaption><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\" id=\"wpls-table-4\"><thead><tr><th>Pin ESP32-C3 Super Mini<\/th><th>GPIO<\/th><th>Pin Display<\/th><\/tr><\/thead><tbody><tr><td>3.3<\/td><td>3,3 V<\/td><td>VCC<\/td><\/tr><tr><td>G<\/td><td>GND<\/td><td>GND<\/td><\/tr><tr><td>4<\/td><td>GPIO 4<\/td><td>SCL<\/td><\/tr><tr><td>6<\/td><td>GPIO 6<\/td><td>SDA<\/td><\/tr><tr><td>3<\/td><td>GPIO 3<\/td><td>RES<\/td><\/tr><tr><td>5<\/td><td>GPIO 5<\/td><td>DC<\/td><\/tr><tr><td>7<\/td><td>GPIO 7<\/td><td>CS<\/td><\/tr><tr><td>10<\/td><td>GPIO 10<\/td><td>BLK<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Anschluss des GC9A01 am ESP32-C3 Super Mini<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"d1-mini-esp32-und-andere-esp32-boards\"><span class=\"ez-toc-section\" id=\"D1_Mini_ESP32_und_andere_ESP32-Boards\"><\/span>D1 Mini ESP32 und andere ESP32-Boards<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Beim ESP32 liegen D3 (GPIO 17) und D0 (GPIO 26) nicht auf Boot-Pins. D8 ist GPIO 5, der wird beim Booten zwar abgefragt, am CS-Eingang des Displays st\u00f6rt das aber nicht. Hier k\u00f6nnte BLK also auch an einen freien GPIO, der Einheitlichkeit wegen bleibt er an 3V3.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\" id=\"wpls-table-5\"><thead><tr><th>Pin D1 Mini ESP32<\/th><th>GPIO<\/th><th>Pin Display<\/th><\/tr><\/thead><tbody><tr><td>3V3<\/td><td>3,3 V<\/td><td>VCC<\/td><\/tr><tr><td>G<\/td><td>GND<\/td><td>GND<\/td><\/tr><tr><td>D5<\/td><td>GPIO 18<\/td><td>SCL<\/td><\/tr><tr><td>D7<\/td><td>GPIO 23<\/td><td>SDA<\/td><\/tr><tr><td>D0<\/td><td>GPIO 26<\/td><td>RES<\/td><\/tr><tr><td>D3<\/td><td>GPIO 17<\/td><td>DC<\/td><\/tr><tr><td>D8<\/td><td>GPIO 5<\/td><td>CS<\/td><\/tr><tr><td>3V3<\/td><td>3,3 V<\/td><td>BLK<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Anschluss des GC9A01 am D1 Mini ESP32 (nicht selbst getestet)<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wer ein normales ESP32-Board (DevKit) nimmt, verdrahtet nach der ESP32-Spalte. Ausnahme: Auf Boards mit WROVER-Modul belegt das PSRAM GPIO 16 und 17, dann DC auf einen anderen Pin legen und im Sketch anpassen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"libraries\"><span class=\"ez-toc-section\" id=\"Libraries\"><\/span>Libraries<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr das Display gibt es eine ganze Reihe Libraries. Alle k\u00f6nnen Text, Linien, Kreise und Bilder, die Unterschiede liegen in Geschwindigkeit, Konfiguration und darin, wie gut sie mit dem aktuellen ESP32-Core 3.x klarkommen.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\" id=\"wpls-table-6\"><thead><tr><th>Library<\/th><th>Konfiguration<\/th><th>Tempo<\/th><th>ESP32-Core 3.x<\/th><th>Gut f\u00fcr<\/th><\/tr><\/thead><tbody><tr><td><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/Bodmer\/TFT_eSPI\" class=\"ub-content-link__anchor\">TFT_eSPI<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> (Bodmer)<\/td><td>User_Setup.h im Library-Ordner<\/td><td>sehr schnell, DMA, Sprites<\/td><td>Abst\u00fcrze bzw. Compile-Fehler berichtet, Workaround Core 2.0.x<\/td><td>bestehende Projekte, riesige Beispielsammlung<\/td><\/tr><tr><td><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/lovyan03\/LovyanGFX\" class=\"ub-content-link__anchor\">LovyanGFX<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span><\/td><td>im Sketch (Klasse)<\/td><td>sehr schnell, DMA, Sprites<\/td><td>l\u00e4uft<\/td><td>ESP32-Projekte mit Animationen, viele Fonts mit dabei<\/td><\/tr><tr><td><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit_GC9A01A\" class=\"ub-content-link__anchor\">Adafruit GC9A01A<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span><\/td><td>zwei Zeilen im Sketch<\/td><td>langsamer, kein DMA<\/td><td>l\u00e4uft<\/td><td>schneller Test, Adafruit-GFX-Welt<\/td><\/tr><tr><td><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/moononournation\/Arduino_GFX\" class=\"ub-content-link__anchor\">GFX Library for Arduino<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> (Arduino_GFX)<\/td><td>wenige Zeilen im Sketch<\/td><td>schnell, Canvas<\/td><td>l\u00e4uft<\/td><td>viele Displays und Busse, auch andere Controller<\/td><\/tr><tr><td><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/lvgl.io\/\" class=\"ub-content-link__anchor\">LVGL<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span><\/td><td>braucht einen der Treiber oben<\/td><td>\u2013<\/td><td>l\u00e4uft<\/td><td>Oberfl\u00e4chen: Zeiger, Skalen, Buttons<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Vergleich der Libraries f\u00fcr das GC9A01-Display<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Standard im Testsketch ist <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit_GC9A01A\" class=\"ub-content-link__anchor\">Adafruit GC9A01A<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span>, LovyanGFX ist per Schalter in der Konfiguration w\u00e4hlbar. Die Library ist klein, l\u00e4uft auf ESP8266 und ESP32 ohne Anpassung, und die Konfiguration sind genau drei Pins im Konstruktor. Dazu kommen <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit-GFX-Library\" class=\"ub-content-link__anchor\">Adafruit GFX<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> (Grafik und Fonts) und <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit_BusIO\" class=\"ub-content-link__anchor\">Adafruit BusIO<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span>, beides holt der Library-Manager gleich mit. F\u00fcr eine Animation in einem Teilbereich reicht das Tempo locker.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wer mehr Tempo braucht, etwa f\u00fcr Vollbild-Animationen oder Bilder, schaltet um auf <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/lovyan03\/LovyanGFX\" class=\"ub-content-link__anchor\">LovyanGFX<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span>: DMA, Sprites und viele Fonts, die Konfiguration steht im Sketch. <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/Bodmer\/TFT_eSPI\" class=\"ub-content-link__anchor\">TFT_eSPI<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> ist der Klassiker, aber ein ziemlicher Brocken, die Konfiguration liegt in der Library selbst, und mit dem ESP32-Core 3.x gibt es viele Berichte \u00fcber einen Absturz in <code>tft.begin()<\/code>, siehe <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/Bodmer\/TFT_eSPI\/issues\/3346\" class=\"ub-content-link__anchor\">Issue 3346<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span>. F\u00fcr das Display gibt es dort das fertige Setup <code>Setup46_GC9A01_ESP32.h<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wer lieber in Python bastelt: F\u00fcr MicroPython gibt es den Treiber <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/russhughes\/gc9a01_mpy\" class=\"ub-content-link__anchor\">gc9a01_mpy<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> von Russ Hughes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"testsketche\"><span class=\"ez-toc-section\" id=\"Testsketche\"><\/span>Testsketche<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der Sketch zeigt auf schwarzem Grund nacheinander \u201eJa\u201c, \u201eNein\u201c und \u201eVielleicht\u201c. Jede Antwort taucht wie bei der Kugel langsam aus dem Dunkel auf: Die Schrift wird in drei Sekunden von Schwarz zu Wei\u00df, bleibt kurz stehen, verblasst wieder, und dann ist das Display dunkel. Danach kommt die n\u00e4chste Antwort.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Damit nichts flackert, wird jedes Bild erst im RAM gezeichnet und dann zum Display geschickt. Ein Vollbild br\u00e4uchte 115 KB, das hat der ESP8266 nicht. Deshalb zeichnet der Sketch nur den Textbereich, und das in zwei Streifen \u00e0 36 Zeilen. Ein Streifen braucht 16 KB, das passt auf alle Boards.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-3 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1352\" height=\"1588\" data-id=\"20971\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-ja.jpg\" alt=\"Rundes GC9A01-Display mit Orakelkugel-Demo (Antwort \u201eJa\u201c)\" class=\"wp-image-20971\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-ja.jpg 1352w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-ja-255x300.jpg 255w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-ja-872x1024.jpg 872w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-ja-768x902.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-ja-1308x1536.jpg 1308w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-ja-10x12.jpg 10w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Rundes GC9A01-Display mit Orakelkugel-Demo (Antwort \u201eJa\u201c)<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1355\" height=\"1619\" data-id=\"20972\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-nein.jpg\" alt=\"Rundes GC9A01-Display mit Orakelkugel-Demo (Antwort \u201eNein\u201c)\" class=\"wp-image-20972\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-nein.jpg 1355w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-nein-251x300.jpg 251w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-nein-857x1024.jpg 857w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-nein-768x918.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-nein-1286x1536.jpg 1286w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-nein-10x12.jpg 10w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Rundes GC9A01-Display mit Orakelkugel-Demo (Antwort \u201eNein\u201c)<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1368\" height=\"1646\" data-id=\"20973\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-vielleicht.jpg\" alt=\"Rundes GC9A01-Display mit Orakelkugel-Demo (Antwort \u201eVielleicht\u201c)\" class=\"wp-image-20973\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-vielleicht.jpg 1368w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-vielleicht-249x300.jpg 249w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-vielleicht-851x1024.jpg 851w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-vielleicht-768x924.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-vielleicht-1277x1536.jpg 1277w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-vielleicht-10x12.jpg 10w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Rundes GC9A01-Display mit Orakelkugel-Demo (Antwort \u201eVielleicht\u201c)<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"konfiguration\"><span class=\"ez-toc-section\" id=\"Konfiguration\"><\/span>Konfiguration<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Library und Board werden in der Datei <code>config.h<\/code> per Pr\u00e4prozessor gew\u00e4hlt. <code>DISPLAY_LIBRARY<\/code> schaltet zwischen Adafruit GC9A01A (Standard) und LovyanGFX um, <code>TARGET_BOARD<\/code> w\u00e4hlt das Board. Bleibt es auf <code>BOARD_AUTO<\/code>, nimmt der Sketch das Standard-Board zum Chip, der in der IDE eingestellt ist: ESP8266 \u2192 ESP8266 dev, ESP32 \u2192 ESP32 dev, ESP32-C3 \u2192 C3 Super Mini. F\u00fcr den C3 Mini also <code>BOARD_LOLIN_C3_MINI<\/code> eintragen. Die Pins selbst stehen in <code>boards.h<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">#pragma once\n\n\/\/ Graphics library\n#define LIBRARY_ADAFRUIT   1   \/\/ Adafruit GC9A01A + Adafruit GFX: small, easy\n#define LIBRARY_LOVYANGFX  2   \/\/ LovyanGFX: faster, DMA on ESP32\n#define DISPLAY_LIBRARY    LIBRARY_ADAFRUIT\n\n\/\/ Board, BOARD_AUTO takes the default board of the chip selected in the Arduino IDE:\n\/\/ ESP8266 -&gt; BOARD_ESP8266_DEV, ESP32 -&gt; BOARD_ESP32_DEV, ESP32-C3 -&gt; BOARD_ESP32C3_SUPER_MINI\n#define BOARD_AUTO                0\n#define BOARD_ESP8266_DEV         1   \/\/ NodeMCU, Wemos D1 Mini and other ESP8266 boards\n#define BOARD_ESP32_DEV           2   \/\/ ESP32 DevKit, D1 Mini ESP32\n#define BOARD_ESP32C3_SUPER_MINI  3\n#define BOARD_LOLIN_C3_MINI       4   \/\/ Wemos\/LOLIN C3 Mini (D1 Mini form factor)\n#define TARGET_BOARD              BOARD_AUTO<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installation\"><span class=\"ez-toc-section\" id=\"Installation\"><\/span>Installation<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In der Arduino IDE das Boardpaket installieren: \u201e<span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/esp8266\/Arduino\" class=\"ub-content-link__anchor\">esp8266<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span>\u201c f\u00fcr den ESP8266, \u201e<span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/espressif\/arduino-esp32\" class=\"ub-content-link__anchor\">esp32<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span>\u201c von Espressif f\u00fcr ESP32 und ESP32-C3.<\/li>\n\n\n\n<li>Im Library-Manager \u201eAdafruit GC9A01A\u201c installieren und Adafruit GFX und Adafruit BusIO mitinstallieren lassen. F\u00fcr die andere Variante \u201eLovyanGFX\u201c.<\/li>\n\n\n\n<li>Den Ordner <code>OracleBall<\/code> aus dem <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/sfambach\/esp_round_display_demo\" class=\"ub-content-link__anchor\">GitHub-Repository<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> herunterladen und <code>OracleBall.ino<\/code> \u00f6ffnen.<\/li>\n\n\n\n<li>In <code>config.h<\/code> Library und ggf. Board w\u00e4hlen, Board in der IDE einstellen, hochladen, fertig.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sketch\"><span class=\"ez-toc-section\" id=\"Sketch\"><\/span>Sketch<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Quellcode OracleBall.ino (GitHub: <span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/sfambach\/esp_round_display_demo\" class=\"ub-content-link__anchor\">esp_round_display_demo<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span>). Die Pin-Tabelle <code>boards.h<\/code> und die beiden Library-Anpassungen <code>display_adafruit.h<\/code> und <code>display_lovyangfx.h<\/code> liegen dort mit im Ordner.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">\/\/ Oracle ball demo for the 1.28\" round GC9A01 TFT (240x240, SPI).\n\/\/ Answers fade in from black to white: Ja -&gt; Nein -&gt; Vielleicht -&gt; dark, endlessly.\n\/\/ Library and board are chosen in config.h, the pins live in boards.h.\n\/\/\n\/\/ Copyright (c) 2026 Stefan Fambach (SteFam), https:\/\/www.fambach.net\n\/\/ License: PolyForm Noncommercial 1.0.0, https:\/\/polyformproject.org\/licenses\/noncommercial\/1.0.0\/\n\n#include \"config.h\"\n#include \"boards.h\"\n\n#if DISPLAY_LIBRARY == LIBRARY_ADAFRUIT\n  #include \"display_adafruit.h\"\n#elif DISPLAY_LIBRARY == LIBRARY_LOVYANGFX\n  #include \"display_lovyangfx.h\"\n#else\n  #error \"Unknown DISPLAY_LIBRARY in config.h\"\n#endif\n\nconst char* const ANSWERS[] = { \"Ja\", \"Nein\", \"Vielleicht\" };\nconstexpr int ANSWER_COUNT = sizeof(ANSWERS) \/ sizeof(ANSWERS[0]);\n\n\/\/ Only the text area is redrawn, in horizontal bands: flicker-free like a frame\n\/\/ buffer, but 2 x 16 KB instead of 115 KB, so it also fits into the ESP8266.\nconstexpr int AREA_X = 10, AREA_Y = 84, AREA_W = 220, AREA_H = 72;\nconstexpr int BAND_H = 36;\n\nconstexpr int TEXT_X     = AREA_W \/ 2;   \/\/ area coordinates\nconstexpr int TEXT_Y     = AREA_H \/ 2;\nconstexpr int TEXT_MAX_W = 200;\n\nconstexpr uint32_t FADE_IN_MS  = 3000;\nconstexpr uint32_t HOLD_MS     = 2000;\nconstexpr uint32_t FADE_OUT_MS = 1500;\nconstexpr uint32_t DARK_MS     = 1000;\nconstexpr uint32_t CYCLE_MS    = FADE_IN_MS + HOLD_MS + FADE_OUT_MS + DARK_MS;\n\nstatic RoundDisplay display(AREA_W, BAND_H);\nstatic int answerFont[ANSWER_COUNT];\n\nstatic float smooth(float t) {\n  return t * t * (3.0f - 2.0f * t);\n}\n\nstatic int largestFittingFont(const char* text) {\n  for (int font = 0; font &lt; RoundDisplay::FONT_COUNT - 1; ++font) {\n    if (display.textWidth(text, font) &lt;= TEXT_MAX_W) {\n      return font;\n    }\n  }\n  return RoundDisplay::FONT_COUNT - 1;\n}\n\nstatic void drawAnswer(int answer, float level) {\n  const uint8_t brightness = static_cast&lt;uint8_t&gt;(255 * level);\n  const uint16_t textColor = display.color(brightness, brightness, brightness);\n\n  for (int bandTop = 0; bandTop &lt; AREA_H; bandTop += BAND_H) {\n    display.clearBand();\n    display.drawCenteredText(ANSWERS[answer], answerFont[answer], TEXT_X, TEXT_Y - bandTop, textColor);\n    display.pushBand(AREA_X, AREA_Y + bandTop);\n  }\n}\n\nvoid setup() {\n  Serial.begin(115200);\n\n  if (PINS.backlight &gt;= 0) {\n    pinMode(PINS.backlight, OUTPUT);\n    digitalWrite(PINS.backlight, HIGH);\n  }\n\n  if (!display.begin()) {\n    Serial.println(\"Not enough RAM for the drawing band\");\n    while (true) {\n      delay(1000);\n    }\n  }\n\n  for (int answer = 0; answer &lt; ANSWER_COUNT; ++answer) {\n    answerFont[answer] = largestFittingFont(ANSWERS[answer]);\n  }\n}\n\nvoid loop() {\n  static int lastAnswer = -1;\n\n  const uint32_t now       = millis();\n  const int      answer    = (now \/ CYCLE_MS) % ANSWER_COUNT;\n  const uint32_t phaseTime = now % CYCLE_MS;\n\n  if (answer != lastAnswer) {\n    lastAnswer = answer;\n    Serial.println(ANSWERS[answer]);\n  }\n\n  float level = 0.0f;\n  if (phaseTime &lt; FADE_IN_MS) {\n    level = smooth(static_cast&lt;float&gt;(phaseTime) \/ FADE_IN_MS);\n  } else if (phaseTime &lt; FADE_IN_MS + HOLD_MS) {\n    level = 1.0f;\n  } else if (phaseTime &lt; FADE_IN_MS + HOLD_MS + FADE_OUT_MS) {\n    level = 1.0f - smooth(static_cast&lt;float&gt;(phaseTime - FADE_IN_MS - HOLD_MS) \/ FADE_OUT_MS);\n  }\n\n  drawAnswer(answer, level);\n  delay(10);  \/\/ also feeds the ESP8266 watchdog\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die Zeiten f\u00fcr Einblenden, Stehen, Ausblenden und Dunkelphase stehen als Konstanten oben im Sketch. Wer es echter haben will, h\u00e4ngt einen Ersch\u00fctterungssensor oder einen Taster dran und w\u00fcrfelt die Antwort mit <code>random()<\/code> aus.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title='Round 1.28\" GC9A01 TFT on an ESP32-C3 Super Mini \u2013 Magic sphere fade demo' width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/kKNi8-H5prw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"enhanced-variante\"><span class=\"ez-toc-section\" id=\"Enhanced-Variante\"><\/span>Enhanced-Variante<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wer es n\u00e4her am Original mag: Im Repository liegt zus\u00e4tzlich <code>OracleBallEnhanced<\/code>. Da steigt die Antwort auf einem blauen Dreieck wie auf dem W\u00fcrfel in der Kugel ein St\u00fcck nach oben und blendet dabei ein. Konfiguration und Verdrahtung sind gleich.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"787\" height=\"1026\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-enhanced.jpg\" alt=\"Rundes GC9A01-Display mit Orakelkugel-Enhanced-Demo (blaues Dreieck)\" class=\"wp-image-20982\" style=\"width:200px\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-enhanced.jpg 787w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-enhanced-230x300.jpg 230w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-enhanced-785x1024.jpg 785w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-enhanced-768x1001.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-enhanced-9x12.jpg 9w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Rundes GC9A01-Display mit Orakelkugel-Enhanced-Demo (blaues Dreieck)<\/figcaption><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title='Round 1.28\" GC9A01 TFT on an ESP32-C3 Super Mini \u2013 Magic sphere demo' width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/izomZbPPNiE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"kreise\"><span class=\"ez-toc-section\" id=\"Kreise\"><\/span>Kreise<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das dritte Programm im Repository hei\u00dft <code>Circles<\/code>. Bunte Ringe erscheinen vom Rand nach innen, bis die Mitte erreicht ist, danach verschwinden sie von der Mitte nach au\u00dfen wieder. Abstand, Dicke und Farbe der Ringe werden aus der Anzahl <code>RING_COUNT<\/code> und der Displaygr\u00f6\u00dfe berechnet, nichts ist fest eingetragen. Passt gut zum runden Display.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"816\" height=\"1048\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-kreise.jpg\" alt=\"Rundes GC9A01-Display mit Kreis-Demo\" class=\"wp-image-20983\" style=\"width:200px\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-kreise.jpg 816w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-kreise-234x300.jpg 234w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-kreise-797x1024.jpg 797w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-kreise-768x986.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-kreise-9x12.jpg 9w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Rundes GC9A01-Display mit Kreis-Demo<\/figcaption><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title='Round 1.28\" GC9A01 TFT on an ESP32-C3 Super Mini \u2013 Concentric Circles Demo' width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/pyNVO_07UXM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"radio-tuner\"><span class=\"ez-toc-section\" id=\"Radio-Tuner\"><\/span>Radio-Tuner<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das vierte Programm, <code>RadioTuner<\/code>, sieht aus wie die Skala eines alten UKW-Radios, nur rund. Ein Marker gleitet von Sender zu Sender (FFH, Radio Bob, hr3, hr1), die Frequenz z\u00e4hlt mit, und ist der Sender eingestellt, blendet sein Name in der Mitte ein. Die Sender stehen samt Frequenz und Farbe in einer Liste oben im Sketch. Die Frequenzen sind Beispielwerte f\u00fcr den Raum Frankfurt, die tragt ihr am besten f\u00fcr eure Gegend ein.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"777\" height=\"826\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-radio.jpg\" alt=\"Rundes GC9A01-Display mit Radio-Tuner-Demo\" class=\"wp-image-20984\" style=\"width:200px\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-radio.jpg 777w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-radio-282x300.jpg 282w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-radio-768x816.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-radio-11x12.jpg 11w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Rundes GC9A01-Display mit Radio-Tuner-Demo<\/figcaption><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/youtu.be\/5y-jYmtoJhM\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"oszilloskop\"><span class=\"ez-toc-section\" id=\"Oszilloskop\"><\/span>Oszilloskop<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Oscilloscope<\/code> macht aus dem Display ein altes Oszi mit gr\u00fcner R\u00f6hre: Raster mit Teilstrichen, darauf l\u00e4uft eine Sinuskurve mit leichtem Nachleuchten, die Amplitude atmet langsam. Teilung, Wellenl\u00e4nge und Tempo sind Konstanten oben im Sketch.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"508\" height=\"650\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-oszi.jpg\" alt=\"Rundes GC9A01-Display mit Oszilloskop-Demo\" class=\"wp-image-20986\" style=\"width:200px\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-oszi.jpg 508w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-oszi-234x300.jpg 234w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-oszi-9x12.jpg 9w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Rundes GC9A01-Display mit Oszilloskop-Demo<\/figcaption><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/youtu.be\/_uW8nrenT2c\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"radar\"><span class=\"ez-toc-section\" id=\"Radar\"><\/span>Radar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Radar<\/code> zeigt einen drehenden Radarstrahl mit nachgl\u00fchender Spur \u00fcber Entfernungsringen. Ab und an taucht ein zuf\u00e4lliger Feindkontakt auf. Er leuchtet rot auf, sobald der Strahl dr\u00fcberf\u00e4hrt, glimmt bis zur n\u00e4chsten Runde nach, driftet langsam und verschwindet irgendwann wieder. Unten stehen Peilung und Entfernung des st\u00e4rksten Kontakts.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"735\" height=\"806\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-radar.jpg\" alt=\"Rundes GC9A01-Display mit Radar-Demo\" class=\"wp-image-20985\" style=\"width:200px\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-radar.jpg 735w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-radar-274x300.jpg 274w, https:\/\/www.fambach.net\/wp-content\/uploads\/gc9a01-demo-radar-11x12.jpg 11w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\"><figcaption class=\"wp-element-caption\">Rundes GC9A01-Display mit Radar-Demo<\/figcaption><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/youtu.be\/1j_oSptZGk8\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"probleme\"><span class=\"ez-toc-section\" id=\"Probleme\"><\/span>Probleme<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"farben-invertiert\"><span class=\"ez-toc-section\" id=\"Farben_invertiert\"><\/span>Farben invertiert<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Schwarz wird wei\u00df: Die Module sind nicht alle gleich. Bei Adafruit in <code>display_adafruit.h<\/code> nach <code>tft.begin()<\/code> ein <code>tft.invertDisplay(false);<\/code> einf\u00fcgen, bei LovyanGFX in <code>display_lovyangfx.h<\/code> <code>invert<\/code> auf <code>false<\/code> stellen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"display-bleibt-schwarz\"><span class=\"ez-toc-section\" id=\"Display_bleibt_schwarz\"><\/span>Display bleibt schwarz<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Verdrahtung von SCL\/SDA pr\u00fcfen, das sind SCK und MOSI, nicht I\u00b2C. BLK muss an 3V3 (beim Super Mini an GPIO 10), sonst bleibt die Hintergrundbeleuchtung aus. Bei TFT_eSPI mit Core 3.x siehe oben.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"c3-mini-und-c3-super-mini-verwechselt\"><span class=\"ez-toc-section\" id=\"C3_Mini_und_C3_Super_Mini_verwechselt\"><\/span>C3 Mini und C3 Super Mini verwechselt<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die beiden hei\u00dfen fast gleich, haben aber v\u00f6llig andere Pins. Der C3 Mini hat das D1-Mini-Format, der Super Mini nicht. Wer nach der falschen Spalte verkabelt, bekommt nur die Hintergrundbeleuchtung zu sehen. Also in der Tabelle genau die richtige Spalte nehmen und im Zweifel in der <code>config.h<\/code> das Board fest eintragen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"esp8266-startet-nicht-mehr\"><span class=\"ez-toc-section\" id=\"ESP8266_startet_nicht_mehr\"><\/span>ESP8266 startet nicht mehr<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">H\u00e4ngt am D1 Mini etwas an D3, D4 oder D8, das den Pegel beim Booten verbiegt, bleibt er im Flash-Modus oder startet gar nicht. Display-Pins genau nach Tabelle stecken, BLK nicht an D3\/D4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"not-enough-ram-for-the-drawing-band\"><span class=\"ez-toc-section\" id=\"%E2%80%9ENot_enough_RAM_for_the_drawing_band%E2%80%9C\"><\/span>\u201eNot enough RAM for the drawing band\u201c<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ein anderer Teil des Programms frisst den Speicher. <code>BAND_H<\/code> kleiner machen, dann wird in mehr, aber kleineren Streifen gezeichnet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"fazit\"><span class=\"ez-toc-section\" id=\"Fazit\"><\/span>Fazit<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr ein paar Euro ist das runde Display ein richtig schickes Teil f\u00fcr Uhren, Anzeigen und Spielereien. Am ESP32-C3 Super Mini laufen alle Demos, angeschlossen mit acht Kabeln auf dem Steckbrett, die Videos zeigen es. Die anderen Boards habe ich nicht selbst getestet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mit Adafruit GC9A01A bleibt der Sketch klein und l\u00e4uft auf allen Boards. Wer mehr Tempo will, schaltet in der <code>config.h<\/code> auf LovyanGFX um. Ob die Kugel mit ihren Antworten recht hat, m\u00fcsst ihr allerdings selbst entscheiden \ud83d\ude09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"lizenz\"><span class=\"ez-toc-section\" id=\"Lizenz\"><\/span>Lizenz<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hardware: kommerzielles Modul (Handelsware), keine offene Lizenz angegeben<\/li>\n\n\n\n<li>Software: Testsketch \u00a9 Stefan Fambach, <span class=\"ub-content-link ub-content-link--broken ub-content-link--status-after is-broken\"><a href=\"https:\/\/polyformproject.org\/licenses\/noncommercial\/1.0.0\/\" class=\"ub-content-link__anchor\" title=\"This link appears to be broken.\">PolyForm Noncommercial 1.0.0<\/a><span class=\"ub-status ub-status--broken\" title=\"Link status: Broken\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: Broken<\/span><\/span><\/span> (frei, aber keine kommerzielle Nutzung ohne Einwilligung)<\/li>\n\n\n\n<li>Libraries: jeweils eigene Open-Source-Lizenz, siehe die verlinkten Repositories<\/li>\n\n\n\n<li>Marken: Namen und Marken geh\u00f6ren den jeweiligen Inhabern. Die Orakelkugel-Demo hat keine Verbindung zum Produkt \u201eMagic 8 Ball\u201c von Mattel, Inc.<\/li>\n<\/ul>\n\n\n\n<p class=\"fambach-ki-hinweis has-small-font-size wp-block-paragraph\"><em>KI-Hinweis: Bei Recherche und Text hat KI mitgewirkt (Claude, Anthropic). Gepr\u00fcft und verantwortet von Stefan Fambach.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"quellen\"><span class=\"ez-toc-section\" id=\"Quellen\"><\/span>Quellen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n\n<div class=\"wp-block-table wp-block-sources-table\" style=\"margin-top: 30px;\"><ul class=\"wpls-sources-list\" style=\"margin:0; padding-left:20px;\"><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit_BusIO\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">Adafruit BusIO<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/adafruit\/Adafruit_BusIO\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit_GC9A01A\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">Adafruit GC9A01A<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/adafruit\/Adafruit_GC9A01A\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/adafruit\/Adafruit-GFX-Library\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">Adafruit GFX<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/adafruit\/Adafruit-GFX-Library\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/de.aliexpress.com\/item\/1005003262813175.html\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">AliExpress \u2013 rundes 1,28\u2033-TFT GC9A01 (Bezugsquelle)<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/de.aliexpress.com\/item\/1005003262813175.html\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/forum.arduino.cc\/t\/arduino-nano-esp32-works-with-adafruit-gc9a01-but-not-with-tft-espi\/1414533\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">Arduino-Forum \u2013 Adafruit GC9A01 l\u00e4uft, TFT_eSPI nicht<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/forum.arduino.cc\/t\/arduino-nano-esp32-works-with-adafruit-gc9a01-but-not-with-tft-espi\/1414533\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/www.fambach.net\/?p=8568\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">D1 Mini ESP32<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/www.fambach.net\/?p=8568\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/dronebotworkshop.com\/gc9a01\/\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">DroneBot Workshop \u2013 GC9A01 Round Displays<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/dronebotworkshop.com\/gc9a01\/\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/espressif\/arduino-esp32\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">esp32<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/espressif\/arduino-esp32\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/www.fambach.net\/?p=10488\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">ESP32-C3 Super Mini<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/www.fambach.net\/?p=10488\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/esp8266\/Arduino\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">esp8266<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/esp8266\/Arduino\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/sfambach\/esp_round_display_demo\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">esp_round_display_demo<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/sfambach\/esp_round_display_demo\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/russhughes\/gc9a01_mpy\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">gc9a01_mpy<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/russhughes\/gc9a01_mpy\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/moononournation\/Arduino_GFX\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">GFX Library for Arduino<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/moononournation\/Arduino_GFX\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/Bodmer\/TFT_eSPI\/issues\/3346\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">Issue 3346<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/Bodmer\/TFT_eSPI\/issues\/3346\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/lovyan03\/LovyanGFX\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">LovyanGFX<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/lovyan03\/LovyanGFX\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/lvgl.io\/\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">LVGL<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/lvgl.io\/\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--broken ub-content-link--status-after is-broken\"><a href=\"https:\/\/polyformproject.org\/licenses\/noncommercial\/1.0.0\/\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\" title=\"This link appears to be broken.\">PolyForm Noncommercial 1.0.0<\/a><span class=\"ub-status ub-status--broken\" title=\"Link status: Broken\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: Broken<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/polyformproject.org\/licenses\/noncommercial\/1.0.0\/\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/Bodmer\/TFT_eSPI\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">TFT_eSPI<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/Bodmer\/TFT_eSPI\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/github.com\/Bodmer\/TFT_eSPI\/discussions\/3283\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">TFT_eSPI \u2013 Diskussion GC9A01 und ESP32-S3<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/github.com\/Bodmer\/TFT_eSPI\/discussions\/3283\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/www.voltlog.com\/tag\/gc9a01-display\/\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">Voltlog #349 \u2013 GC9A01 mit Arduino und ESP32<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/www.voltlog.com\/tag\/gc9a01-display\/\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/www.fambach.net\/?p=8631\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">Wemos C3 Mini<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/www.fambach.net\/?p=8631\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><li style=\"margin-bottom:5px;\"><span class=\"ub-content-link ub-content-link--ok ub-content-link--status-after\"><a href=\"https:\/\/www.fambach.net\/?p=4918\" target=\"_blank\" rel=\"noopener\" class=\"ub-content-link__anchor\">Wemos D1 Mini<\/a><span class=\"ub-status ub-status--ok\" title=\"Link status: OK\"><span class=\"ub-status__icon\" aria-hidden=\"true\">\u25cf<\/span><span class=\"screen-reader-text\">Link status: OK<\/span><\/span><\/span> <button type=\"button\" class=\"wpls-jump-button\" data-wpls-jump-url=\"https:\/\/www.fambach.net\/?p=4918\" title=\"Zum Block im Editor springen\">\u21bb<\/button><\/li><\/ul><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Runde Displays sind einfach schick. F\u00fcr Uhren, Tachos, Messinstrumente oder kleine Augen in Robotern gibts kaum was Besseres als das 1,28\u2033-TFT mit dem GC9A01-Controller. Ich habe meins beim schnellen Ali f\u00fcr ein paar Euro bestellt, angeschlossen wird es per SPI. In diesem Beitrag geht es um den Anschluss an ESP8266, ESP32 und ESP32-C3, die Libraries, &#8230;<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/rundes-tft-gc9a01-esp8266-esp32-c3\/\" class=\"read-more-link\">Carry on reading <span class=\"screen-reader-text\">\"Rundes 1,28\u2033-TFT GC9A01 an ESP8266, ESP32 und ESP32-C3\"<\/span> <span class=\"meta-nav\">\u2192<\/span><\/a>","protected":false},"author":1,"featured_media":20965,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[188,340],"tags":[],"class_list":["post-20975","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esp-32","category-lcd","penguin-post","penguin-post-not-sticky"],"modified_by":null,"_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/20975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/comments?post=20975"}],"version-history":[{"count":50,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/20975\/revisions"}],"predecessor-version":[{"id":21037,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/20975\/revisions\/21037"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media\/20965"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=20975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=20975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=20975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}