Theo's Tasmota Tips - seurat-atreides/Sonoff-Tasmota GitHub Wiki
20180723 - Release binary corruption
I found a Travis compiler error which results in corrupt release binaries as many users have noticed when they tried to use the provided images until 20180723.
It seems Travis compiles using platformio on Linux and their xtensa cross-compiler does not correctly byte align 8-bit, 16-bit and 32-bit values.
The newly provided images for release 6.1.1 and 5.14.0 are xtensa cross-compiled on Windows and proven the work correctly.
20180523 - Relation Tasmota and ESP8266/Arduino core version
By now some people have encountered issues with Tasmota caused by different ESP8266/Arduino core versions. Most issues are kind of known problems related to changes within the core version. The following table tries to provide some background information where [X] means issue, [x] workaround and [-] no problem.
Feature | 2.3.0 | 2.4.0 | 2.4.1 | 2.4.2 | Background |
---|---|---|---|---|---|
Wifi security | X | - | - | - | Due to a problem in the core SDK the wifi Krack vulnerability exists allowing unwanted wifi entry #1101. |
Software Serial | x | - | - | - | Due to lack of iRAM serial interrupts need to be handled in Flash resulting in missed interrupts and possible exceptions. Workaround is provided by TasmotaSerial v2.0.0 allowing to select the correct GPIOs to auto switch to Hardware Serial. |
Wifi performance | - | X | - | - | Due to moving wifi code from SDK to core (v1.4 Prebuilt) the wifi signal strength seems to have dropped resulting in bad connections #2605. |
Hue bridge | - | x | x | x | Workaround Patch in precompiled firmware to fix |
Wifi Memory leak | - | - | x | - | Due to a change in core wifi reconnection memory leaks are possible. Tasmota uses workarounds as adviced by core #4497 |
Sleep | - | - | x | x | Device would freeze when core sleep is enabled. Since 6.4.x Tasmota uses his own Sleep function |
Depending on your needs I recommend core version 2.4.2 over 2.3.0 as it is more stable and provides more RAM to Tasmota running more smoothly #2745. Core 2.4.0 and core 2.4.1 isnt supported from Tasmota.
20180110 - My preferred Tasmota development environment
After years of using the Arduino IDE I started using Visual Studio Code with integrated PlatformIO some months ago and I wonder what took me so long. It's great in editing as you may have noticed as changing global variables is a breeze. Using my latest OtaMagic integration makes it even more friendly.
I only miss the Arduino IDE integrated ESP Exception Decoder used for yet another Exception analysis.
20180103 - Tasmota is ready for esp8266/Arduino version 2.4.0
Tasmota is based on esp8266/Arduino.
A few days ago esp8266/Arduino version 2.4.0 was released. Tasmota and it's supporting libraries as available in the lib folder will compile and run just fine.
Among many fixes this version also uses more flash space which makes it almost impossible to easily OTA update Tasmota. A solution was developed months ago and involves an intermediate step using the sonoff-minimal.bin image available in all latest releases.
Now that this step has almost become mandatory it opens up the possibility to add some more functionality to Tasmota in the future.
NOTE: Selecting a different esp8266/Arduino version in (Visual Studio (Code)) PlatformIO is easy using the following defines in file platformio.ini:
platform = [email protected] ; esp8266/Arduino version 2.3.0
platform = [email protected] ; esp8266/Arduino version 2.4.0 (+22k code)
20170714 - Tasmota needs compile Flash Mode option DOUT on all devices
An increasing number of devices are using the ESP8285. As this chip only supports a subset of hardware connections to its inbuilt 1MB flash the firmware needs to be compiled with Flash Mode option set for DOUT.
This is documented in the Wiki and the platformio.ini file in the repository.
As this compile option works for the ESP8266 "legacy" chip too, I only provide released firmware compiled with Flash Mode DOUT which runs fine on all released hardware like Sonoff, Wemos etc. See also #598.
Indications of selecting the wrong Flash Mode compile option (like DIO or QIO) on ESP8285 is a dead device while uploading just went fine #683.
20170619 - Configuration settings save locations in flash
Configuration settings are saved in flash. Over time different areas of flash have been used as can be seen in the picture below.
To reduce flash wear I started to use a number of rotating flash pages with version 5.2. To still be able to use maximum program size during OTA or webpage upgrades I copy the latest config to the EEPROM area just before the upgrade starts.
20170425 - Tasmota version 5.x and up need linker script 1M with No SPIFFS
Starting with version 5.x a new linker script is made available allowing for 32k more code space.
See Wiki how to implement it in your Arduino or platformIO IDE.
20170403 - Tasmota supported libraries in repository
All Tasmota external libraries are available in the lib folder of the repository.
To save as much code space as possible only these library versions are supported by Tasmota. See Wiki for individual library installation.
20170124 - Sonoff-Tasmota spin-off from Sonoff-MQTT-OTA-Arduino
The goal of Sonoff-Tasmota (Tasmota for short) is to provide one pre-compiled MQTT enabled, "Over the Air" firmware with support for as much (iTead Sonoff) devices as possible without the need to edit a user_config.h file. Configuration settings can be changed online without re-compilation.
All this within the tight code space that 1MB flash allows.