logo elektroda
logo elektroda
X
logo elektroda

Configuring OpenBeken on ESP32 with 4MB Default Using sdkconfig.defaults.esp32

insmod 18369 245
ADVERTISEMENT
  • Helpful post
    #1 21220790
    insmod
    Level 31  
    Posts: 1353
    Help: 160
    Rate: 425
    >>21220502 ESP32 fixed, it lacked sdkconfig.defaults.esp32. Now configured with 4MB by default.

    Moderated By p.kaczmarek2:

    This is a good work and deserves a separate thread

  • ADVERTISEMENT
  • #2 21220833
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14406
    Help: 650
    Rate: 12344
    very nice, it would be also nice to get basics running on ESP8266. I can help, especially if we get online builds to work. They help me a lot because they allow me to develop anywhere without having a toolchain. As far as I can tell, most of the ESP8266 devices have 2MB flash on the board so it should be enough for basic functionality.
    Helpful post? Buy me a coffee.
  • #3 21220842
    DeDaMrAz
    Level 22  
    Posts: 596
    Help: 34
    Rate: 125
    Can I join the topic by asking for any progress update on this?

    And also to second the @p.kaczmarek2 thought on most of 8266 boards running on 2Mb Vs rare 4Mb boards.
  • #5 21220858
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14406
    Help: 650
    Rate: 12344
    So what kind of ESP32 modules do you guys have? I've found that one:
    LilyGO D1 Mini Plus module with ESP32-C3 chip on a wooden background
    Looks like ESP32-C3
    Helpful post? Buy me a coffee.
  • #6 21220885
    insmod
    Level 31  
    Posts: 1353
    Help: 160
    Rate: 425
    I have an ESP32-C3 Supermini, which isn't without its troubles (solved with esp_wifi_set_max_tx_power(13 * 4) under a define), and WeAct ESP32-C6-Mini.
    Also have an ESP32-CAM module, + i can spare an ESP32-CAM, where i replaced tho stock module with an ESP32-S3.
    Additionally have 2 of the fake ESP32-S2 Mini
    Don't have any devkits with ESP32-C2 modules, only 01C with combo flashing board (32-wroom, esp-12, esp-01).
  • #7 21220902
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14406
    Help: 650
    Rate: 12344
    I can try to flash some test binaries in a moment. I also have this ESP32 device:
    https://www.elektroda.pl/rtvforum/topic4021279.html
    It has ESP32-DOWD inside it seems.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #9 21220923
    divadiow
    Level 38  
    Posts: 4848
    Help: 421
    Rate: 854
    >>21220858
    4mb ESP32-C2-12 (revision v1.0) dev board
    4mb ESP32-D0WDQ5-V3 (revision v3.1) (ESP-WROOM-32) dev board
    4mb ESP32-C3 on PCB in SPI/PWM LED device (about to solder up to flash)

    Motherboard with electronic components on a blue background.

    older
    2x 4mb ESP8266EX dev boards
    other 1/2/4mb ESP8285/8266 in devices and loose modules
  • #10 21220970
    DeDaMrAz
    Level 22  
    Posts: 596
    Help: 34
    Rate: 125
    I stay corrected, most of the ESP-12E modules I've taken from devices have 25q32FV chips which are 32Mbits (aka 4Mbytes) and I was drawn to 2Mb because BK7231 chips have that as the base.
  • #11 21220976
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14406
    Help: 650
    Rate: 12344
    I may be wrong, but as far as I remember, it's very easy to swap SPI flash to larger one in ESP, or at least for ESP's that have external flash, of course. So not for ESP8285, etc... but for ESP8266, etc, you can solder an SPI Flash chip and it should work, correct me if I'm wrong.
    https://www.instructables.com/ESP-03-Upgrade-Flash-Memory-to-128-M-Bit/
    https://github.com/micropython/micropython/issues/2335
    Helpful post? Buy me a coffee.
  • #12 21220978
    insmod
    Level 31  
    Posts: 1353
    Help: 160
    Rate: 425
    >>21220976 Correct, I have done it once. It was an ESP-01 with 1MB flash, I successfully replaced it for 4MB, which then correctly showed up in esptool flash_id.
  • #13 21220983
    DeDaMrAz
    Level 22  
    Posts: 596
    Help: 34
    Rate: 125
    My concern was that most of the OBK users will not be able to do a chip swap as they find it difficult to flash the device in situ in the first place.

    But more is better and i think 4Mb base would be perfect, at least for those who are trying to run OBK on the common ESP devices.
  • #14 21220988
    divadiow
    Level 38  
    Posts: 4848
    Help: 421
    Rate: 854
    divadiow wrote:
    4mb ESP32-C3 on PCB in SPI/PWM LED device (about to solder up to flash)


    Code: Text
    Log in, to see the code

    but sadly

    Code: Text
    Log in, to see the code
  • #15 21220991
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14406
    Help: 650
    Rate: 12344
    How do you flash it? I have C3 as well, I can test
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #17 21221001
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14406
    Help: 650
    Rate: 12344
    Some early OBK printfs are there, but then it crashes:
    Screenshot of Tasmota ESP Flasher tool showing error information.
    Attachments:
    • dev_20240909_C2 C3 (1).zip (1.75 MB) You must be logged in to download this attachment.
    Helpful post? Buy me a coffee.
  • #18 21221011
    divadiow
    Level 38  
    Posts: 4848
    Help: 421
    Rate: 854
    my issue relates to encryption flags.

    Code: Text
    Log in, to see the code


    vs dev board:

    Code: Text
    Log in, to see the code


    Added after 54 [seconds]:

    unique to my device so I'll deal with that on its own
  • Helpful post
    #19 21221037
    insmod
    Level 31  
    Posts: 1353
    Help: 160
    Rate: 425
    I messed up the merge on c3 (bootloader must be at 0x0, instead of 0x1000), here is the fixed one
    Attachments:
    • OpenESP32C3_dev_20240909_235314.factory.zip (484.81 KB) You must be logged in to download this attachment.
  • ADVERTISEMENT
  • #20 21221040
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14406
    Help: 650
    Rate: 12344
    Very promising, I'll check more:
    Console with log messages related to initialization and errors.

    Added after 29 [seconds]:

    Wi-Fi connection dialog for network OpenESP32C3_F97142E0 with an option to connect automatically.

    Added after 1 [minutes]:

    OpenESP32C3 application interface with Config, Restart, Launch Web Application, and About buttons.
    Congratulations, you did it! Now, which basic features are missing and how I can help? I personally consider online builds to be pretty high priority... I need to revise the PR code to know more, I will do it in the morning, as it's midnight here.
    Helpful post? Buy me a coffee.
  • #21 21221042
    DeDaMrAz
    Level 22  
    Posts: 596
    Help: 34
    Rate: 125
    No luck with the dev board I got

    
    my EPS32 dev board log
    Chip Info:
     - Chip Family: ESP32
     - Chip Model: ESP32-D0WDQ6-V3 (revision v3.0)
     - Number of Cores: 2
     - Max CPU Frequency: 240MHz
     - Has Bluetooth: YES
     - Has Embedded Flash: NO
     - Has Factory-Calibrated ADC: YES
  • #22 21221048
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14406
    Help: 650
    Rate: 12344
    Even scan works:
    ESP32C3 module user interface showing a list of WiFi networks.

    Added after 3 [minutes]:

    it also connects to WiFi successfully:
    Screen of the OpenESP32C3 user interface displaying system information.
    Helpful post? Buy me a coffee.
  • #23 21221080
    divadiow
    Level 38  
    Posts: 4848
    Help: 421
    Rate: 854
    divadiow wrote:
    unique to my device so I'll deal with that on its own

    burnt efuse with
    espefuse.exe --port com9 burn_efuse DIS_DOWNLOAD_MANUAL_ENCRYPT
    espefuse.exe --port com9 burn_efuse SPI_BOOT_CRYPT_CNT

    to make
    Code: Text
    Log in, to see the code


    anyway. the import thing is
    OpenESP32C3_4EDCD224 web interface displaying configuration, restart, and launch web application buttons.

    Code: Text
    Log in, to see the code


    Added after 3 [minutes]:

    Screenshot of the LittleFS file management panel with options to edit the /autoexec.bat file.
  • #24 21221088
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14406
    Help: 650
    Rate: 12344
    Nice, I didn't notice that LFS works:
    
    again:
    addChannel 1 1
    delay_s 1
    goto again
    

    Screenshot of a system log with messages related to channel changes and MQTT.

    However, I am now confused, it seems to increase less frequently than every second.
    Helpful post? Buy me a coffee.
  • #25 21221094
    divadiow
    Level 38  
    Posts: 4848
    Help: 421
    Rate: 854
    Some stuff to be worked out I guess.

    How does one account for the different frequency crystals? Is that related? I see 40 and 26 in my esptool info returns for different dev boards
  • Helpful post
    #26 21221102
    insmod
    Level 31  
    Posts: 1353
    Help: 160
    Rate: 425
    Regarding tasmota partitions: doubtful, as modern versions use "safeboot" partition, which is not applicable here. Pre v12 it have been possible, but not now. Also, i've looked at the csv files in tasmota, and they're only for 4MB flash.
    CI is ready, binaries are available at github.
  • #27 21221104
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14406
    Help: 650
    Rate: 12344
    The issue with script counting too slowly seem to be ESP-related. It works good on WB3S:
    Screenshot of system logs displaying changing channel and time information.
    On ESP increase is every few seconds:
    Screenshot of system logs showing channel changes and time information.
    It seems that delta time of the scripts tick is invalid:
    Code: C / C++
    Log in, to see the code

    it is called from user_main.c:
    Code: C / C++
    Log in, to see the code

    Maybe g_deltaTimeMS is invalid on ESP globally.

    Here is a larger snippet:
    Code: C / C++
    Log in, to see the code

    Does that mean the QuickTick thread gets fired not often enough?
    Code: C / C++
    Log in, to see the code

    I am not sure right now....
    Helpful post? Buy me a coffee.
  • #28 21221112
    insmod
    Level 31  
    Posts: 1353
    Help: 160
    Rate: 425
    >>21221104 The code
    
    #if defined(PLATFORM_BEKEN) || defined(WINDOWS)
    	g_time = rtos_get_time();
    #elif defined (PLATFORM_ESPIDF)
    	g_time = esp_timer_get_time() / 1000;
    #else
    	g_time += QUICK_TMR_DURATION;
    #endif
    

    mitigates this somewhat, but it's still a little slower (MAIN:Time 150, channel 1 has changed to 121)
  • #29 21221113
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14406
    Help: 650
    Rate: 12344
    But what is the core source of the problem? Is the QUICK_TMR_DURATION tick frequency too high for used SDK? rtos_init_timer is not that precise?

    I would try to setup an empty timer (or a timer toggling pin) with QUICK_TMR_DURATION duration and check on scope/logic analyzer how often in reality it toggles.

    Or simplify the experiment and insert pin toggle in Quicktick entry.

    Added after 3 [minutes]:

    Maybe something like CONFIG_FREERTOS_HZ setting is needed? Just guessing, I've done a very little research so far.
    Helpful post? Buy me a coffee.
  • #30 21221114
    insmod
    Level 31  
    Posts: 1353
    Help: 160
    Rate: 425
    >>21221113 in quick_timer_thread vTaskDelay(QUICK_TMR_DURATION / portTICK_RATE_MS); instead of vTaskDelay(QUICK_TMR_DURATION); is now almost alright, 1-2 sec error.

