<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Common problems]]></title><description><![CDATA[A place to discuss the common problems that you might encounter with your projects]]></description><link>https://www.community.lilygo.cc/category/3</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 02:15:14 GMT</lastBuildDate><atom:link href="https://www.community.lilygo.cc/category/3.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Jul 2025 07:18:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[LILYGO TTGO LoRa32 Display &quot;burn out&quot; (loses intensity on much used pixels)]]></title><description><![CDATA[<p dir="auto">How to get a replacement display?</p>
]]></description><link>https://www.community.lilygo.cc/topic/1735/lilygo-ttgo-lora32-display-burn-out-loses-intensity-on-much-used-pixels</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1735/lilygo-ttgo-lora32-display-burn-out-loses-intensity-on-much-used-pixels</guid><dc:creator><![CDATA[Andre]]></dc:creator><pubDate>Tue, 29 Jul 2025 07:18:17 GMT</pubDate></item><item><title><![CDATA[SIM7600E-H module not doing MQTT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/1044">@bumptop</a> Hi, I seem to have the same problem as you. My module is a SIM7670G, but otherwise I see precisely the same issue. Did you ever find a solution to this issue?<br />
No matter what I do, the CMQTTSTART always returns ERROR. The same for all other MQTT related commands (with same exception as you).<br />
I have tried many different execution orders, and I have read the application guides for the particular module, but nothing helps.</p>
]]></description><link>https://www.community.lilygo.cc/topic/515/sim7600e-h-module-not-doing-mqtt</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/515/sim7600e-h-module-not-doing-mqtt</guid><dc:creator><![CDATA[Anes]]></dc:creator><pubDate>Mon, 19 Aug 2024 12:38:43 GMT</pubDate></item><item><title><![CDATA[T7 S3 Crashing when using xTaskCreate()]]></title><description><![CDATA[<p dir="auto">I found the problem.</p>
<p dir="auto">The xTask "blink_led()" was not in an infinite loop. It will execute once and exit thus, when RTOS want to schedule it again, it does not exists and crashes.</p>
]]></description><link>https://www.community.lilygo.cc/topic/1029/t7-s3-crashing-when-using-xtaskcreate</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1029/t7-s3-crashing-when-using-xtaskcreate</guid><dc:creator><![CDATA[frikolivier]]></dc:creator><pubDate>Wed, 10 Jul 2024 11:37:23 GMT</pubDate></item><item><title><![CDATA[TTGO Lora32 oled Flash boot]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2849">@biker32</a> Whew, there is a bewildering number of LilyGO TTGO LoRa boards and naming/numbering conventions and all I can see is that your board is not very alike to the RandomNerdTutorials board and the OLED pins are different, for example.</p>
<p dir="auto">I have run out of ideas, so all I can suggest is check all pins defined in your sketch, against the image of the board pinout you provided.</p>
<p dir="auto">Also the hard way to troubleshoot is to comment out the LoRa stuff until it compiles and then slowly add features until it crashes. (Gonna be a long night)</p>
<p dir="auto">oof. I just thought...what 'ESP32 by Espressif'  board def are you using? The newer ones break LilyGO products. Try v2.0.15</p>
]]></description><link>https://www.community.lilygo.cc/topic/1057/ttgo-lora32-oled-flash-boot</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1057/ttgo-lora32-oled-flash-boot</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Fri, 05 Jul 2024 01:12:26 GMT</pubDate></item><item><title><![CDATA[T-Beam Supreme wont power up]]></title><description><![CDATA[<p dir="auto">I recently purchased a T-Beam Supreme and  set it up to my phone 5 days ago, removed the battery and placed it back in the lilygo case, I printed up a case and took it out and add the battery, Polarity was correct and the battery new and voltage confirmed 3.7v</p>
<p dir="auto">The T Beam Supreme won't power up on battery or USB ??</p>
<p dir="auto">I've contacted Lilygo and not got anything more than an acknowledgment email!</p>
<p dir="auto">This was an evaluation unit and if the performance was good, several hundred would ordered !</p>
<p dir="auto">Any Suggestions?</p>
]]></description><link>https://www.community.lilygo.cc/topic/1055/t-beam-supreme-wont-power-up</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1055/t-beam-supreme-wont-power-up</guid><dc:creator><![CDATA[umj]]></dc:creator><pubDate>Tue, 02 Jul 2024 11:29:23 GMT</pubDate></item><item><title><![CDATA[LoRa32 V2.1_1.6]]></title><description><![CDATA[<p dir="auto">In the pin diagram, number 27 of mosi, number 5 of sclk, and number 18 of cs are missing. We are suffering because we cannot resolve this. please help</p>
]]></description><link>https://www.community.lilygo.cc/topic/1036/lora32-v2-1_1-6</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1036/lora32-v2-1_1-6</guid><dc:creator><![CDATA[pbh8075]]></dc:creator><pubDate>Wed, 26 Jun 2024 15:31:55 GMT</pubDate></item><item><title><![CDATA[Unable to make T-Display S3 work with LiPo battery]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2781">@swerwe123</a> I solved it with <a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/425">@RobLatour</a> 's help. Glad to hear it helped!</p>
]]></description><link>https://www.community.lilygo.cc/topic/711/unable-to-make-t-display-s3-work-with-lipo-battery</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/711/unable-to-make-t-display-s3-work-with-lipo-battery</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Wed, 26 Jun 2024 15:12:15 GMT</pubDate></item><item><title><![CDATA[compile error for demo of TTGO T4 V1.3]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2769">@tolisn</a> Good job! This is a modern headache. LilyGO recommend ESP32 board version 2.0.15, which I use.<br />
The new board defs are for newer C6 chips and other new Bluetooth chips.<br />
I hope it settles down soon, it is tedious.<br />
-Terry</p>
]]></description><link>https://www.community.lilygo.cc/topic/1034/compile-error-for-demo-of-ttgo-t4-v1-3</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1034/compile-error-for-demo-of-ttgo-t4-v1-3</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Tue, 25 Jun 2024 15:24:25 GMT</pubDate></item><item><title><![CDATA[Lilygo T-RGB 2.8&quot; display not working with SquareLine Studio]]></title><description><![CDATA[<p dir="auto">Good morning,<br />
I'm a newbie on this king of sfotware development and I just wanto to do an project with a several screens on lilygo t-rgb 2.8'' to control 2 servo motors but my screen remains always black... I already tried almost everything but maybe the problem is my waek knolegment about this area...<br />
Can you share with me a simple project working with SquareLine Studio and Arduino IDE?</p>
<p dir="auto">Thank you for you help<br />
Hugo Pereira</p>
]]></description><link>https://www.community.lilygo.cc/topic/897/lilygo-t-rgb-2-8-display-not-working-with-squareline-studio</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/897/lilygo-t-rgb-2-8-display-not-working-with-squareline-studio</guid><dc:creator><![CDATA[HugoP]]></dc:creator><pubDate>Wed, 19 Jun 2024 11:20:40 GMT</pubDate></item><item><title><![CDATA[T-Touch Bar LED does not work with SquareLine Studio]]></title><description><![CDATA[<p dir="auto">I might need some help with implementing the Flow_image example on the T-Touch Bar LED device using the official source code from Lilygo (<a href="https://github.com/Xinyuan-LilyGO/T-Touch_Bar.git" rel="nofollow ugc">https://github.com/Xinyuan-LilyGO/T-Touch_Bar.git</a>). I have built the interface using SquareLine Studio (configuration details are provided below). However, after successfully compiling and uploading the code, the T-Touch Bar LED screen remains black. I tried restarting, but it didn't change anything. I hope someone can assist me. My configuration details are provided below.</p>
<p dir="auto">Interface configuration on SquareLine Studio 1.4.1:<br />
<img src="/assets/uploads/files/1718449153736-capture111-resized.png" alt="Capture111.PNG" class=" img-responsive img-markdown" /></p>
<p dir="auto">main.cpp</p>
<pre><code>
#define I2C_SDA 10
#define I2C_SCL 11
#define INT_N_PIN 12
#define RST_N_PIN 9
#define TFT1_CS 14
#define TFT2_CS 13
#define LED_PIN 21
#define TOUCH_PIN 1
#define TOUCH_CE_PIN 39
#define TFT1_EN                      \
    {                                \
        digitalWrite(TFT2_CS, HIGH); \
        digitalWrite(TFT1_CS, LOW);  \
    }
