home.social

#esp-idf — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #esp-idf, aggregated by home.social.

fetched live
  1. УМНЫЙ К1 — контроллер на базе ESP32 с REST, syslog и много опенсорса

    Предисловие Возможно то, про что я хочу рассказать в своей первой статье тут, покажется не новым, уже знакомым велосипедом. Речь пойдет о контроллерах на базе ESP32 и программном обеспечении. Да, современных решений, открытых и бесплатных – много. А сейчас зарождается еще одно (а опенсорса мало не бывает, я считаю). В статье я упущу и не буду рассказывать ни про свое знакомство с ардуиной, esp, php, python, js ни про то, что пришел сюда давным-давно гуманитарием. И да простят мой, вероятно не корректный, «жаргон» истинные профессионалы в микроэлектронике и программировании - итак, приступим. Совсем недавно я отключил RPI4 с HA и наконец «воткнул» в котельную очередную, но «готовую к деплою» версию контроллера (разрешите его далее называть «УМНЫЙ К1», спасибо).

    habr.com/ru/articles/1053764/

    #esp32 #rest_api #espidf #tauri #javascript #vuejs #vite #rust #умныйдом #видеонаблюдение

  2. Anyone any experience of #ESP32 ethernet? Using ESP IDF C code.

    I have an SPI MAC+PHY Ethernet on #ESP32S3 which is working great.

    But is *not* doing any IPv6, which makes no sense. All the documentation suggests it should just work, and I am calling esp_netif_create_ip6_linklocal even, and one is allocated (and answers ND).

    #ESPIDF

  3. This week in my #smarthome microcontroller misadventures: the more I work with #espidf's #zigbee stack, the more I understand why #esphome exists. Had to write multiple hundreds of lines of device capability config code yesterday that could've very easily been a rather short json file.
    Now if only esphome's zigbee support covered a bit more than the simplest use cases...

    #embedded #esp32 #programming #homeassistant

  4. This week in my #smarthome microcontroller misadventures: the more I work with #espidf's #zigbee stack, the more I understand why #esphome exists. Had to write multiple hundreds of lines of device capability config code yesterday that could've very easily been a rather short json file.
    Now if only esphome's zigbee support covered a bit more than the simplest use cases...

    #embedded #esp32 #programming #homeassistant

  5. So today I have to figure out why @kicad v10 is instantly crashing… I’ll work on it a bit before reporting.

    But I also have some of my C code randomly crashing, so it is going to be valgrind sort of day.

    And #ESPIDF v6 refuses to work either, with some python crash. I hate Python.

    Fun day ahead.

  6. So today I have to figure out why @kicad v10 is instantly crashing… I’ll work on it a bit before reporting.

    But I also have some of my C code randomly crashing, so it is going to be valgrind sort of day.

    And #ESPIDF v6 refuses to work either, with some python crash. I hate Python.

    Fun day ahead.

  7. Управляем питанием по-взрослому: конечный автомат для устройств с батарейным питанием

    В embedded-проектах с батарейным питанием управление энергопотреблением часто сводят к нескольким вызовам sleep() и проверке кнопки включения. Пока устройство простое — этого хватает. Но как только появляется аккумулятор, зарядка, дисплей, кнопка питания и требования к пользовательскому поведению, такой подход начинает разваливаться. Типичные ситуации, с которыми сталкиваются на практике: ● устройство выключено, но подключили зарядку — что должно происходить? ● зарядка идёт, пользователь нажал кнопку — включаться или нет? ● батарея критически разряжена — как корректно отказать во включении? ● устройство долго не используется — когда и как его выключать? ● контроллер питания подал питание сам по себе — это включение или ошибка? устройство вышло из Deep Sleep — это пробуждение или «холодный старт»?

    habr.com/ru/articles/986116/

    #DIY #espidf #esp32 #батарейное_питание

  8. ПРОГРАММА КОНТРОЛЛЕРА СЕТИ CAN

    Продолжаю публикацию статей по структуре "Умный дом" на основе локальной сети CAN. В этой статье описывается программа, которая записывается в каждый контроллер локальной сети. Программа написана любителем, не профессионалом, поэтому за ошибки прошу не судить строго. К тому же сам признаю, что стиль написания программы несколько устарел, но переучиваться не хочется да и поздно. В общем «не стреляйте в музыканта, он играет как может» . Попытался поместить исходный текст программы в статью, но понял что это невозможно из-за большого количества строк программы. Поэтому программу выложил в своем репозитории на github: github.com/OldIngineer/MySmart . И попытался кратко описать основные моменты программы.

    habr.com/ru/articles/982958/

    #can_bus #esp32 #mqtt #espidf #smart_home #program

  9. Ищем ошибку в работе WiFi у платы ESP32-C3 SuperMini

    Статья о небольшой эпопее с поиском ошибки в работе WiFi на плате ESP32-C3 SuperMini, с которой пришлось разбираться в процессе отладки кода прошивки для контроллера батареи АКБ ( О контроллере батареи ИБП (вопрос к читателям Хабра) и О контроллере батареи ИБП (часть 2) ). Симптоматика проблемы с WiFi следующая: после включения питания и начала авторизации по WiFi плата ESP32-C3 SuperMini через какое-то время зависает, вплоть до срабатывания сторожевого таймера. Поиск решения проблемы в интернете не помог, но было замечено, что в эти моменты на плате очень сильно нагревается стабилизатор напряжения 3.3V, да так, что даже рука не терпит, тогда как при работе тестовых примеров (где WiFi работает нормально) такого эффекта не наблюдается. Из-за этого решил копать именно в этом направлении.

    habr.com/ru/companies/beget/ar

    #ESP32C3 #ESP32C3_SuperMini #WiFi #отладка #ошибки #espidf

  10. With ESP-IDF, I created a custom flash partition table and stored the video streams in their own partitions. The app is under 300 KB, and it compiles, links, and flashes in 12 seconds.

    Arduino can do custom partition tables. Maybe it can do custom workflow to build the filesystem images too. It would still take over a minute to compile, though.

    🧵 12/N

    #SoulCage #Arduino #ESP32 #ESPIDF

  11. With ESP-IDF, I created a custom flash partition table and stored the video streams in their own partitions. The app is under 300 KB, and it compiles, links, and flashes in 12 seconds.

    Arduino can do custom partition tables. Maybe it can do custom workflow to build the filesystem images too. It would still take over a minute to compile, though.

    🧵 12/N

    #SoulCage #Arduino #ESP32 #ESPIDF

  12. I am moving the Soul Cage's firmware from Arduino to ESP-IDF. Arduino is completely unusable for developing this app.

    I just measured a compile and upload time of 4:33. Four and a half minutes. That's 1:20 to compile and link, 0:49 of mysterious "indexing", and 2:24 to flash. Yeah, it's a huge image, about 15 MB.

    What's it doing with 1:20 compile time? This is an 8 core CPU; that's about 2 trillion cycles.

    🧵 11/N

    #SoulCage #Arduino #ESP32 #ESPIDF

  13. I am moving the Soul Cage's firmware from Arduino to ESP-IDF. Arduino is completely unusable for developing this app.

    I just measured a compile and upload time of 4:33. Four and a half minutes. That's 1:20 to compile and link, 0:49 of mysterious "indexing", and 2:24 to flash. Yeah, it's a huge image, about 15 MB.

    What's it doing with 1:20 compile time? This is an 8 core CPU; that's about 2 trillion cycles.

    🧵 11/N

    #SoulCage #Arduino #ESP32 #ESPIDF

  14. **ESPHome update 2025.08.02: This little maneuvre will cost you … several days.**

    (blog post)

    TL;DR

    Changing the ESPHome framework from Arduino to ESP-IDF is far from trivial. Don’t attempt it at home, if you’re a Home Assistant / ESPHome hobbyist with a poor C++ knowledge.

    Read on…

    After the last update of ESPHome, some of my compiled firmware images for my ESP32 boards suddenly became too big to fit in their memory. They said that Arduino libraries became too big and bloated. Yelp, I can’t update them anymore!

    They (ESPHome developers) said we should switch from Arduion framework to ESP-IDF anyways, because it’s smaller, optimized and closer to the metal.

    They said only a small change in esp configuration yaml is needed:

    esp32:  board: esp32dev  framework:    type: arduino # <-- change to esp-idf

    And that’s almost1 it!

    You wish.

    I changed the framework as described above (for one non-critical ESPCam).

    I got compile errors (for my lambda functions). But wait, they said everything will work the same, no, even better!

    But it looks like there are some differences between Arduino and ESP-IDF framework. For example, there is no String() in esp-idf! Isn’t that a … basic?

    Ok, I surrendered and changed my lambda function that returned uptime in human readable format from:

    - platform: uptime    name: ${devicename} Uptime in Days    id: uptime_sensor_days    update_interval: 60s    on_raw_value:      then:        - text_sensor.template.publish:            id: uptime_human            state: !lambda |-              int seconds = round(id(uptime_sensor_days).raw_state);              int days = seconds / (24 * 3600);              seconds = seconds % (24 * 3600);              int hours = seconds / 3600;              seconds = seconds % 3600;              int minutes = seconds /  60;              seconds = seconds % 60;              return (                (days ? String(days) + "d " : "") +                (hours ? String(hours) + "h " : "") +                (minutes ? String(minutes) + "m " : "") +                (String(seconds) + "s")              ).c_str();

    Changed the last bold bit (return…) that caused compile errors to:

    ...std::string result;              if (days)    result += std::to_string(days) + "d ";              if (hours)   result += std::to_string(hours) + "h ";              if (minutes) result += std::to_string(minutes) + "m ";              result += std::to_string(seconds) + "s";              return result;

    And then it compiled ok.

    It also linked ok and uploaded firmware to my ESPCam.

    Ping to my ESPCam worked, but sensors (camera web server, uptime, led switch,…) were unavailable.

    ESPHome log returned only the following info:

    changed lambda. log returns: Uploading: [============================================================] 100% Done... INFO Upload took 6.12 seconds, waiting for result... INFO OTA successful INFO Successfully uploaded program. INFO Starting log output from 192.168.0.15 using esphome API INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.000s INFO Trying to connect to esp32-cam01 @ 192.168.0.15 in the background INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.000s INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.001s INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.000s INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.000s INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.000s

    The connection to ESPCam looks ok.

    But it wouldn’t connect to ESPHome API:

    WARNING Can't connect to ESPHome API for esp32-cam01 @ 192.168.0.15: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.0.15', port=6053))]: [Errno 111] Connect call failed ('192.168.0.15', 6053) (SocketAPIError)

    I really wasn’t in the mood to research what went wrong and which part of my ESPCam configuration code is not compatible with ESP-IDF.

    So I ditched esp-idf framework, reverted it back to arduino, recompiled, uploaded and my espcam works again.

    Yes, I’ve searched for possible solutions2, but couldn’t find any that I could use.

    My other ESP32 board (the one that has suddenly too big firmware after ESPHome update) will obviously stay in un-updated state for the rest of it’s life. I don’t wan’t to deal with breaking changes, modifying the code, re-learning C++ just to make it work again.

    And this little maneuver caused me few days. Don’t go the same path.

    Or, if the framework change works for you, please let me know.

    Or, maybe I’ll try again when the issues3 are resolved.

    1. Official guide says: … Component Compatibility: Some components may need to be replaced with ESP-IDF compatible alternatives (<— WHICH ONES???)
      Library Differences: Arduino-specific libraries won’t be available (<— WHICH ONES???) ↩︎
    2. Of course I checked the official guide: https://esphome.io/guides/esp32_arduino_to_idf/. When I read I should go to their Discord for help, I just gave up. ↩︎
    3. https://github.com/esphome/esphome/issues ↩︎

    https://blog.rozman.info/esphome-update-2025-08-02-this-little-maneuvre-will-cost-you-several-days/

    #arduino #espIdf #espcam #ESPHome #homeassistant #lambda

  15. **ESPHome update 2025.08.02: This little maneuvre will cost you … several days.**

    (blog post)

    TL;DR

    Changing the ESPHome framework from Arduino to ESP-IDF is far from trivial. Don’t attempt it at home, if you’re a Home Assistant / ESPHome hobbyist with a poor C++ knowledge.

    Read on…

    After the last update of ESPHome, some of my compiled firmware images for my ESP32 boards suddenly became too big to fit in their memory. They said that Arduino libraries became too big and bloated. Yelp, I can’t update them anymore!

    They (ESPHome developers) said we should switch from Arduion framework to ESP-IDF anyways, because it’s smaller, optimized and closer to the metal.

    They said only a small change in esp configuration yaml is needed:

    esp32:  board: esp32dev  framework:    type: arduino # <-- change to esp-idf

    And that’s it!

    You wish.

    I changed the framework as described above (for one non-critical ESPCam).

    I got compile errors (for my lambda functions). But wait, they said everything will work the same, no, even better!

    But it looks like there are some differences between Arduino and ESP-IDF framework. For example, there is no String() in esp-idf! Isn’t that a … basic?

    Ok, I surrendered and changed my lambda function that returned uptime in human readable format from:

    - platform: uptime    name: ${devicename} Uptime in Days    id: uptime_sensor_days    update_interval: 60s    on_raw_value:      then:        - text_sensor.template.publish:            id: uptime_human            state: !lambda |-              int seconds = round(id(uptime_sensor_days).raw_state);              int days = seconds / (24 * 3600);              seconds = seconds % (24 * 3600);              int hours = seconds / 3600;              seconds = seconds % 3600;              int minutes = seconds /  60;              seconds = seconds % 60;              return (                (days ? String(days) + "d " : "") +                (hours ? String(hours) + "h " : "") +                (minutes ? String(minutes) + "m " : "") +                (String(seconds) + "s")              ).c_str();

    Changed the last bold bit (return…) that caused compile errors to:

    ...std::string result;              if (days)    result += std::to_string(days) + "d ";              if (hours)   result += std::to_string(hours) + "h ";              if (minutes) result += std::to_string(minutes) + "m ";              result += std::to_string(seconds) + "s";              return result;

    And then it compiled ok.

    It also linked ok and uploaded firmware to my ESPCam.

    Ping to my ESPCam worked, but sensors (camera web server, uptime, led switch,…) were unavailable.

    ESPHome log returned only the following info:

    changed lambda. log returns: Uploading: [============================================================] 100% Done... INFO Upload took 6.12 seconds, waiting for result... INFO OTA successful INFO Successfully uploaded program. INFO Starting log output from 192.168.0.15 using esphome API INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.000s INFO Trying to connect to esp32-cam01 @ 192.168.0.15 in the background INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.000s INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.001s INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.000s INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.000s INFO Successfully resolved esp32-cam01 @ 192.168.0.15 in 0.000s

    The connection to ESPCam looks ok.

    But it wouldn’t connect to ESPHome API:

    WARNING Can't connect to ESPHome API for esp32-cam01 @ 192.168.0.15: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.0.15', port=6053))]: [Errno 111] Connect call failed ('192.168.0.15', 6053) (SocketAPIError)

    I really wasn’t in the mood to research what went wrong and which part of my ESPCam configuration code is not compatible with ESP-IDF.

    So I ditched esp-idf framework, reverted it back to arduino, recompiled, uploaded and my espcam works again.

    Yes, I’ve searched for possible solutions, but couldn’t find any that I could use.

    My other ESP32 board (the one that has suddenly too big firmware after ESPHome update) will obviously stay in un-updated state for the rest of it’s life. I don’t wan’t to deal with breaking changes, modifying the code, re-learning C++ just to make it work again.

    And this little maneuver caused me few days. Don’t go the same path.

    Or, if the framework change works for you, please let me know.

    https://blog.rozman.info/esphome-update-2025-08-02-this-little-maneuvre-will-cost-you-several-days/

    #arduino #espIdf #espcam #ESPHome #homeassistant #lambda

  16. Of course, you are free to use any #dev environment you want, but you will likely have to roll the networked access yourself. 😅
    I'm looking into #arduino, #espidf and #esphome support at the minimum. Any other #software #support you would like to see?

  17. Of course, you are free to use any #dev environment you want, but you will likely have to roll the networked access yourself. 😅
    I'm looking into #arduino, #espidf and #esphome support at the minimum. Any other #software #support you would like to see?

  18. Turns out that a short sidequest into #embedded dev is a good way of getting more hands on understanding of pointers.

    At least as long as you avoid #arduino's software ecosystem. I worked with Arduino for years and I don't think I had to ever use a pointer, meanwhile #espidf basically forces you to understand them if you want to get anything done.

    #programming #coding #esp32

  19. Turns out that a short sidequest into #embedded dev is a good way of getting more hands on understanding of pointers.

    At least as long as you avoid #arduino's software ecosystem. I worked with Arduino for years and I don't think I had to ever use a pointer, meanwhile #espidf basically forces you to understand them if you want to get anything done.

    #programming #coding #esp32

  20. Arg, tinyusb_msc_sdmmc #ESPIDF

    So has callbacks for mount/unmount, and naturally I assumed this was when host computer mounts/unmounts the SD.

    No, it is not, it is that when not mounted by USB host, tinyusb mounts locally for you, and unmounts when USB mounts the SD card, to avoid clash.

    Except it does not start mounted. It mounts when USB disconnects. This is bad if USB charger not host, as starts unmounted. It can't be mounted before starting tinyusb either as it then tries to mount...

  21. Arg, tinyusb_msc_sdmmc #ESPIDF

    So has callbacks for mount/unmount, and naturally I assumed this was when host computer mounts/unmounts the SD.

    No, it is not, it is that when not mounted by USB host, tinyusb mounts locally for you, and unmounts when USB mounts the SD card, to avoid clash.

    Except it does not start mounted. It mounts when USB disconnects. This is bad if USB charger not host, as starts unmounted. It can't be mounted before starting tinyusb either as it then tries to mount...

  22. Kennt sich jemand mit C++ im Bereich Lowlevel im Zusammenhang mit esp-idf insbesondere rmt für #esphome aus?
    Ich würde gerne ein Projekt auf den aktuellen Esphome Stand bringen, damit es auch wieder kompillierbar ist. Ich verzweifel an RMT und könnte da Hilfe brauchen.

    Gerne teilen und sich bei mir melden.

    #programmieren #cpp #esp #esp32 #espidf #diy #elektronik

  23. Программирование ESP32 с ESP-IDF в среде platformio #3

    Привет, Хабр! Это четвертая статья из цикла по ESP-IDF. Как и обещал, сегодня мы рассмотрим мьютексы и семафоры на простых (и не очень) примерах.

    habr.com/ru/articles/923128/

    #esp #espidf

  24. Unit testing in ESP-IDF is probably the least developer-friendly thing in the world. Frustrating evening!

  25. Unit testing in ESP-IDF is probably the least developer-friendly thing in the world. Frustrating evening!

    #Coding #Programming #Espressif #esp #esp32 #espidf

  26. Программирование ESP32 с ESP-IDF в среде platformio #2

    Привет, Хабр! Это третья статья из цикла по ESP-IDF. Ранее мы разобрали стек задач, работу с GPIO и прерывания. Теперь перейдём к очередям FreeRTOS — мощному инструменту для безопасного обмена данными между ISR и задачами. Поехали!

    habr.com/ru/articles/920636/

    #esp32 #espidf

  27. Программирование ESP32 с ESP-IDF в среде platformio #1

    Привет, Хабр! Это уже вторая статья из цикла по программированию ESP32 с использованием фреймворка ESP-IDF. В #0 статье мы познакомились с общей терминологией RTOS и написали парочку задач (Task). В этой статье, как я и обещал, мы поработаем с с GPIO, ISR и поговорим немного о стеке (спасибо за совет @0x6b73ca )

    habr.com/ru/articles/919362/

    #esp32 #espidf

  28. Программирование ESP32 с ESP-IDF в среде platformio #0

    Привет хабр! Совсем недавно мне в руки попала плата ESP32 (NodeMCU‑32S). Ранее я уже работал с ESP8266 и даже создавал на ней простейшее веб‑приложение в режиме Station. Делал я все это в ArduinoIDE и был рад обнаружить расширение, которое позволяло организовать мой проект (да и просто в VSCode удобнее работать) - PlatformIO . Именно в PlatformIO я в первый раз увидел фреймворк ESP-IDF и начал потихоньку углубляться в эту тему.

    habr.com/ru/articles/918434/

    #esp32 #espidf

  29. Week 1025 - scanning and planning

    @amcewen tidies up the move to a newer version of #ESPIDF; @defnetmedia looks at a website refresh; @huffeec does some #3Dscanning and some rather sweet #3Dprinting and #LED work as we look towards this week's #OHS2025

    mcqn.com/posts/week-1025-scann

    #weeknotes

  30. Week 1025 - scanning and planning

    @amcewen tidies up the move to a newer version of #ESPIDF; @defnetmedia looks at a website refresh; @huffeec does some #3Dscanning and some rather sweet #3Dprinting and #LED work as we look towards this week's #OHS2025

    mcqn.com/posts/week-1025-scann

    #weeknotes

  31. E-paper Arduino термометр на ESP-IDF

    Наверное каждый любитель электроники имеет в запасе модули приобретенные на всякий случай. Так несколько лет назад я не смог пройти мимо 1.5 дюймового E-Ink дисплея, лежащего на витрине радиомагазина. Через некоторое время нашлось для него применение. В статье ESP32 E-Paper Thermometer описывается, как отображать окружающую температуру, измеренную с помощью датчика DS18B20. Проект выполнен в Arduino IDE. Но я решил пройти "Путь самурая" и портировать код на ESP-IDF. Пришлось немного повозится с библиотеками для работы с дисплеем. На этом мой путь не окончился, как говорят: "У самурая нет цели, есть только путь". И я решил, что было бы неплохо добавить еще несколько сенсоров, измеряющих влажность, давление, CO2, а потом отправлять эти данные по MQTT. В том же радиомагазине был приобретен фанерный домик-конструктор со светодиодным ночником. А в другом магазине - модуль с датчиками. Таким образом родилась идея сконструировать Micro-smart-home. На передней части домика расположен дисплей на пластиковых стойках. А с другой стороны расположен модуль с сенсорами.

    habr.com/ru/articles/912324/

    #esp32 #espidf #Arduino #adafruit #ds18b20 #CCS811 #BMP280 #Si7021 #eink

  32. [Перевод] Настройка soft-AP с использованием модуля Espressif и ESP-IDF

    Перевод статьи с небольшими правками для ESP-IDF 4.4.5. В этом руководстве показано, как настроить soft-AP с использованием модуля Espressif и ESP-IDF. Оно охватывает процесс создания проекта, настройки Wi-Fi и обработки событий подключения с помощью event loop и логирования. В любом Wi-Fi-приложении первым шагом является установление соединения между устройством и маршрутизатором. В терминологии Wi-Fi устройство называется станцией (STA), а маршрутизатор — точкой доступа (AP). В большинстве случаев модуль Espressif работает как станция, подключаясь к существующему маршрутизатору. Однако перед этим пользователь должен пройти процесс provisioning — то есть ввести SSID и пароль маршрутизатора. Существует несколько способов provisioning, но наиболее распространённые — это через Bluetooth и Wi-Fi. При использовании Wi-Fi процесс обычно выглядит следующим образом:

    habr.com/ru/articles/902444/

    #esp32 #esp32_s3 #wifi #espidf

  33. Discovered [nushell](nushell.sh) this weekend. Looks pretty cool. Tried it, but there are two things that prevent me from making it my new default shell:
    1. pyenv: pyenv init does not work with nushell
    2. ESP-IDF: ESP IDF's export scripts do not work with nushell

    #nushell #pyenv #python #espidf #esp32

  34. Discovered [nushell](nushell.sh) this weekend. Looks pretty cool. Tried it, but there are two things that prevent me from making it my new default shell:
    1. pyenv: pyenv init does not work with nushell
    2. ESP-IDF: ESP IDF's export scripts do not work with nushell

    #nushell #pyenv #python #espidf #esp32

  35. Discovered led_indicator (docs.espressif.com/projects/es), an ESP IDF component for indicator lights (hence the name) for different types of leds (GPIO-driven, WS2812). Couldn't get it to work on ESP IDF 5.3.2 because of broken dependencies. (cmake utilities specifically) This is not a third-party component but a component provided by Espressif 🙄
    #esp32 #espressif #espidf

  36. #ESPIDF can work an SD card in a couple of ways. It is a tad confusing as there is the card layer and the filing system layer (FAT) and the filing system layer saves you a load of the low level calls which you initially assume you have to make.
    Anyway, I wired up and used SPI mode as lots of examples had that. I find I can write around 250kB/sec. Only just enough for 44.1kHz stereo 16 bit. And some cards are slower just enough to fail to keep up. There is a huge question of 10k pull ups :-)

  37. So, apparently, for ESP IDF, an IP_EVENT_STA_LOST_IP event is not an issue when your are a "mesh"client.

    FFS, it have literally taken me all day to find that out.

    #ESP #ESPIDF #Espressif

  38. How does #ESPIDF development with devcontainers work? I tried setting up the hello_world example but it didn't make sense.

    Here's what happened. After pulling the docker image #VSCode reopened the project in the devcontainer. So far this is the regular devcontainer experience. It then asks me which ESP-IDF to use. And shows a list of my _locally_ installed ESP-IDFs. Why?

  39. for those who can't wait for tasmota to produce the next version here's an experimental #espidf package for platformio.ini, based on esp-idf 5.2 (current official version is limited to esp-idf 5.1.2)

    gist.github.com/tobozo/e71ba07

    #esp32 #m5stack #platformio

  40. Has anyone else found the #ESP32 #ESPIDF #ESPHome a bit spotty when you have multiple access points advertising the same SSID?
    It keeps trying to roam to another AP with a weaker signal even though I've pinned it to a specific BSSID.

  41. #FujiNet #Atari8bit #PlatformIO #ESPIDF #a2retronet One final note: I have said this repeatedly. I have limited engineering cycles, BUT, I make infinite time to teach. This means that I will always take the time to teach someone how FujiNet works, in the hope that they will help make it better.

    Thank you all for your time.

    -Thom Cherryhomes

  42. #FujiNet #Atari8bit #PlatformIO #ESPIDF #a2retronet ...but we don't do that behind closed doors. We aren't some peripheral manufacturer in the 1980s trying to make a profit, we are a collection of hackers trying to make a piece of hardware that we all want to use, and to that end, community involvement is essential!

    To this end, I am UNBELIEVABLY transparent; some would say to a fault. I let everybody know what's going on, no matter if it's good news or bad, and I always ask for help, because if I never did, FujiNet would not have the team of talented people behind it at this moment.

    So yes, I pull in, and I ask, even for help from members of potentially competing projects! Why? Because our code is open, and our competitors can benefit from it, too! We want people to use it, even if it spawns a competing product...

    ...because it means that we had a hand in bootstrapping something better. At least, that's how I choose to see it.

  43. #FujiNet #Atari8bit #PlatformIO #ESPIDF #a2retronet ...so he took the time to port our code to the latest toolchain (6.1.0 at the time), for all the platforms. He could have simply stopped there, and left it. But he also embedded the earlier 3.4.0 toolkit as a component, and made it work...

    ...This gave us a life-boat to check behavior between the old and the new toolkits, and in so doing, we were able to compare, contrast, and fix most of the breakages that did happen across all of our platform. This was above and beyond.

    It can be hard sometimes to keep track of all of the various things happening around #FujiNet, because it is happening so quickly. Many platforms, many new features, and sometimes things regress, and we do try to fix them...