Topic summary

✨ The discussion centers on configuring OpenBeken firmware for ESP32 devices with a default 4MB flash size using sdkconfig.defaults.esp32. Initial issues included missing sdkconfig.defaults.esp32 and bootloader offset misconfiguration, which were resolved to enable successful compilation and flashing. Various ESP32 variants were tested, including ESP32-C3, ESP32-C6, ESP32-CAM, ESP32-C2, ESP32-D0WDQ5-V3 (ESP-WROOM-32), and ESP32-S3, with reports on flash size detection, bootloader behavior, and peripheral support. Challenges encountered involved stack overflows on reboot, watchdog timer resets, and GPIO functionality inconsistencies, particularly on non-C/S ESP32 boards. Solutions included adjusting makefiles for 4MB flash, fixing bootloader offsets, increasing task stack sizes, and replacing software timers with hardware timers for improved timing accuracy. Peripheral drivers such as BMP280, AHT2x, DS1820, DHT11/22, PWM, UART, and NTP were tested with varying success; some required specific pin assignments or additional delays to prevent crashes. Deep sleep support was added without GPIO wakeup. The firmware uses the Espressif ESP-IDF SDK for ESP32 and plans for ESP8266 porting were discussed, noting SDK differences and RAM constraints. Continuous integration (CI) and online build availability were confirmed. Users shared flashing tools, partition table considerations, and debugging tips including esptool flash_id and efuse burning. The community actively tested and reported logs, crashes, and feature functionality, contributing to iterative fixes and enhancements.
Generated by the language model.