#define TFT2_EN                      \
    {                                \
        digitalWrite(TFT1_CS, HIGH); \
        digitalWrite(TFT2_CS, LOW);  \
    }
#define DISP_BUF_SIZE (screenWidth * screenHeight)

#include "Arduino.h"
#include &lt;TFT_GC9D01N.h&gt;
#include "ui.h"
#include &lt;SPI.h&gt;
#include "lvgl.h"
#include "FT6336U.h"
#include &lt;stdio.h&gt;

FT6336U ft6336u(I2C_SDA, I2C_SCL, RST_N_PIN, INT_N_PIN);
FT6336U_TouchPointType tp;
TFT_GC9D01N_Class tft;
static const uint32_t screenWidth = 40;
static const uint32_t screenHeight = 320;
static lv_disp_draw_buf_t draw_buf;
static lv_disp_drv_t disp_drv;
static lv_color_t *buf;
lv_disp_t *disp;
lv_obj_t *meun_obj_bg;
lv_obj_t *ui_meun_group;

static void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p);
void my_input_read(lv_indev_drv_t *drv, lv_indev_data_t *data);
void lv_port_disp_init(void);
static void ofs_y_anim(void *img, int32_t v);
void setup()
{
    // put your setup code here, to run once:
    Serial.begin(115200);
    pinMode(LED_PIN, OUTPUT);
    pinMode(TOUCH_CE_PIN, OUTPUT);
    digitalWrite(TOUCH_CE_PIN, HIGH);

    tft.begin();
    tft.backlight(255);
    pinMode(TFT2_CS, OUTPUT);
    pinMode(TFT1_CS, OUTPUT);

    digitalWrite(TFT2_CS, LOW);
    digitalWrite(TFT1_CS, LOW);
    delay(200);

    TFT2_EN
    tft.writecommand(0x36);
    tft.writedata(0x00);

    ft6336u.begin();
    delay(200);

    TFT1_EN
    tft.DispColor(0, 0, TFT_WIDTH, TFT_HEIGHT, BLACK);
    TFT2_EN
    tft.DispColor(0, 0, TFT_WIDTH, TFT_HEIGHT, BLACK);

    lv_init();
    lv_port_disp_init();
    // load UI
    ui_init();
    lv_disp_load_scr(meun_obj_bg);
}

void loop()
{
    tp = ft6336u.scan();
    lv_timer_handler();
    vTaskDelay(5);
}

static void ofs_y_anim(void *img, int32_t v)
{
    lv_img_set_offset_y((lv_obj_t *)img, v);
}

static void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)
{
    uint32_t w = (area-&gt;x2 - area-&gt;x1 + 1);
    uint32_t h = (area-&gt;y2 - area-&gt;y1 + 1);

    if (area-&gt;y1 &lt;= 160 &amp;&amp; area-&gt;y2 &lt;= 160)
    {
        TFT1_EN
        tft.DrawImage(area-&gt;x1, area-&gt;y1, w, (h &gt; 160 ? 160 : h), (uint16_t *)color_p);
    }
    else if (area-&gt;y1 &gt; 160 &amp;&amp; area-&gt;y2 &gt; 160)
    {
        TFT2_EN
        tft.DrawImage(area-&gt;x1, area-&gt;y1 - 159, w, h, (uint16_t *)color_p);
    }
    else
    {
        uint32_t h1 = (160 - area-&gt;y1);
        uint32_t h2 = (area-&gt;y2 - 160 + 1);
        TFT1_EN
        tft.BlockWrite(area-&gt;x1, area-&gt;x1 + w - 1, area-&gt;y1, 159);
        SPI.beginTransaction(SPISettings(SPI_FREQUENCY, MSBFIRST, SPI_MODE0));
        DC_D;
        for (int i = 0; i &lt; (w * h1); i++)
        {
            SPI.write16(*((uint16_t *)(color_p + i)));
        }
        SPI.endTransaction();

        TFT2_EN
        tft.BlockWrite(area-&gt;x1, area-&gt;x1 + w - 1, 0, area-&gt;y1 + h2 - 1);
        SPI.beginTransaction(SPISettings(SPI_FREQUENCY, MSBFIRST, SPI_MODE0));
        DC_D;
        int j = w * h1;
        for (int i = 0; i &lt; (w * h2); i++)
        {
            SPI.write16(*((uint16_t *)(color_p + i + j)));
        }
        SPI.endTransaction();
    }

    lv_disp_flush_ready(disp);
}

void my_input_read(lv_indev_drv_t *drv, lv_indev_data_t *data)
{

    if (tp.tp[0].status == 1)
    {
        if (data-&gt;point.y &gt; 165)
        {
            data-&gt;point.x = tp.tp[0].x;
            data-&gt;point.y = tp.tp[0].y - 40;
        }
        else
        {
            data-&gt;point.x = tp.tp[0].x;
            data-&gt;point.y = tp.tp[0].y;
        }
        data-&gt;state = LV_INDEV_STATE_PRESSED;
    }
    else
    {
        data-&gt;state = LV_INDEV_STATE_RELEASED;
    }
}

