Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
how to compile new tasmota firmware by simplest way
#1
1. use Gitpod, you just need a web browser: https://tasmota.github.io/docs/Gitpod/

2. for example:  we make a new tasmota firmware for ESP32 MATTER + enable PCF8574 i2c bus chip.
   

3. When compiling your build add the following to user_config_override.h
#define USE_I2C                                // Add support for I2C
#define USE_PCF8574                            // [I2cDriver2] Enable PCF8574 I/O Expander (I2C addresses 0x20 - 0x26 and 0x39 - 0x3F) (+2k1 code)
#define USE_PCF8574_SENSOR                  // Enable Mode1 inputs and outputs in SENSOR message (+0k2 code)
#define USE_PCF8574_DISPLAYINPUT            // Enable Mode1 inputs display in Web page (+0k2 code)
#define USE_PCF8574_MQTTINPUT                // Enable Mode1 MQTT message & rule process on input change detection : stat/%topic%/PCF8574_INP = {"Time":"2021-03-07T16:19:23+01:00","PCF8574-1_INP":{"D1":1}} (+0k5 code)

4. after SAVE the FILE, then run command:   "platformio run -e tasmota32"
Command "platformio run -e tasmota32"  is correct for ESP32 builds,  "platformio run -e tasmota"  is only for esp8266 builds.

5. after compiled, download "tasmota32.factory.bin". 
   

6. then use ESP DOWNLOAD TOOL write to ESP32 in address 0x0
   

7. after re power on of ESP32 board, you can connect with tasmota, config it with I2C SDA and SCL pins firstly, then you can see the PCF8574 option and MATTER option.
   
   

Tasmota ESP32 MATTER+PCF8574 firmware download (after downloaded the ZIP file, you need to unzip get the BIN file)

.zip   tasmota32.factory.zip (Size: 1.69 MB / Downloads: 813)
Reply
#2
enabled PCF8574 mode 2, where you can make button/relay config per pin.

.zip   tasmota32.factory_pcf8574_mode2.zip (Size: 1.7 MB / Downloads: 901)
Reply
#3
dear admin

i have some issues related to KC868-A6 when compiling tasmota32 release MASTER / DEV repository by gitlab (now ONA)

in /workspaces/Tasmota/tasmota/my_user_config.h 
 
by using the values from thread https://www.kincony.com/forum/showthread.php?tid=5432

#define USE_I2C                                // Add support for I2C
#define USE_PCF8574                            // [I2cDriver2] Enable PCF8574 I/O Expander (I2C addresses 0x20 - 0x26 and 0x39 - 0x3F) (+2k1 code)
#define USE_PCF8574_SENSOR                  // Enable Mode1 inputs and outputs in SENSOR message (+0k2 code)
#define USE_PCF8574_DISPLAYINPUT            // Enable Mode1 inputs display in Web page (+0k2 code)
#define USE_PCF8574_MQTTINPUT                // Enable Mode1 MQTT message & rule process on input change detection : stat/%topic%/PCF8574_INP = {"Time":"2021-03-07T16:19:23+01:00","PCF8574-1_INP":{"D1":1}} (+0k5 code)

for using with SSD1306 0.96" 128x64 I2C OLED

in new tasmota releases i have to define 

// -- Universal Display Driver ---------------------------------
// #define USE_UNIVERSAL_DISPLAY                   // New universal display driver for both I2C and SPI
    #define MAX_TOUCH_BUTTONS 16                 // Virtual touch buttons



can you please explain the values for the universal display driver because of defining I2C adress 0x3c for oled display instead of using adress 0x3c for PCF8574A_SENSOR

12:05:09.033 CMD: I2CScan
12:05:09.063 RSL: RESULT = {"I2CScan":"Device(s) found at 0x22 0x24 0x3c 0x68"}

and defining virtual touch buttons for toggling display AND 6 Relay Device Input/Output PCF8574-1 (D0-D5) like your compiled binary v12.2.0 (see screenshot)

with Blackadder template parameters {"NAME":"KC868-A6","GPIO":[0,1,0,1,640,768,1,1,1,1,3232,608,0,1,736,672,0,1,0,704,0,1,0,3200,0,0,0,0,1312,1184,4706,4707,4704,0,0,4705],"FLAG":0,"BASE":1}

i want to know about compiling new current tasmota release using KC-868 as you provided and adding support for modules #define USE_LORA_SX127X
and #define USE_NRF24   // Add SPI support for NRF24L01(+) (+2k6 code)

Thank YOU!


Attached Files Image(s)
   
Reply
#4
sorry, i suggest you post to tasmota forum about this question.
Reply
#5
Sorry, for asking again for using your knowledge how to define the build.
As you did it in the past, can you please give an hint to define the LCD Button
for the I2C OLED Adress I2C: PCF8574A found at 0x3c seperate as the other 6 PCF8574 Ports

here is the Log from last build:

00:00:00.128 I2C: PCF8574 found at 0x22
00:00:00.129 I2C: PCF8574 found at 0x24
00:00:00.141 I2C: PCF8574A found at 0x3c
00:00:00.143 PCF: Total devices 3, PCF8574 output ports 6
00:00:00.172 BRY: Berry initialized, RAM used 3138 bytes
00:00:00.184 Project tasmota - Tasmota Version 15.1.0(TasmoCompiler-esp32generic)-3_3_0(2026-01-11T01:07:55)


Thank You for You Help - i only want to know about the define options in user_config_override.h to get this working in latest release for
self-compiling. This would be interesting to me and the community.

Thank you so much
Reply
#6
you need enable SSD1306 OLED. then you can set i2c address in tasmota config webpage for SDA and SCL pin.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)