FAQ

TL;DR: 4MB stało się domyślną bazą dla OpenESP32, a autor poprawki napisał: "Now configured with 4MB by default". Ten FAQ jest dla osób uruchamiających OpenBeken na ESP32 i wyjaśnia, jak dobrać build, rozwiązać błędy partycji, bootloadera, OTA, UART i Wi‑Fi na C2, C3, S2, S3 oraz klasycznym ESP32. [#21220790]

Dlaczego to ważne: Błędny rozmiar flash, zły offset bootloadera albo niewłaściwy typ obrazu potrafią dać „invalid header”, bootloop albo bezpieczny tryb AP mimo sprawnego sprzętu.

Wariant Typowy flash z wątku Co działało najlepiej Najczęstszy problem
ESP32-C3 4MB Wi‑Fi, OTA, PWM, czujniki I2C SuperMini miewa problemy z Wi‑Fi i DHCP
Klasyczny ESP32 4MB, czasem wykrywany jako 2MB GPIO, OTA, Wi‑Fi po poprawnym flashu błędy tabeli partycji i safe mode po reboocie
ESP32-S2/S3 4MB lub 16MB DS1820, GPIO, AP/STA po poprawkach stack overflow, problemy z temperaturą wewnętrzną
ESP32-C2 4MB podstawowe funkcje, PWM mało RAM, czułość na taktowanie i baud
ESP8266 1MB, 4MB, 8MB po swapie eksperymenty po rozdzieleniu wątku zbyt mały flash dla dual-OTA przy 8Mbit

Najważniejszy wniosek: Na ESP32 najpierw dobierz właściwy obraz do realnego flashu i układu, a dopiero potem diagnozuj skrypty, UART lub Wi‑Fi. W wątku większość „magicznych” awarii okazała się skutkiem złego rozmiaru flash, złego offsetu bootloadera albo użycia factory.bin zamiast .img. [#21221363]

Quick Facts

  • Domyślna konfiguracja ESP32 została przestawiona na 4MB flash, bo brakowało sdkconfig.defaults.esp32; to była kluczowa poprawka startowa całego portu. [#21220790]
  • Na ESP32-C3 poprawny boot pokazał partycje app0 0x10000, app1 0x100000 i LFS 0x1EF000, przy wykrytym flashu 4MB oraz SPI 80MHz/DIO. [#21221080]
  • Jeden z modułów ESP32-C5 pobierał przy starcie AP około 1,4 W / 0,3 A przy 5 V, czyli w przybliżeniu 0,5 A przy 3,3 V; to tłumaczy brownouty przy słabym zasilaniu. [#21648381]
  • Dla problematycznych płytek ESP32-C3 SuperMini obniżenie mocy Wi‑Fi do 10 dBm, a nawet 6 dBm, poprawiało łączenie z DHCP. [#21450268]
  • W sterowniku BP5758D padały konkretne prądy robocze: domyślnie 14 mA, w ESPHome 10 mA, a w praktyce dla GU10 sprawdzało się nawet 8 mA na kanałach. [#21246766]

How do I configure OpenBeken on ESP32 to use 4MB flash by default with sdkconfig.defaults.esp32?

Dodaj brakujący plik sdkconfig.defaults.esp32 i ustaw w nim wariant 4MB jako domyślny dla ESP32. To właśnie ta zmiana odblokowała poprawny start portu i autor podsumował ją krótko: „Now configured with 4MB by default”. Jeśli tworzysz także obraz scalony, dopasuj --flash_size 4MB, bo samo SDK nie naprawi błędnego merge bin. [#21220790]

Why does OpenESP32 factory.bin fail to boot with partition table errors on some ESP32 boards that actually have 4MB flash?

Najczęściej dlatego, że obraz factory.bin został zmergowany z nagłówkiem 2MB, mimo że płytka ma fizycznie 4MB. W logu widać wtedy SPI Flash Size : 2MB, a zaraz potem błąd typu partition ... exceeds flash chip size 0x200000. W wątku poprawka polegała na zmianie polecenia esptool.py merge_bin z --flash_size 2MB na --flash_size 4MB, bez zmiany samej płyty. [#21221363]

What is the difference between OpenBeken factory.bin and non-factory .img builds on ESP32, and when should each one be flashed?

factory.bin to obraz scalony z bootloaderem, tabelą partycji i aplikacją, a .img to zwykle sam obraz aplikacji do istniejącego układu partycji. Gdy układ startuje od zera, po erase_flash, albo masz uszkodzone partycje, użyj factory.bin. Gdy bootloader i partycje już są poprawne, często bezpieczniej użyć .img; w wątku klasyczny ESP32 ruszył po przejściu z factory na non-factory. [#21221359]

How can I erase_flash and reflash OpenBeken correctly on ESP32, ESP32-C3, and ESP32-S2 boards when GPIOs or boot behavior seem broken?

Najbezpieczniej wykonaj pełne czyszczenie i dopiero potem ponowny flash. 1. Uruchom erase_flash, aby usunąć stare partycje, konfigurację i błędne autostarty. 2. Wgraj właściwy obraz dla układu i realnego flashu: factory.bin przy czystym starcie albo .img przy istniejących partycjach. 3. Na S2 wejdź w boot przez przyciski RST i 0, a potem sprawdź log i AP przed testem GPIO. Ten schemat przywrócił poprawne działanie LED-ów i factory.bin na kilku płytkach. [#21221622]

Why did the ESP32-C3 merge initially fail with invalid header errors, and how does the bootloader offset at 0x0 vs 0x1000 affect flashing?

Bo przy merge dla C3 bootloader trafił pod zły adres. Autor poprawki napisał wprost, że „bootloader must be at 0x0, instead of 0x1000”, a wcześniejszy układ dawał serię invalid header. Na ESP32-C3 boot ROM oczekiwał bootloadera od 0x0, więc obraz z offsetem 0x1000 wyglądał jak uszkodzony mimo poprawnego flashowania. [#21221037]

What causes OpenBeken script timing to run too slowly on ESP32, and how do QUICK_TMR_DURATION, vTaskDelay, and esp_timer_get_time relate to the fix?

Problem wynikał z błędnego liczenia g_deltaTimeMS i z niepoprawnego użycia opóźnienia FreeRTOS. Poprawa miała dwa elementy: dla ESP-IDF czas zaczęto brać z esp_timer_get_time()/1000, a w wątku timera zmieniono vTaskDelay(QUICK_TMR_DURATION) na vTaskDelay(QUICK_TMR_DURATION / portTICK_RATE_MS). To ograniczyło dryf, który wcześniej dawał wynik około MAIN:Time 150 przy kanale zwiększonym tylko do 121. [#21221114]

How do flash encryption flags and eFuse settings on an ESP32-C3 device affect whether OpenBeken can boot after flashing?

Włączone szyfrowanie flash może zablokować start zwykłego obrazu, nawet gdy sprzęt ma poprawne 4MB i sam flash zapisze się bez błędów. W wątku jeden ESP32-C3 miał Flash Encryption: Enabled i nie startował jak zwykła płytka deweloperska. Po zmianie eFuse tak, by raport pokazywał Flash Encryption: Disabled oraz SPI_BOOT_CRYPT_CNT: 0x3, urządzenie zaczęło bootować OpenBeken poprawnie. [#21221080]

What is LittleFS or LFS in OpenBeken, and why do ESP logs sometimes say 'lfs is absent' even when scripts appear to work later?

„LittleFS” jest lekkim systemem plików flash, który przechowuje skrypty, pliki startowe i inne dane trwałe, a jego kluczową cechą jest praca na wydzielonej partycji flash zamiast w RAM. Log lfs is absent oznacza zwykle brak zamontowanej partycji LFS lub jeszcze nieutworzony system plików. W wątku ten komunikat pojawiał się przy starcie, ale później testy pokazały, że skrypty i zapis zaczęły działać po dalszych poprawkach partycji i flashowania. [#21221088]

What is TCA9554, and why is that I2C expander needed to run OpenESP32 on boards like the Waveshare ESP32-S3-ETH-8DI-8RO?

„TCA9554” jest ekspanderem I2C, który dodaje 8 linii wejścia/wyjścia GPIO, a jego główną cechą jest sterowanie dodatkowymi sygnałami przez magistralę I2C zamiast bezpośrednio z MCU. Na płytce Waveshare ESP32-S3-ETH-8DI-8RO ten układ steruje sekcją przekaźników, więc bez jego obsługi OpenESP32 nie potrafi przełączać wyjść. Dlatego w wątku wskazano, że TCA9554 jest wymagany, aby ta płyta miała sensowną obsługę pod OpenESP32. [#21640201]

ESP32-C2 vs ESP32-C3 vs classic ESP32 vs ESP32-S3 for OpenBeken — which one is currently the better choice for stability, Wi-Fi, sensors, and OTA?

Najbezpieczniejszym wyborem z wątku jest ESP32-C3 albo poprawnie zasilony ESP32-S3. C3 miał działające Wi‑Fi, OTA, PWM i czujniki I2C, choć wersje SuperMini wymagały czasem obniżenia mocy TX. Klasyczny ESP32 działał, ale częściej wpadał w safe mode, miał problemy z restartem i błędami partycji. C2 działał, lecz był bardziej ograniczony RAM-em; autor napisał wprost, że „ESP32-C2 is already struggling”. [#21223468]

How can I diagnose ESP32 reboot loops, WDT safe mode, or stack overflow crashes in OpenBeken after restart, OTA, NTP start, or saving pins?

Najpierw patrz na dokładny powód resetu i nazwę zadania z logu. Jeśli widzisz TG0WDT_SYS_RESET lub TG1WDT_SYS_RESET, szukaj blokującego kodu, a nie problemu RTC WDT. Jeśli log mówi o stack overflow w sys_evt, quick albo IntTemp, zwiększ stack albo znajdź pętlę rekurencyjną. W wątku restart rozbijał się o nieskończoną pętlę: WIFI_STA_DISCONNECTED wywoływało HAL_DisconnectFromWifi, które generowało ten sam event ponownie. [#21224554]

What is the best way to test UART on OpenESP32 with TuyaMCU, and why can UART receive still behave inconsistently even when transmit works?

Najlepiej testować UART na prawdziwym urządzeniu z TuyaMCU i osobno sprawdzić TX oraz RX. Autor portu podał, że nadawanie działało, ale odbiór wymagał obejścia: po UART_AppendByteToReceiveRingBuffer dodał vTaskDelay(3), aby uniknąć crasha. To stabilizowało pracę, ale przy większym strumieniu danych nadal mogło przepełnić bufor, wywołać flush wejścia i reset kolejki. [#21222660]

How do I reduce Wi-Fi issues on ESP32-C3 SuperMini boards in OpenBeken, including slow DHCP or failed connections, with commands like powersave 1 10?

Obniż moc nadawania i nie zakładaj, że domyślne 20 dBm będzie stabilne. Dla ESP32-C3 SuperMini w wątku zalecono powersave 1 10, gdzie 10 oznacza 10 dBm, a w jednym przypadku urządzenie połączyło się dopiero przy 6 dBm. To pomogło przy wolnym DHCP, braku adresu IP i niestabilnych połączeniach, typowych właśnie dla SuperMini. [#21450298]

Can I upgrade an ESP8266 or ESP-01 flash chip from 1MB to 4MB or 8MB for OpenBeken, and what should I verify with esptool afterward?

Tak, taka podmiana została potwierdzona praktycznie. W wątku wymieniono flash w ESP-01 z 1MB na 4MB, a później także na 8MB w innym module, po czym esptool flash_id poprawnie raportował nowy rozmiar pamięci. Po wymianie zawsze sprawdź producenta układu, kod urządzenia i Detected flash size, bo to jedyny szybki sposób potwierdzenia, że lutowanie i konfiguracja SPI są poprawne. [#21238166]

How can I create a global float variable or pulse counter in OpenBeken on ESP32-C3 for water meters when each pulse represents 10 liters?

W pokazanym fragmencie wątku nie ma gotowej, potwierdzonej implementacji globalnego floata ani licznika impulsów dla 10 litrów na impuls. Jest tylko pytanie użytkownika o taki licznik po uruchomieniu logiki addChangeHandler, bez dalszej odpowiedzi z działającym rozwiązaniem. Jeśli chcesz pozostać zgodny z tym wątkiem, jedyną potwierdzoną ścieżką jest dalszy eksperyment ze skryptami lub Berry, ale bez gotowej recepty opisanej w podanych postach. [#21798097]
Generated by the language model.
ADVERTISEMENT