void lv_port_disp_init(void)
{
    buf = (lv_color_t *)heap_caps_malloc(sizeof(lv_color_t) * DISP_BUF_SIZE,
                                         MALLOC_CAP_DMA | MALLOC_CAP_8BIT);
    lv_disp_draw_buf_init(&amp;draw_buf, buf, NULL, DISP_BUF_SIZE);

    lv_disp_drv_init(&amp;disp_drv);
    disp_drv.hor_res = screenWidth;
    disp_drv.ver_res = screenHeight;
    disp_drv.flush_cb = my_disp_flush;
    disp_drv.draw_buf = &amp;draw_buf;
    // disp_drv.full_refresh=1;
    disp_drv.sw_rotate = 1;
    disp_drv.rotated = LV_DISP_ROT_180;
    lv_disp_drv_register(&amp;disp_drv);
    disp = lv_disp_drv_register(&amp;disp_drv); /*Register the driver and save the created display objects*/

    // touch
    static lv_indev_drv_t indev_drv;
    lv_indev_drv_init(&amp;indev_drv);
    indev_drv.type = LV_INDEV_TYPE_POINTER;
    indev_drv.read_cb = my_input_read;
    /*Register the driver in LVGL and save the created input device object*/
    lv_indev_t *my_indev = lv_indev_drv_register(&amp;indev_drv);
}

</code></pre>
<p dir="auto">platformio.ini</p>
<pre><code>; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[platformio]
;;Select the project you want to compile
; default_envs = USB_HID
; default_envs = battery_voltage
; default_envs = Flow_image
; default_envs = nyan_cat
default_envs = Touch_Bar_Image


globallib_dir = lib
src_dir = E:/Work/PlatformIO/Project/T-Touch_Bar/example/${platformio.default_envs}

[env]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino

; change MCU frequency
board_build.f_cpu = 240000000L
monitor_speed = 115200
; upload_port= COM1096

build_flags = 
    -DLV_LVGL_H_INCLUDE_SIMPLE
    -DBOARD_HAS_PSRAM
    ; -mfix-esp32-psram-cache-issue 
    ; -mfix-esp32-psram-cache-strategy=memw
    -DARDUINO_USB_MODE=1
    ; -DARDUINO_USB_CDC_ON_BOOT=1 
board_build.partitions=partitions_custom.csv

; platform_packages =
;     framework-arduinoespressif32@https://github.com/espressif/arduino-esp32.git#2.0.6
    
lib_deps = 
[env:battery_voltage]
[env:Flow_image]
[env:USB_HID]
[env:nyan_cat]
[env:Touch_Bar_Image]

</code></pre>
]]></description><link>https://www.community.lilygo.cc/topic/1022/t-touch-bar-led-does-not-work-with-squareline-studio</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1022/t-touch-bar-led-does-not-work-with-squareline-studio</guid><dc:creator><![CDATA[nthuy]]></dc:creator><pubDate>Sat, 15 Jun 2024 10:57:34 GMT</pubDate></item><item><title><![CDATA[T-Display V1.1 screen black after reset]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2667">@treborsinad</a><br />
<a href="https://github.com/Xinyuan-LilyGO/TTGO-T-Display" rel="nofollow ugc">https://github.com/Xinyuan-LilyGO/TTGO-T-Display</a><br />
Did you copy the zip file from this location and then copy the contents of TFT_eSPI folder into and overwrite the existing stock arduino TFT_eSPI  libraries?<br />
Very Key!<br />
Then try and load the FactoryTest that is inside that folder.</p>
]]></description><link>https://www.community.lilygo.cc/topic/1019/t-display-v1-1-screen-black-after-reset</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1019/t-display-v1-1-screen-black-after-reset</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Thu, 13 Jun 2024 20:46:45 GMT</pubDate></item><item><title><![CDATA[Replacement of ribbon from T-Keyboard in T-Deck]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2668">@danteypl</a> Your only choice is to contact<br />
<a href="mailto:sales@LilyGO.cc" rel="nofollow ugc">sales@LilyGO.cc</a></p>
]]></description><link>https://www.community.lilygo.cc/topic/1020/replacement-of-ribbon-from-t-keyboard-in-t-deck</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1020/replacement-of-ribbon-from-t-keyboard-in-t-deck</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Thu, 13 Jun 2024 20:33:51 GMT</pubDate></item><item><title><![CDATA[T-Display S3 doesn&#x27;t work with a Mouse_Scroll_Wheel_Rotary_Encoder?]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2595">@llsummer</a> You should use ESP32S3 Dev Module, it seems.<br />
If you have an issue with that advice you know very well where the LilyGO LilyGO T-Display S3 GitHub repository is.<br />
Make an Issue.</p>
]]></description><link>https://www.community.lilygo.cc/topic/1016/t-display-s3-doesn-t-work-with-a-mouse_scroll_wheel_rotary_encoder</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1016/t-display-s3-doesn-t-work-with-a-mouse_scroll_wheel_rotary_encoder</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Wed, 12 Jun 2024 17:13:52 GMT</pubDate></item><item><title><![CDATA[T-7670G, SD Card example wont work]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">I inserted an SD card to the built in card slot of the T-7670G but when I run the SDCard example from the official github library (<a href="https://github.com/Xinyuan-LilyGO/LilyGO-T-A76XX/" rel="nofollow ugc">https://github.com/Xinyuan-LilyGO/LilyGO-T-A76XX/</a>), I get an "Card Mount Failed" error.</p>
<p dir="auto">I have tried two different SD cards, neither one works:</p>
<p dir="auto"><strong>San Disk 32GB SDHC with the following format:</strong></p>
<p dir="auto"><img src="/assets/uploads/files/1718175306383-b2a06823-0e1c-4160-a9c7-e7981bb5b920-image.png" alt="b2a06823-0e1c-4160-a9c7-e7981bb5b920-image.png" class=" img-responsive img-markdown" width="375" height="661" /></p>
<p dir="auto"><strong>San Disk 64GB SDXC with the following format:</strong></p>
<p dir="auto"><img src="/assets/uploads/files/1718175337102-64gb.png" alt="64gb.png" class=" img-responsive img-markdown" width="372" height="667" /></p>
<p dir="auto">I am running with the official SD card example with no change to the code, so I assume the SPI pinout is correct.</p>
<pre><code>/**
 * @file      SDCard.ino
 * @author    Lewis He (lewishe@outlook.com)
 * @license   MIT
 * @copyright Copyright (c) 2023  Shenzhen Xin Yuan Electronic Technology Co., Ltd
 * @date      2023-10-30
 *
 */
#include &lt;FS.h&gt;
#include &lt;SD.h&gt;
#include &lt;SPI.h&gt;
#include "utilities.h"

#if defined(LILYGO_T_CALL_A7670_V1_0) || defined(LILYGO_T_A7608X_DC_S3)
#error "This board not SD slot"
#endif


