platform-espressif8266
PlatformIO
Our great sponsors
platform-espressif8266 | PlatformIO | |
---|---|---|
3 | 96 | |
315 | 7,526 | |
2.5% | 1.6% | |
4.1 | 9.1 | |
about 2 months ago | 5 days ago | |
Python | Python | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
platform-espressif8266
-
[Help]Flashed devices with esp12e instead of esp01_1m
In this thread they're trying to flash 1MB firmware but the tool appears to be compiling to 4MB and refusing to flash. I think this is the issue you're having, I would suggest you update ESPHome to the latest version and try Cleaning your build files. This thread also reinforces my feeling that you didn't actually flash a 4MB firmware onto a 1MB ESP, because that's failing to happen here.
-
Problem installing on Adafruit Feather ESP32-S3
; PlatformIO Project Configuration File [platformio] # ------------------------------------------------------------------------------ # ENVIRONMENTS # ------------------------------------------------------------------------------ # Release / CI binaries default_envs = adafruit_feather_esp32s3 src_dir = ./wled00 data_dir = ./wled00/data build_cache_dir = ~/.buildcache extra_configs = platformio_override.ini [common] # ------------------------------------------------------------------------------ # PLATFORM: # !! DO NOT confuse platformio's ESP8266 development platform with Arduino core for ESP8266 # # arduino core 2.6.3 = platformIO 2.3.2 # arduino core 2.7.0 = platformIO 2.5.0 # ------------------------------------------------------------------------------ arduino_core_2_6_3 = [email protected] arduino_core_2_7_4 = [email protected] arduino_core_3_0_0 = [email protected] arduino_core_3_2_0 = [email protected] # Development platforms arduino_core_develop = https://github.com/platformio/platform-espressif8266#develop arduino_core_git = https://github.com/platformio/platform-espressif8266#feature/stage # Platform to use for ESP8266 platform_wled_default = ${common.arduino_core_3_2_0} # We use 2.7.4.7 for all, includes PWM flicker fix and Wstring optimization platform_packages = tasmota/framework-arduinoespressif8266 @ 3.20704.7 platformio/toolchain-xtensa @ ~2.40802.200502 platformio/tool-esptool @ ~1.413.0 platformio/tool-esptoolpy @ ~1.30000.0 # ------------------------------------------------------------------------------ # FLAGS: DEBUG # # ------------------------------------------------------------------------------ debug_flags = -D DEBUG=1 -D WLED_DEBUG -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM #if needed (for memleaks etc) also add; -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" #-DDEBUG_ESP_CORE is not working right now # ------------------------------------------------------------------------------ # FLAGS: ldscript (available ldscripts at https://github.com/esp8266/Arduino/tree/master/tools/sdk/ld) # ldscript_2m1m (2048 KB) = 1019 KB sketch, 4 KB eeprom, 1004 KB spiffs, 16 KB reserved # ldscript_4m1m (4096 KB) = 1019 KB sketch, 4 KB eeprom, 1002 KB spiffs, 16 KB reserved, 2048 KB empty/ota? # # Available lwIP variants (macros): # -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH = v1.4 Higher Bandwidth (default) # -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY = v2 Lower Memory # -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH = v2 Higher Bandwidth # -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH # # BearSSL performance: # When building with -DSECURE_CLIENT=SECURE_CLIENT_BEARSSL, please add `board_build.f_cpu = 160000000` to the environment configuration # # BearSSL ciphers: # When building on core >= 2.5, you can add the build flag -DBEARSSL_SSL_BASIC in order to build BearSSL with a limited set of ciphers: # TLS_RSA_WITH_AES_128_CBC_SHA256 / AES128-SHA256 # TLS_RSA_WITH_AES_256_CBC_SHA256 / AES256-SHA256 # TLS_RSA_WITH_AES_128_CBC_SHA / AES128-SHA # TLS_RSA_WITH_AES_256_CBC_SHA / AES256-SHA # This reduces the OTA size with ~45KB, so it's especially useful on low memory boards (512k/1m). # ------------------------------------------------------------------------------ build_flags = -DMQTT_MAX_PACKET_SIZE=1024 -DSECURE_CLIENT=SECURE_CLIENT_BEARSSL -DBEARSSL_SSL_BASIC -D CORE_DEBUG_LEVEL=0 -D NDEBUG #build_flags for the IRremoteESP8266 library (enabled decoders have to appear here) -D _IR_ENABLE_DEFAULT_=false -D DECODE_HASH=true -D DECODE_NEC=true -D DECODE_SONY=true -D DECODE_SAMSUNG=true -D DECODE_LG=true ; -Dregister= # remove warnings in C++17 due to use of deprecated register keyword by the FastLED library -DWLED_USE_MY_CONFIG ; -D USERMOD_SENSORSTOMQTT #For ADS1115 sensor uncomment following ; -D USERMOD_ADS1115 build_unflags = build_flags_esp8266 = ${common.build_flags} ${esp8266.build_flags} build_flags_esp32 = ${common.build_flags} ${esp32.build_flags} ldscript_1m128k = eagle.flash.1m128.ld ldscript_2m512k = eagle.flash.2m512.ld ldscript_2m1m = eagle.flash.2m1m.ld ldscript_4m1m = eagle.flash.4m1m.ld [scripts_defaults] extra_scripts = pre:pio-scripts/set_version.py post:pio-scripts/output_bins.py post:pio-scripts/strip-floats.py pre:pio-scripts/user_config_copy.py # ------------------------------------------------------------------------------ # COMMON SETTINGS: # ------------------------------------------------------------------------------ [env] framework = arduino board_build.flash_mode = dout monitor_speed = 115200 upload_speed = 921600 # ------------------------------------------------------------------------------ # LIBRARIES: required dependencies # Please note that we don't always use the latest version of a library. # # The following libraries have been included (and some of them changd) in the source: # [email protected], [email protected](changed), [email protected](changed), [email protected], [email protected] # ------------------------------------------------------------------------------ lib_compat_mode = strict lib_deps = fastled/FastLED @ 3.5.0 IRremoteESP8266 @ 2.8.2 https://github.com/Aircoookie/ESPAsyncWebServer.git @ ~2.0.7 extra_scripts = ${scripts_defaults.extra_scripts} [esp32] #platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.3/platform-espressif32-2.0.2.3.zip platform = [email protected] platform_packages = framework-arduinoespressif32 @ https://github.com/Aircoookie/arduino-esp32.git#1.0.6.4 build_flags = -g -DARDUINO_ARCH_ESP32 ;-DCONFIG_LITTLEFS_FOR_IDF_3_2 -D CONFIG_ASYNC_TCP_USE_WDT=0 #use LITTLEFS library by lorol in ESP32 core 1.x.x instead of built-in in 2.x.x -D LOROL_LITTLEFS default_partitions = tools/WLED_ESP32_4MB_1MB_FS.csv lib_deps = ${env.lib_deps} https://github.com/lorol/LITTLEFS.git makuna/NeoPixelBus @ 2.6.9 https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 [esp32c3] build_flags = -g -DARDUINO_ARCH_ESP32 -DARDUINO_ARCH_ESP32C3 -DCONFIG_IDF_TARGET_ESP32C3 -D CONFIG_ASYNC_TCP_USE_WDT=0 -DCO lib_deps = ${env.lib_deps} makuna/NeoPixelBus @ 2.6.9 https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 [esp32s3] ;; generic definitions for all ESP32-S3 boards build_flags = -g -DESP32 -DARDUINO_ARCH_ESP32 -DARDUINO_ARCH_ESP32S3 -DCONFIG_IDF_TARGET_ESP32S3 -D CONFIG_ASYNC_TCP_USE_WDT=0 -DCO lib_deps = ${env.lib_deps} ;; NeoPixelBus 2.7.1 is the first that has official support for ESP32-S3 makuna/NeoPixelBus @ ~2.7.1 https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 # ------------------------------------------------------------------------------ # WLED BUILDS # ------------------------------------------------------------------------------ [env:esp32c3] platform = [email protected] framework = arduino board = esp32-c3-devkitm-1 board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv build_flags = ${common.build_flags} ${esp32c3.build_flags} #-D WLED_RELEASE_NAME=ESP32-C3 -D WLED_WATCHDOG_TIMEOUT=0 upload_speed = 460800 build_unflags = ${common.build_unflags} lib_deps = ${esp32c3.lib_deps} [env:adafruit_feather_esp32s3] ;; Adafruit ESP32-S3 Feather board, with 4MB FLASH and 2MB PSRAM (memory_type: qio_opi, qio_qspi, or opi_opi) board = adafruit_feather_esp32s3 platform = espressif32 @ ~5.2.0 board_build.f_cpu = 240000000L platform_packages = upload_speed = 921600 build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} ${esp32s3.build_flags} -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 -D ARDUINO_USB_MODE=1 -D ARDUINO_USB_MSC_ON_BOOT=0 ; -D ARDUINO_USB_CDC_ON_BOOT=0 ; -D WLED_RELEASE_NAME=ESP32-S3_PSRAM -D WLED_USE_PSRAM -DBOARD_HAS_PSRAM ; tells WLED that PSRAM shall be used ; -D CONFIG_LITTLEFS_SPIFFS_COMPAT=1 ; lib_deps = ${esp32s3.lib_deps} board_build.f_flash = 80000000L board_build.flash_mode = qio monitor_filters = esp32_exception_decoder
-
How can I organize my projects that use common libraries?
Ref: https://github.com/platformio/platform-espressif8266/issues/219
PlatformIO
-
Help Needed with Tauri Desktop App for NFC Card Enrollment on ESP32
For the ESP32 in read mode, we've successfully developed a project using PlatformIO that accepts the key during build time and stores it in memory.
-
It's 2023 why embedded development is so cumbersome?(rant)
Check out Zephyr OS and Platform IO. Zephyr is part of the Linux foundation and has similarities to Linux with how it performs hardware abstraction (device tree). Platform IO integrates with other frameworks including mbed and Arduino.
- Is there an extension in vs code to do embedded programming
-
Debug program using PlatformIO and avr-stub
PlatformIO together with avr-stub can be used to do source level debugging but there are some caveats.
-
Do you know some sbc or soc that can be programed to run rtos and c++ on top?
Look into https://platformio.org/, it can abstract over a few RTOSes, and can show you which OSes work with which chips/boards.
-
Newbie question on identifying board in IDE
If the HW looks like it works, you could also try alternate programming software. (e.g. TinyGo or PlatformIO)
-
Issue with Adafruit ESP32-S3: COM port switching, etc.
You might have better luck with PlatformIO than the Arduino IDE; it's better at automatically choosing the serial port, though I can't say I've used it under Windows.
-
Made some progress on the Chessboard this week
My other suggestion takes more work but will make your life oh so much better. Professionally I have used and highly recommend. https://platformio.org/ which is free!
-
Ask HN: Best books to learn embedded systems?
Will you be doing embedded Linux? Embedded RTOS? Bare metal? Microcontrollers? SoC (say, FPGA with a hard processor core)?
You can do a lot with QEMU. https://bootlin.com/ has a lot of great, free training material.
https://bootlin.com/doc/training/embedded-linux-qemu/embedde...
is one of my favorites.
Learning to cross-compile, do embedded debugging, the process of booting an embedded system (which varies depending on the answers to the above questions), learning how to read a technical reference for the processor you’re using as well as for peripherals you’re likely to interact with - SPI, i2c, UART, maybe PCIe, are all handy skills. Learn a bit about JTAG, hardware, reading schematics, etc. Even being able solder is helpful.
There may be books (I had a great embedded Linux book when I started) but there are lots of online materials too. Check out https://platformio.org/
There are fun embedded boards and projects for microcontrollers too - micropython on an rpi pico, tinygo, eLua, etc.
What are some alternatives?
platform-ch32v - PlatformIO platform for CH32V RISC-V chips (CH32V003, CH32V103, CH32V20x, CH32V30x, CH32X035) and CH56x, CH57x, CH58x, CH59x
MicroPython - MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
ESPAsyncWebServer - Async Web Server for ESP8266 and ESP32
duino-coin - ᕲ Duino-Coin is a coin that can be mined with almost everything, including Arduino boards.
platformio-docs - PlatformIO Documentation
meson - The Meson Build System
MKS_WIFI_upgrade_with_BeePrint_web_interface - Firmware for MKS WiFi module from Makerbase with BeePrint Web Interface, tested with Flying Bear Ghost 4/5/6 Reborn Flsun
BitBake - The official bitbake Git is at https://git.openembedded.org/bitbake/. Do not open issues or file pull requests here.
platformio-core-installer - PlatformIO Core Installer
ESPAsyncWebServer - Async Web Server for ESP8266 and ESP32
LITTLEFS - LittleFS library for arduino-esp32
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.