void listDir(fs::FS &amp;fs, const char *dirname, uint8_t levels)
{
    Serial.printf("Listing directory: %s\n", dirname);

    File root = fs.open(dirname);
    if (!root) {
        Serial.println("Failed to open directory");
        return;
    }
    if (!root.isDirectory()) {
        Serial.println("Not a directory");
        return;
    }

    File file = root.openNextFile();
    while (file) {
        if (file.isDirectory()) {
            Serial.print("  DIR : ");
            Serial.println(file.name());
            if (levels) {
                listDir(fs, file.path(), levels - 1);
            }
        } else {
            Serial.print("  FILE: ");
            Serial.print(file.name());
            Serial.print("  SIZE: ");
            Serial.println(file.size());
        }
        file = root.openNextFile();
    }
}

void createDir(fs::FS &amp;fs, const char *path)
{
    Serial.printf("Creating Dir: %s\n", path);
    if (fs.mkdir(path)) {
        Serial.println("Dir created");
    } else {
        Serial.println("mkdir failed");
    }
}

void removeDir(fs::FS &amp;fs, const char *path)
{
    Serial.printf("Removing Dir: %s\n", path);
    if (fs.rmdir(path)) {
        Serial.println("Dir removed");
    } else {
        Serial.println("rmdir failed");
    }
}

void readFile(fs::FS &amp;fs, const char *path)
{
    Serial.printf("Reading file: %s\n", path);

    File file = fs.open(path);
    if (!file) {
        Serial.println("Failed to open file for reading");
        return;
    }

    Serial.print("Read from file: ");
    while (file.available()) {
        Serial.write(file.read());
    }
    file.close();
}

void writeFile(fs::FS &amp;fs, const char *path, const char *message)
{
    Serial.printf("Writing file: %s\n", path);

    File file = fs.open(path, FILE_WRITE);
    if (!file) {
        Serial.println("Failed to open file for writing");
        return;
    }
    if (file.print(message)) {
        Serial.println("File written");
    } else {
        Serial.println("Write failed");
    }
    file.close();
}

void appendFile(fs::FS &amp;fs, const char *path, const char *message)
{
    Serial.printf("Appending to file: %s\n", path);

    File file = fs.open(path, FILE_APPEND);
    if (!file) {
        Serial.println("Failed to open file for appending");
        return;
    }
    if (file.print(message)) {
        Serial.println("Message appended");
    } else {
        Serial.println("Append failed");
    }
    file.close();
}

void renameFile(fs::FS &amp;fs, const char *path1, const char *path2)
{
    Serial.printf("Renaming file %s to %s\n", path1, path2);
    if (fs.rename(path1, path2)) {
        Serial.println("File renamed");
    } else {
        Serial.println("Rename failed");
    }
}

void deleteFile(fs::FS &amp;fs, const char *path)
{
    Serial.printf("Deleting file: %s\n", path);
    if (fs.remove(path)) {
        Serial.println("File deleted");
    } else {
        Serial.println("Delete failed");
    }
}

void testFileIO(fs::FS &amp;fs, const char *path)
{
    File file = fs.open(path);
    static uint8_t buf[512];
    size_t len = 0;
    uint32_t start = millis();
    uint32_t end = start;
    if (file) {
        len = file.size();
        size_t flen = len;
        start = millis();
        while (len) {
            size_t toRead = len;
            if (toRead &gt; 512) {
                toRead = 512;
            }
            file.read(buf, toRead);
            len -= toRead;
        }
        end = millis() - start;
        Serial.printf("%u bytes read for %u ms\n", flen, end);
        file.close();
    } else {
        Serial.println("Failed to open file for reading");
    }


    file = fs.open(path, FILE_WRITE);
    if (!file) {
        Serial.println("Failed to open file for writing");
        return;
    }

    size_t i;
    start = millis();
    for (i = 0; i &lt; 2048; i++) {
        file.write(buf, 512);
    }
    end = millis() - start;
    Serial.printf("%u bytes written for %u ms\n", 2048 * 512, end);
    file.close();
}

void setup()
{
    Serial.begin(115200);

    SPI.begin(BOARD_SCK_PIN, BOARD_MISO_PIN, BOARD_MOSI_PIN);
    if (!SD.begin(BOARD_SD_CS_PIN)) {
        Serial.println("Card Mount Failed");
        return;
    }
    uint8_t cardType = SD.cardType();

    if (cardType == CARD_NONE) {
        Serial.println("No SD card attached");
        return;
    }

    Serial.print("SD Card Type: ");
    if (cardType == CARD_MMC) {
        Serial.println("MMC");
    } else if (cardType == CARD_SD) {
        Serial.println("SDSC");
    } else if (cardType == CARD_SDHC) {
        Serial.println("SDHC");
    } else {
        Serial.println("UNKNOWN");
    }

    uint64_t cardSize = SD.cardSize() / (1024 * 1024);
    Serial.printf("SD Card Size: %lluMB\n", cardSize);

    listDir(SD, "/", 0);
    createDir(SD, "/mydir");
    listDir(SD, "/", 0);
    removeDir(SD, "/mydir");
    listDir(SD, "/", 2);
    writeFile(SD, "/hello.txt", "Hello ");
    appendFile(SD, "/hello.txt", "World!\n");
    readFile(SD, "/hello.txt");
    deleteFile(SD, "/foo.txt");
    renameFile(SD, "/hello.txt", "/foo.txt");
    readFile(SD, "/foo.txt");
    testFileIO(SD, "/test.txt");
    Serial.printf("Total space: %lluMB\n", SD.totalBytes() / (1024 * 1024));
    Serial.printf("Used space: %lluMB\n", SD.usedBytes() / (1024 * 1024));
}

void loop()
{

}


</code></pre>
<p dir="auto">Any ideas?</p>
]]></description><link>https://www.community.lilygo.cc/topic/1017/t-7670g-sd-card-example-wont-work</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1017/t-7670g-sd-card-example-wont-work</guid><dc:creator><![CDATA[BR4593]]></dc:creator><pubDate>Wed, 12 Jun 2024 06:56:27 GMT</pubDate></item><item><title><![CDATA[RadioLib PingPong not working]]></title><description><![CDATA[<p dir="auto">I could need some help with LoRa communication between an T-Beam SoftRF SX1626 and a T-Beam Mashtastic. I tried to use the transmitter and receiver code from:<br />
<a href="https://github.com/Xinyuan-LilyGO/LilyGo-LoRa-Series/tree/master/examples/RadioLibExamples" rel="nofollow ugc">https://github.com/Xinyuan-LilyGO/LilyGo-LoRa-Series/tree/master/examples/RadioLibExamples</a></p>
<p dir="auto">but this didn't work.</p>
<p dir="auto">then i used the base of this code (utilities.h, LoRaBoards.h, LoRaBoards.cpp) and changed the main.ino to this:</p>
<pre><code>/*
   RadioLib Transmit with Interrupts Example

   This example transmits packets using SX1276/SX1278/SX1262/SX1268/SX1280/LR1121 LoRa radio module.
   Each packet contains up to 256 bytes of data, in the form of:
    - Arduino String
    - null-terminated char array (C-string)
    - arbitrary binary data (byte array)

   For full API reference, see the GitHub Pages
   https://jgromes.github.io/RadioLib/
*/

#include "LoRaBoards.h"
#include &lt;RadioLib.h&gt;

// save transmission states between loops
int transmissionState = RADIOLIB_ERR_NONE;

// flag to indicate transmission or reception state
bool transmitFlag = false;

// flag to indicate that a packet was sent or received
volatile bool operationDone = false;

#if     defined(USING_SX1276)
#define CONFIG_RADIO_FREQ           868.0
#define CONFIG_RADIO_OUTPUT_POWER   15
#define CONFIG_RADIO_BW             125.0
SX1276 radio = new Module(RADIO_CS_PIN, RADIO_DIO0_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);

#elif   defined(USING_SX1278)
#define CONFIG_RADIO_FREQ           433.0
#define CONFIG_RADIO_OUTPUT_POWER   17
#define CONFIG_RADIO_BW             125.0
SX1278 radio = new Module(RADIO_CS_PIN, RADIO_DIO0_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);

#elif   defined(USING_SX1262)
#define CONFIG_RADIO_FREQ           868.0
#define CONFIG_RADIO_OUTPUT_POWER   22
#define CONFIG_RADIO_BW             125.0

SX1262 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);

#elif   defined(USING_SX1280)
#define CONFIG_RADIO_FREQ           2400.0
#define CONFIG_RADIO_OUTPUT_POWER   13
#define CONFIG_RADIO_BW             203.125
#ifdef T3_S3_V1_2_SX1280_PA
// PA Version power range : -18 ~ 3dBm
#undef CONFIG_RADIO_OUTPUT_POWER
#define CONFIG_RADIO_OUTPUT_POWER  3
#endif
SX1280 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);

#elif   defined(USING_SX1268)
#define CONFIG_RADIO_FREQ           433.0
#define CONFIG_RADIO_OUTPUT_POWER   22
#define CONFIG_RADIO_BW             125.0
SX1268 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);

#elif   defined(USING_LR1121)
#define CONFIG_RADIO_FREQ           868.0
#define CONFIG_RADIO_OUTPUT_POWER   22
#define CONFIG_RADIO_BW             125.0
LR1121 radio = new Module(RADIO_CS_PIN, RADIO_DIO9_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);
#endif

void drawMain();

// flag to indicate that a packet was sent
static volatile bool transmittedFlag = false;
static uint32_t counter = 0;
static String payload;

// this function is called when a complete packet
// is transmitted by the module
// IMPORTANT: this function MUST be 'void' type
//            and MUST NOT have any arguments!
void setFlag(void) {
  // we sent or received a packet, set the flag
  operationDone = true;
}

void setup()
{
  setupBoards();

  // When the power is turned on, a delay is required.
  delay(1500);


  int state = radio.begin();
  if (state == RADIOLIB_ERR_NONE) {
    Serial.println(F("success!"));
  } else {
    Serial.print(F("failed, code "));
    Serial.println(state);
    while (true);
  }

  // set the function that will be called
  // when new packet is received
#ifdef USING_SX1262
  radio.setDio1Action(setFlag);
#endif

#ifdef USING_SX1276
    radio.setDio0Action(setFlag, RISING);
#endif


  /*
      Sets carrier frequency.
      SX1278/SX1276 : Allowed values range from 137.0 MHz to 525.0 MHz.
      SX1268/SX1262 : Allowed values are in range from 150.0 to 960.0 MHz.
      SX1280        : Allowed values are in range from 2400.0 to 2500.0 MHz.
      LR1121        : Allowed values are in range from 150.0 to 960.0 MHz, 1900 - 2200 MHz and 2400 - 2500 MHz. Will also perform calibrations.
  * * * */

  if (radio.setFrequency(CONFIG_RADIO_FREQ) == RADIOLIB_ERR_INVALID_FREQUENCY) {
    Serial.println(F("Selected frequency is invalid for this module!"));
    while (true);
  }

  /*
      Sets LoRa link bandwidth.
      SX1278/SX1276 : Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz. Only available in %LoRa mode.
      SX1268/SX1262 : Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125.0, 250.0 and 500.0 kHz.
      SX1280        : Allowed values are 203.125, 406.25, 812.5 and 1625.0 kHz.
      LR1121        : Allowed values are 62.5, 125.0, 250.0 and 500.0 kHz.
  * * * */
  if (radio.setBandwidth(CONFIG_RADIO_BW) == RADIOLIB_ERR_INVALID_BANDWIDTH) {
    Serial.println(F("Selected bandwidth is invalid for this module!"));
    while (true);
  }


  /*
    Sets LoRa link spreading factor.
    SX1278/SX1276 :  Allowed values range from 6 to 12. Only available in LoRa mode.
    SX1262        :  Allowed values range from 5 to 12.
    SX1280        :  Allowed values range from 5 to 12.
    LR1121        :  Allowed values range from 5 to 12.
  * * * */
  if (radio.setSpreadingFactor(10) == RADIOLIB_ERR_INVALID_SPREADING_FACTOR) {
    Serial.println(F("Selected spreading factor is invalid for this module!"));
    while (true);
  }

  /*
    Sets LoRa coding rate denominator.
    SX1278/SX1276/SX1268/SX1262 : Allowed values range from 5 to 8. Only available in LoRa mode.
    SX1280        :  Allowed values range from 5 to 8.
    LR1121        :  Allowed values range from 5 to 8.
  * * * */
  if (radio.setCodingRate(6) == RADIOLIB_ERR_INVALID_CODING_RATE) {
    Serial.println(F("Selected coding rate is invalid for this module!"));
    while (true);
  }

  /*
    Sets LoRa sync word.
    SX1278/SX1276/SX1268/SX1262/SX1280 : Sets LoRa sync word. Only available in LoRa mode.
  * * */
  if (radio.setSyncWord(0xAB) != RADIOLIB_ERR_NONE) {
    Serial.println(F("Unable to set sync word!"));
    while (true);
  }

  /*
    Sets transmission output power.
    SX1278/SX1276 :  Allowed values range from -3 to 15 dBm (RFO pin) or +2 to +17 dBm (PA_BOOST pin). High power +20 dBm operation is also supported, on the PA_BOOST pin. Defaults to PA_BOOST.
    SX1262        :  Allowed values are in range from -9 to 22 dBm. This method is virtual to allow override from the SX1261 class.
    SX1268        :  Allowed values are in range from -9 to 22 dBm.
    SX1280        :  Allowed values are in range from -18 to 13 dBm. PA Version range : -18 ~ 3dBm
    LR1121        :  Allowed values are in range from -9 to 22 dBm (high-power PA) or -17 to 14 dBm (low-power PA)
  * * * */
  if (radio.setOutputPower(CONFIG_RADIO_OUTPUT_POWER) == RADIOLIB_ERR_INVALID_OUTPUT_POWER) {
    Serial.println(F("Selected output power is invalid for this module!"));
    while (true);
  }

#if !defined(USING_SX1280) &amp;&amp; !defined(USING_LR1121)
  /*
    Sets current limit for over current protection at transmitter amplifier.
    SX1278/SX1276 : Allowed values range from 45 to 120 mA in 5 mA steps and 120 to 240 mA in 10 mA steps.
    SX1262/SX1268 : Allowed values range from 45 to 120 mA in 2.5 mA steps and 120 to 240 mA in 10 mA steps.
    NOTE: set value to 0 to disable overcurrent protection
  * * * */
  if (radio.setCurrentLimit(140) == RADIOLIB_ERR_INVALID_CURRENT_LIMIT) {
    Serial.println(F("Selected current limit is invalid for this module!"));
    while (true);
  }
#endif

  /*
    Sets preamble length for LoRa or FSK modem.
    SX1278/SX1276 : Allowed values range from 6 to 65535 in %LoRa mode or 0 to 65535 in FSK mode.
    SX1262/SX1268 : Allowed values range from 1 to 65535.
    SX1280        : Allowed values range from 1 to 65535. preamble length is multiple of 4
    LR1121        : Allowed values range from 1 to 65535.
  * * */
  if (radio.setPreambleLength(16) == RADIOLIB_ERR_INVALID_PREAMBLE_LENGTH) {
    Serial.println(F("Selected preamble length is invalid for this module!"));
    while (true);
  }

  // Enables or disables CRC check of received packets.
  if (radio.setCRC(false) == RADIOLIB_ERR_INVALID_CRC_CONFIGURATION) {
    Serial.println(F("Selected CRC is invalid for this module!"));
    while (true);
  }

#ifdef USING_DIO2_AS_RF_SWITCH
#ifdef USING_SX1262
  // Some SX126x modules use DIO2 as RF switch. To enable
  // this feature, the following method can be used.
  // NOTE: As long as DIO2 is configured to control RF switch,
  //       it can't be used as interrupt pin!
  if (radio.setDio2AsRfSwitch() != RADIOLIB_ERR_NONE) {
    Serial.println(F("Failed to set DIO2 as RF switch!"));
    while (true);
  }
#endif //USING_SX1262
#endif //USING_DIO2_AS_RF_SWITCH

#ifdef RADIO_RX_PIN
  // SX1280 PA Version
  radio.setRfSwitchPins(RADIO_RX_PIN, RADIO_TX_PIN);
#endif

#ifdef RADIO_SWITCH_PIN
  // T-MOTION
  const uint32_t pins[] = {
    RADIO_SWITCH_PIN, RADIO_SWITCH_PIN, RADIOLIB_NC,
  };
  static const Module::RfSwitchMode_t table[] = {
    {Module::MODE_IDLE,  {0,  0} },
    {Module::MODE_RX,    {1, 0} },
    {Module::MODE_TX,    {0, 1} },
    END_OF_MODE_TABLE,
  };
  radio.setRfSwitchTable(pins, table);
#endif



  delay(1000);

}

void loop() {
  // check if the previous operation finished
  if (operationDone) {
    // reset flag
    operationDone = false;

    if (transmitFlag) {
      // the previous operation was transmission, listen for response
      // print the result
      if (transmissionState == RADIOLIB_ERR_NONE) {
        // packet was successfully sent
        Serial.println(F("transmission finished!"));

      } else {
        Serial.print(F("failed, code "));
        Serial.println(transmissionState);

      }

      // listen for response
      radio.startReceive();
      transmitFlag = false;

    } else {
      // the previous operation was reception
      // print data and send another packet
      String str;
      int state = radio.readData(str);

      if (state == RADIOLIB_ERR_NONE) {
        // packet was successfully received
        Serial.println(F("[SX1262] Received packet!"));

        // print data of the packet
        Serial.print(F("[SX1262] Data:\t\t"));
        Serial.println(str);

        // print RSSI (Received Signal Strength Indicator)
        Serial.print(F("[SX1262] RSSI:\t\t"));
        Serial.print(radio.getRSSI());
        Serial.println(F(" dBm"));

        // print SNR (Signal-to-Noise Ratio)
        Serial.print(F("[SX1262] SNR:\t\t"));
        Serial.print(radio.getSNR());
        Serial.println(F(" dB"));

      }

      // wait a second before transmitting again
      delay(1000);

      // send another one
      Serial.print(F("[SX1262] Sending another packet ... "));
      transmissionState = radio.startTransmit("Hello World!");
      transmitFlag = true;
    }

  }
}
</code></pre>
<p dir="auto">but the flag is not changed and therefore no packet is sent or received. i use arduino ide for programming. i think it maybe is just a wrong pin ? i also changed between "T_BEAM_SX1262" and "T_BEAM_SX1276" when programming but both boards give the same output which is like:</p>
<pre><code>23:43:26.367 -&gt; ets Jul 29 2019 12:21:46
23:43:26.367 -&gt; 
23:43:26.367 -&gt; rst:0x1 (POWERON_RESET),boot:0x13 (S_I_Fdrv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
23:43:26.367 -&gt; mode:DIO, clock div:1
23:43:26.367 -&gt; load:0x3fff0030,len:1184
23:43:26.367 -&gt; load:0x40078000,len:13260
23:43:26.367 -&gt; load:0x40080400,len:3028
23:43:26.367 -&gt; entry 0x400805e4
23:43:26.434 -&gt; setupBoards
23:43:26.434 -&gt; -----------------------------------
23:43:26.434 -&gt; Reset reason: In case of deep sleep, reset was not caused by exit from deep sleep
23:43:26.434 -&gt; PSRAM is disable!
23:43:26.466 -&gt; Flash:4 MB
23:43:26.466 -&gt; Flash speed:80 M
23:43:26.466 -&gt; Model:ESP32-D0WDQ6-V3
23:43:26.466 -&gt; Chip Revision:3
23:43:26.466 -&gt; Freq:240 MHZ
23:43:26.466 -&gt; SDK Ver:v4.4.5
23:43:26.466 -&gt; DATE:Jun 10 2024
23:43:26.466 -&gt; TIME:23:35:19
23:43:26.466 -&gt; EFUSE MAC: C86CA01FB608
23:43:26.466 -&gt; -----------------------------------
23:43:26.466 -&gt; AXP2101 PMU init succeeded, using AXP2101 PMU
23:43:26.500 -&gt; =========================================
23:43:26.500 -&gt; DC1  : +   Voltage: 3300 mV 
23:43:26.500 -&gt; DC2  : -   Voltage: 0500 mV 
23:43:26.500 -&gt; DC3  : -   Voltage: 0500 mV 
23:43:26.500 -&gt; DC4  : -   Voltage: 1800 mV 
23:43:26.500 -&gt; DC5  : -   Voltage: 3300 mV 
23:43:26.500 -&gt; ALDO1: -   Voltage: 1800 mV 
23:43:26.500 -&gt; ALDO2: +   Voltage: 3300 mV 
23:43:26.500 -&gt; ALDO3: +   Voltage: 3300 mV 
23:43:26.500 -&gt; ALDO4: -   Voltage: 3300 mV 
23:43:26.500 -&gt; BLDO1: -   Voltage: 1800 mV 
23:43:26.500 -&gt; BLDO2: -   Voltage: 3300 mV 
23:43:26.500 -&gt; =========================================
23:43:26.533 -&gt; PowerKeyPressOffTime:4 Second
23:43:26.533 -&gt; Warning: Failed to find Display at 0x3C address
23:43:26.533 -&gt; init done . 
23:43:28.024 -&gt; success!
</code></pre>
<p dir="auto">and then just stop printing anything. maybe someone has an idea how to fix this or debug it ? would be great</p>
]]></description><link>https://www.community.lilygo.cc/topic/1015/radiolib-pingpong-not-working</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1015/radiolib-pingpong-not-working</guid><dc:creator><![CDATA[vimu]]></dc:creator><pubDate>Mon, 10 Jun 2024 21:44:13 GMT</pubDate></item><item><title><![CDATA[T-Display-S3 (touch version) trouble to connect SD card reader (SPI)]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2595">@llsummer</a> Screenshot 2024-06-08 at 10.59.03 PM.png</p>
<p dir="auto">You have to do more self-research. SD on ESP32 is not easy, but it can be done.<br />
There are many many SD memories that cannot be used.</p>
<p dir="auto">No, I will not elaborate.</p>
]]></description><link>https://www.community.lilygo.cc/topic/154/t-display-s3-touch-version-trouble-to-connect-sd-card-reader-spi</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/154/t-display-s3-touch-version-trouble-to-connect-sd-card-reader-spi</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Sun, 09 Jun 2024 03:01:07 GMT</pubDate></item><item><title><![CDATA[LILYGO T3-S3 won&#x27;t run on powerbanks]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2564">@madler</a> Are you bringing the PowerBank power into the USB-C connector on the board? Then maybe the power bank cannot detect the LilyGO board, due<br />
to small current consumed. This is a common problem with power banks!</p>
<p dir="auto">Or the 2 pin battery connector? Possibly GPIO 35 must be enabled for battery.</p>
<p dir="auto">You could raise an Issue here:<br />
<a href="https://github.com/Xinyuan-LilyGO/LilyGo-LoRa-Series/issues" rel="nofollow ugc">https://github.com/Xinyuan-LilyGO/LilyGo-LoRa-Series/issues</a><br />
-Terry</p>
]]></description><link>https://www.community.lilygo.cc/topic/1008/lilygo-t3-s3-won-t-run-on-powerbanks</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1008/lilygo-t3-s3-won-t-run-on-powerbanks</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Sat, 08 Jun 2024 18:14:00 GMT</pubDate></item><item><title><![CDATA[T-Relay S3 AP password]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2130">@francis</a> Arduino code is C, C++ and all you need to do is #include Arduino.h.<br />
and 'undo' some of your structured 'ini' business in IDF.<br />
Use the listed Arduino libraries.<br />
It is too simple, I think.<br />
-Cheers</p>
]]></description><link>https://www.community.lilygo.cc/topic/1010/t-relay-s3-ap-password</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1010/t-relay-s3-ap-password</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Sat, 08 Jun 2024 15:47:07 GMT</pubDate></item><item><title><![CDATA[t-deck wont run on battery]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/612">@teastain2</a> ok thanks for your help</p>
]]></description><link>https://www.community.lilygo.cc/topic/966/t-deck-wont-run-on-battery</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/966/t-deck-wont-run-on-battery</guid><dc:creator><![CDATA[dawack]]></dc:creator><pubDate>Tue, 04 Jun 2024 23:27:23 GMT</pubDate></item><item><title><![CDATA[T-SIM A7670E SA failed USB with HOT chips]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2569">@rickcook</a> OK, I don't have enough to go on!<br />
So...raise an Issue here:<br />
<a href="https://github.com/Xinyuan-LilyGO/LilyGO-T-A76XX/issues" rel="nofollow ugc">https://github.com/Xinyuan-LilyGO/LilyGO-T-A76XX/issues</a></p>
<p dir="auto">And pester them at <a href="mailto:sales@LilyGO.cc" rel="nofollow ugc">sales@LilyGO.cc</a></p>
<p dir="auto">The hot device has 5 pins, check your schema for it.</p>
<p dir="auto">The big resistor is harder to find on the schema. Have you measured the resistance?</p>
<p dir="auto">Also other LilyGO products don't like multiple power sources due to feed back.</p>
<p dir="auto">Can you be certain that the Solar is regulated to 5V.</p>
<p dir="auto">Cheers, Terry</p>
]]></description><link>https://www.community.lilygo.cc/topic/1002/t-sim-a7670e-sa-failed-usb-with-hot-chips</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/1002/t-sim-a7670e-sa-failed-usb-with-hot-chips</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Tue, 04 Jun 2024 18:14:32 GMT</pubDate></item><item><title><![CDATA[LiLyGo T5-4.7 S3 - the display froze]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/2552">@vitaj</a> You might try raising an 'Issue' here:<br />
<a href="https://github.com/Xinyuan-LilyGO/LilyGo-EPD47/issues" rel="nofollow ugc">https://github.com/Xinyuan-LilyGO/LilyGo-EPD47/issues</a><br />
And then attract their attention with an email here:<br />
<a href="mailto:sales@lilygo.cc" rel="nofollow ugc">sales@lilygo.cc</a><br />
E-Paper displays show their last image until refreshed.<br />
Did you try a simple example from here?:<br />
<a href="https://github.com/Xinyuan-LilyGO/LilyGo-EPD47/blob/master/examples/screen_repair/screen_repair.ino" rel="nofollow ugc">https://github.com/Xinyuan-LilyGO/LilyGo-EPD47/blob/master/examples/screen_repair/screen_repair.ino</a></p>
]]></description><link>https://www.community.lilygo.cc/topic/994/lilygo-t5-4-7-s3-the-display-froze</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/994/lilygo-t5-4-7-s3-the-display-froze</guid><dc:creator><![CDATA[teastain2]]></dc:creator><pubDate>Sun, 02 Jun 2024 18:33:46 GMT</pubDate></item><item><title><![CDATA[T-Embed stuck in bootloader - it thinks it&#x27;s a Feather]]></title><description><![CDATA[<p dir="auto">I'm not very experienced with these boards, and I was trying to upload a sketch to the T-Embed using PlatformIO. I had used a different (wrong) S3 version (the adafruit feather S3) in the platformio.ini file. It got part way through uploading before erroring and now when I plug the board in, it just registers as a USB drive called FTHRS3BOOT.</p>
<p dir="auto">I've tried using bossac to install the firmware from a built pio version using the right board - get an error saying no device is connected on the COM port</p>
<p dir="auto">I've tried using the firmware flash tool suggested in the firmware readme file of the T-Embed github repo - it all seems to be setup the same as the picture in the readme, but clicking start does nothing</p>
<p dir="auto">I've also tried installing circuitpython using a downloaded .uf2 file and the circuit python install tool - it copies over the file, the drive disconnects, reconnects and it's still FTHRS3BOOT and nothing has changed<br />
(the install tool complains that it expects a file that isn't there after the initial installation)</p>
<p dir="auto">Is there anything else I can try to effectively 'factory reset' this board? or have I bricked it?</p>
<p dir="auto">Any help is much appreciated</p>
]]></description><link>https://www.community.lilygo.cc/topic/988/t-embed-stuck-in-bootloader-it-thinks-it-s-a-feather</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/988/t-embed-stuck-in-bootloader-it-thinks-it-s-a-feather</guid><dc:creator><![CDATA[SimonA]]></dc:creator><pubDate>Tue, 28 May 2024 23:30:10 GMT</pubDate></item><item><title><![CDATA[T SIMCAM getting error in camera initialisation]]></title><description><![CDATA[<p dir="auto">I had a T SIMCAM with OV5640 camera. I am a new user and giving a try with example of "LilyGo-Camera-Series-master" I am able to complie the code in VS and able to flash in card.  But during initialisation I am not getting any output.  The finish line are shown as below.<br />
<strong><strong>Code Compliing</strong></strong><br />
Advanced Memory Usage is available via "PlatformIO Home &gt; Project Inspect"<br />
RAM:   [==        ]  17.3% (used 56664 bytes from 327680 bytes)<br />
Flash: [=         ]  11.5% (used 751169 bytes from 6553600 bytes)<br />
Building .pio\build\t-camera-sim\firmware.bin<br />
<a href="http://esptool.py" rel="nofollow ugc">esptool.py</a> v4.5.1<br />
Creating esp32s3 image...<br />
Merged 2 ELF sections<br />
Successfully created esp32s3 image.<br />
====================================================== [SUCCESS] Took 25.39 seconds ======================================================</p>
<p dir="auto">Environment    Status    Duration</p>
<hr />
<p dir="auto">t-camera-sim   SUCCESS   00:00:25.387<br />
======================================================= 1 succeeded in 00:00:25.387 =======================================================</p>
<ul>
<li>Terminal will be reused by tasks, press any key to close it.</li>
</ul>
<p dir="auto"><strong>Code Flashing:</strong><br />
Writing at 0x000ba921... (93 %)<br />
Writing at 0x000c00e5... (96 %)<br />
Writing at 0x000c5bb8... (100 %)<br />
Wrote 751536 bytes (496012 compressed) at 0x00010000 in 6.8 seconds (effective 885.1 kbit/s)...<br />
Hash of data verified.</p>
<p dir="auto">Leaving...<br />
Hard resetting via RTS pin...<br />
============================================== [SUCCESS] Took 16.32 seconds ==============================================</p>
<p dir="auto">Environment    Status    Duration</p>
<hr />
<p dir="auto">t-camera-sim   SUCCESS   00:00:16.320<br />
============================================== 1 succeeded in 00:00:16.320 ==============================================</p>
<p dir="auto"><strong>In console after flashing</strong><br />
--- Terminal on COM5 | 115200 8-N-1<br />
--- Available filters and text transformations: colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time<br />
--- More details at <a href="https://bit.ly/pio-monitor-filters" rel="nofollow ugc">https://bit.ly/pio-monitor-filters</a><br />
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H<br />
......................................................................................................................................................................................</p>
]]></description><link>https://www.community.lilygo.cc/topic/983/t-simcam-getting-error-in-camera-initialisation</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/983/t-simcam-getting-error-in-camera-initialisation</guid><dc:creator><![CDATA[umesh.bisht]]></dc:creator><pubDate>Thu, 23 May 2024 02:43:41 GMT</pubDate></item><item><title><![CDATA[Problem waking up from IMU interrupt on T-PCIE]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">I have a T-PCIE v1.2 (WROVER-E) and an MPU 6050 IMU with INT connected to GPIO 36 on the T-PCIE. I am trying to make the IMU wake up a sleeping MCU when motion is detected on the IMU. My problem is that the MCU is immediately woken up after going to sleep with wake reason ESP_SLEEP_WAKEUP_EXT0. I have seen this issue reported before on other ESP32 variants, but no actual soluations. Anyone here has experience with waking up MCU from motion detection or specifically using EXT0?</p>
<p dir="auto">My setup and sleep code is as follows:</p>
<pre><code>// Motion detection setup
mpu.setHighPassFilter(MPU6050_HIGHPASS_0_63_HZ);
mpu.setMotionDetectionThreshold(10);
mpu.setMotionDetectionDuration(20);
mpu.setInterruptPinLatch(true);	// Keep it latched.  Will turn off when reinitialized.
mpu.setInterruptPinPolarity(true);
mpu.setMotionInterrupt(true);

// ...

// Go to sleep if running time is up
if (millis() &gt; TIME_TO_RUN * MS_TO_S_FACTOR)
{
  Serial.println("Going to sleep.");

  // Configure PIN 36 for INT input
  pinMode(GPIO_NUM_36, INPUT);

  //esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * US_TO_S_FACTOR);;
  if (esp_sleep_enable_ext0_wakeup(GPIO_NUM_36, LOW) != ESP_OK)
  {
      Serialprintln("Error enabling interrupt wakeup!");
  }
  esp_deep_sleep_start();
}
</code></pre>
<p dir="auto">Thanks!</p>
]]></description><link>https://www.community.lilygo.cc/topic/980/problem-waking-up-from-imu-interrupt-on-t-pcie</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/980/problem-waking-up-from-imu-interrupt-on-t-pcie</guid><dc:creator><![CDATA[aseton]]></dc:creator><pubDate>Tue, 21 May 2024 14:18:10 GMT</pubDate></item><item><title><![CDATA[T-Deck Won&#x27;t Go Into DFU mode]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://www.community.lilygo.cc/uid/1496">@fender21</a> Did you find a solution. I have exactly the same issue. Brand new devices out of the box. They have firmware on them which boots and runs diagnostics. All Diags appear to run successfully. I cannot get it to go into DFU Mode. Tried many combinations. When booted in diags the USB port is not recognizing anything either.</p>
]]></description><link>https://www.community.lilygo.cc/topic/797/t-deck-won-t-go-into-dfu-mode</link><guid isPermaLink="true">https://www.community.lilygo.cc/topic/797/t-deck-won-t-go-into-dfu-mode</guid><dc:creator><![CDATA[skurlin]]></dc:creator><pubDate>Mon, 20 May 2024 03:37:53 GMT</pubDate></item></channel></rss>