ESP32 Firmware with https

I modified the original firmware to do an ESP32 only firmware.
The https seems now to work for this board.
Still a few correction and implementation of the auto-update needed.

Feel free to test and give me feedback.

1 Like

What is the benefit compared to esp8266? Bluetooth Support for configuration or so?

More place for the firmware.
Better stability for the Next PM for example.
2 full working UART (+ the serial reader).
More pins.

I tried to compile the esp32 beta source, but had no success

*  Executing task in folder airrohr-firmware: C:\Users\andre\.platformio\penv\Scripts\platformio.exe run 

Warning! Ignore unknown configuration option `lang` in section [env:esp32dev]
Warning! Ignore unknown configuration option `lang` in section [env:esp32dev_de]
Processing esp32dev (platform: espressif32; framework: arduino; board: esp32dev)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (6.1.0) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 @ 3.20007.0 (2.0.7)
 - tool-esptoolpy @ 1.40500.0 (4.5.0)
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Converting airrohr-firmware.ino
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 43 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Wire @ 2.0.0
|-- WiFi @ 2.0.0
|-- DNSServer @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- WiFiClientSecure @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- HTTPClient @ 2.0.0
|   |-- WiFi @ 2.0.0
|   |-- WiFiClientSecure @ 2.0.0
|   |   |-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- SPIFFS @ 2.0.0
|   |-- FS @ 2.0.0
|-- WebServer @ 2.0.0
|   |-- WiFi @ 2.0.0
|   |-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPmDNS @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- OneWire @ 2.3.7
|-- LiquidCrystal_I2C @ 1.1.4
|   |-- Wire @ 2.0.0
|-- Adafruit BMP085 Library @ 1.0.1
|   |-- Wire @ 2.0.0
|-- Adafruit HTU21DF Library @ 1.0.5
|   |-- Wire @ 2.0.0
|-- Adafruit SHT31 Library @ 1.2.0
|   |-- Wire @ 2.0.0
|-- DallasTemperature @ 3.9.1
|   |-- OneWire @ 2.3.7
|-- SparkFun SCD30 Arduino Library @ 1.0.20
|   |-- Wire @ 2.0.0
|-- ArduinoJson @ 6.18.3
|-- ESP8266 and ESP32 OLED driver for SSD1306 displays @ 4.4.0
|   |-- Wire @ 2.0.0
|-- TinyGPSPlus @ 1.0.2
Building in release mode
Compiling .pio\build\esp32dev\src\DHT.cpp.o
Compiling .pio\build\esp32dev\src\airrohr-firmware.ino.cpp.o
Compiling .pio\build\esp32dev\src\bmx280_i2c.cpp.o
Compiling .pio\build\esp32dev\src\dnms_i2c.cpp.o
Compiling .pio\build\esp32dev\src\sps30_i2c.cpp.o
Compiling .pio\build\esp32dev\src\utils.cpp.o
Building .pio\build\esp32dev\bootloader.bin
Generating partitions .pio\build\esp32dev\partitions.bin
esptool.py v4.5
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Compiling .pio\build\esp32dev\lib9b7\Wire\Wire.cpp.o
Compiling .pio\build\esp32dev\libcf7\WiFi\WiFi.cpp.o
Compiling .pio\build\esp32dev\libcf7\WiFi\WiFiAP.cpp.o
Compiling .pio\build\esp32dev\libcf7\WiFi\WiFiClient.cpp.o
Compiling .pio\build\esp32dev\libcf7\WiFi\WiFiGeneric.cpp.o
Compiling .pio\build\esp32dev\libcf7\WiFi\WiFiMulti.cpp.o
Compiling .pio\build\esp32dev\libcf7\WiFi\WiFiSTA.cpp.o
Compiling .pio\build\esp32dev\libcf7\WiFi\WiFiScan.cpp.o
Compiling .pio\build\esp32dev\libcf7\WiFi\WiFiServer.cpp.o
Compiling .pio\build\esp32dev\libcf7\WiFi\WiFiUdp.cpp.o
Compiling .pio\build\esp32dev\liba7b\DNSServer\DNSServer.cpp.o
Compiling .pio\build\esp32dev\libbb1\WiFiClientSecure\WiFiClientSecure.cpp.o
Compiling .pio\build\esp32dev\libbb1\WiFiClientSecure\esp_crt_bundle.c.o
Compiling .pio\build\esp32dev\libbb1\WiFiClientSecure\ssl_client.cpp.o
Archiving .pio\build\esp32dev\lib9b7\libWire.a
C:/Users/andre/Downloads/sensors-software-beta-esp32/airrohr-firmware/airrohr-firmware.ino: In function 'void connectWifi()':
C:/Users/andre/Downloads/sensors-software-beta-esp32/airrohr-firmware/airrohr-firmware.ino:2809:61: error: no match for 'operator=' (operand types are 'WiFiEventFuncCb' {aka 'std::function<void(arduino_event_id_t, arduino_event_info_t)>'} and 'wifi_event_id_t' {aka 'unsigned int'})
             WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_DISCONNECTED);
                                                             ^
In file included from c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\functional:59,
                 from C:/Users/andre/.platformio/packages/framework-arduinoespressif32/cores/esp32/HardwareSerial.h:49,
                 from C:/Users/andre/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:184,
                 from C:\Users\andre\AppData\Local\Temp\tmp3kboc9yz:1:
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:461:7: note: candidate: 'std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(const std::function<_Res(_ArgTypes ...)>&) [with _Res = void; _ArgTypes = {arduino_event_id_t, arduino_event_info_t}]'
       operator=(const function& __x)
       ^~~~~~~~
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:461:7: note:   no known conversion for argument 1 from 'wifi_event_id_t' {aka 'unsigned int'} to 'const std::function<void(arduino_event_id_t, arduino_event_info_t)>&'
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:479:7: note: candidate: 'std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::function<_Res(_ArgTypes ...)>&&) [with _Res = void; _ArgTypes = {arduino_event_id_t, arduino_event_info_t}]'
       operator=(function&& __x) noexcept
       ^~~~~~~~
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:479:7: note:   no known conversion for argument 1 from 'wifi_event_id_t' {aka 'unsigned int'} to 'std::function<void(arduino_event_id_t, arduino_event_info_t)>&&'
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:493:7: note: candidate: 'std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::nullptr_t) [with _Res = void; _ArgTypes = {arduino_event_id_t, arduino_event_info_t}; std::nullptr_t = std::nullptr_t]'
       operator=(nullptr_t) noexcept
       ^~~~~~~~
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:493:7: note:   no known conversion for argument 1 from 'wifi_event_id_t' {aka 'unsigned int'} to 'std::nullptr_t'
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:522:2: note: candidate: 'template<class _Functor> std::function<_Res(_ArgTypes ...)>::_Requires<std::function<_Res(_ArgTypes ...)>::_Callable<typename std::decay<_U1>::type>, std::function<_Res(_ArgTypes ...)>&> std::function<_Res(_ArgTypes ...)>::operator=(_Functor&&) [with _Functor = _Functor; _Res = void; _ArgTypes = {arduino_event_id_t, arduino_event_info_t}]'
  operator=(_Functor&& __f)
  ^~~~~~~~
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:522:2: note:   template argument deduction/substitution failed:
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h: In substitution of 'template<class _Functor> std::function<void(arduino_event_id_t, arduino_event_info_t)>::_Requires<std::function<void(arduino_event_id_t, arduino_event_info_t)>::_Callable<typename std::decay<_Tp>::type, typename std::result_of<typename std::decay<_Tp>::type&(arduino_event_id_t, arduino_event_info_t)>::type>, std::function<void(arduino_event_id_t, arduino_event_info_t)>&> std::function<void(arduino_event_id_t, arduino_event_info_t)>::operator=<_Functor>(_Functor&&) [with _Functor = unsigned int]':
C:/Users/andre/Downloads/sensors-software-beta-esp32/airrohr-firmware/airrohr-firmware.ino:2809:61:   required from here
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:522:2: error: no type named 'type' in 'class std::result_of<unsigned int&(arduino_event_id_t, arduino_event_info_t)>'
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:531:2: note: candidate: 'template<class _Functor> std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::reference_wrapper<_Functor>) [with _Functor = _Functor; _Res = void; _ArgTypes = {arduino_event_id_t, arduino_event_info_t}]'
  operator=(reference_wrapper<_Functor> __f) noexcept
  ^~~~~~~~
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:531:2: note:   template argument deduction/substitution failed:
C:/Users/andre/Downloads/sensors-software-beta-esp32/airrohr-firmware/airrohr-firmware.ino:2809:61: note:   mismatched types 'std::reference_wrapper<_Tp>' and 'unsigned int'
             WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_DISCONNECTED);
                                                             ^
Compiling .pio\build\esp32dev\lib152\HTTPClient\HTTPClient.cpp.o
*** [.pio\build\esp32dev\src\airrohr-firmware.ino.cpp.o] Error 1
==================================================================== [FAILED] Took 15.33 seconds ====================================================================

Processing esp32dev_de (platform: espressif32; framework: arduino; board: esp32dev)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Library Manager: Installing paulstoffregen/OneWire @ 2.3.7
Unpacking  [####################################]  100%
Library Manager: OneWire@2.3.7 has been installed!
Library Manager: Installing marcoschwartz/LiquidCrystal_I2C @ 1.1.4
Unpacking  [####################################]  100%
Library Manager: LiquidCrystal_I2C@1.1.4 has been installed!
Library Manager: Installing adafruit/Adafruit BMP085 Library @ 1.0.1
Unpacking  [####################################]  100%
Library Manager: Adafruit BMP085 Library@1.0.1 has been installed!
Library Manager: Installing adafruit/Adafruit HTU21DF Library @ 1.0.5
Unpacking  [####################################]  100%
Library Manager: Adafruit HTU21DF Library@1.0.5 has been installed!
Library Manager: Installing adafruit/Adafruit SHT31 Library @ 1.2.0
Unpacking  [####################################]  100%
Library Manager: Adafruit SHT31 Library@1.2.0 has been installed!
Library Manager: Installing milesburton/DallasTemperature @ 3.9.1
Unpacking  [####################################]  100%
Library Manager: DallasTemperature@3.9.1 has been installed!
Library Manager: Resolving dependencies...
Library Manager: Installing sparkfun/SparkFun SCD30 Arduino Library @ ^1.0.13
Unpacking  [####################################]  100%
Library Manager: SparkFun SCD30 Arduino Library@1.0.20 has been installed!
Library Manager: Installing bblanchon/ArduinoJson @ 6.18.3
Unpacking  [####################################]  100%
Library Manager: ArduinoJson@6.18.3 has been installed!
Library Manager: Installing ThingPulse/ESP8266 and ESP32 OLED driver for SSD1306 displays @ ^4.2.1
Unpacking  [####################################]  100%
Library Manager: ESP8266 and ESP32 OLED driver for SSD1306 displays@4.4.0 has been installed!
Library Manager: Installing mikalhart/TinyGPSPlus @ 1.0.2
Unpacking  [####################################]  100%
Library Manager: TinyGPSPlus@1.0.2 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (6.1.0) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-arduinoespressif32 @ 3.20007.0 (2.0.7)
 - tool-esptoolpy @ 1.40500.0 (4.5.0)
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Converting airrohr-firmware.ino
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 43 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Wire @ 2.0.0
|-- WiFi @ 2.0.0
|-- DNSServer @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- WiFiClientSecure @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- HTTPClient @ 2.0.0
|   |-- WiFi @ 2.0.0
|   |-- WiFiClientSecure @ 2.0.0
|   |   |-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- SPIFFS @ 2.0.0
|   |-- FS @ 2.0.0
|-- WebServer @ 2.0.0
|   |-- WiFi @ 2.0.0
|   |-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPmDNS @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- OneWire @ 2.3.7
|-- LiquidCrystal_I2C @ 1.1.4
|   |-- Wire @ 2.0.0
|-- Adafruit BMP085 Library @ 1.0.1
|   |-- Wire @ 2.0.0
|-- Adafruit HTU21DF Library @ 1.0.5
|   |-- Wire @ 2.0.0
|-- Adafruit SHT31 Library @ 1.2.0
|   |-- Wire @ 2.0.0
|-- DallasTemperature @ 3.9.1
|   |-- OneWire @ 2.3.7
|-- SparkFun SCD30 Arduino Library @ 1.0.20
|   |-- Wire @ 2.0.0
|-- ArduinoJson @ 6.18.3
|-- ESP8266 and ESP32 OLED driver for SSD1306 displays @ 4.4.0
|   |-- Wire @ 2.0.0
|-- TinyGPSPlus @ 1.0.2
Building in release mode
Compiling .pio\build\esp32dev_de\src\DHT.cpp.o
Compiling .pio\build\esp32dev_de\src\airrohr-firmware.ino.cpp.o
Compiling .pio\build\esp32dev_de\src\bmx280_i2c.cpp.o
Compiling .pio\build\esp32dev_de\src\dnms_i2c.cpp.o
Compiling .pio\build\esp32dev_de\src\sps30_i2c.cpp.o
Compiling .pio\build\esp32dev_de\src\utils.cpp.o
Building .pio\build\esp32dev_de\bootloader.bin
Generating partitions .pio\build\esp32dev_de\partitions.bin
esptool.py v4.5
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Compiling .pio\build\esp32dev_de\lib9b7\Wire\Wire.cpp.o
Compiling .pio\build\esp32dev_de\libcf7\WiFi\WiFi.cpp.o
Compiling .pio\build\esp32dev_de\libcf7\WiFi\WiFiAP.cpp.o
Compiling .pio\build\esp32dev_de\libcf7\WiFi\WiFiClient.cpp.o
Compiling .pio\build\esp32dev_de\libcf7\WiFi\WiFiGeneric.cpp.o
Compiling .pio\build\esp32dev_de\libcf7\WiFi\WiFiMulti.cpp.o
Compiling .pio\build\esp32dev_de\libcf7\WiFi\WiFiSTA.cpp.o
Compiling .pio\build\esp32dev_de\libcf7\WiFi\WiFiScan.cpp.o
Compiling .pio\build\esp32dev_de\libcf7\WiFi\WiFiServer.cpp.o
Compiling .pio\build\esp32dev_de\libcf7\WiFi\WiFiUdp.cpp.o
Compiling .pio\build\esp32dev_de\liba7b\DNSServer\DNSServer.cpp.o
Compiling .pio\build\esp32dev_de\libbb1\WiFiClientSecure\WiFiClientSecure.cpp.o
Archiving .pio\build\esp32dev_de\lib9b7\libWire.a
Compiling .pio\build\esp32dev_de\libbb1\WiFiClientSecure\esp_crt_bundle.c.o
Compiling .pio\build\esp32dev_de\libbb1\WiFiClientSecure\ssl_client.cpp.o
C:/Users/andre/Downloads/sensors-software-beta-esp32/airrohr-firmware/airrohr-firmware.ino: In function 'void connectWifi()':
C:/Users/andre/Downloads/sensors-software-beta-esp32/airrohr-firmware/airrohr-firmware.ino:2809:61: error: no match for 'operator=' (operand types are 'WiFiEventFuncCb' {aka 'std::function<void(arduino_event_id_t, arduino_event_info_t)>'} and 'wifi_event_id_t' {aka 'unsigned int'})
             WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_DISCONNECTED);
                                                             ^
In file included from c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\functional:59,
                 from C:/Users/andre/.platformio/packages/framework-arduinoespressif32/cores/esp32/HardwareSerial.h:49,
                 from C:/Users/andre/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:184,
                 from C:\Users\andre\AppData\Local\Temp\tmpxdzw2zck:1:
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:461:7: note: candidate: 'std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(const std::function<_Res(_ArgTypes ...)>&) [with _Res = void; _ArgTypes = {arduino_event_id_t, arduino_event_info_t}]'
       operator=(const function& __x)
       ^~~~~~~~
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:461:7: note:   no known conversion for argument 1 from 'wifi_event_id_t' {aka 'unsigned int'} to 'const std::function<void(arduino_event_id_t, arduino_event_info_t)>&'
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:479:7: note: candidate: 'std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::function<_Res(_ArgTypes ...)>&&) [with _Res = void; _ArgTypes = {arduino_event_id_t, arduino_event_info_t}]'
       operator=(function&& __x) noexcept
       ^~~~~~~~
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:479:7: note:   no known conversion for argument 1 from 'wifi_event_id_t' {aka 'unsigned int'} to 'std::function<void(arduino_event_id_t, arduino_event_info_t)>&&'
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:493:7: note: candidate: 'std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::nullptr_t) [with _Res = void; _ArgTypes = {arduino_event_id_t, arduino_event_info_t}; std::nullptr_t = std::nullptr_t]'
       operator=(nullptr_t) noexcept
       ^~~~~~~~
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:493:7: note:   no known conversion for argument 1 from 'wifi_event_id_t' {aka 'unsigned int'} to 'std::nullptr_t'
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:522:2: note: candidate: 'template<class _Functor> std::function<_Res(_ArgTypes ...)>::_Requires<std::function<_Res(_ArgTypes ...)>::_Callable<typename std::decay<_U1>::type>, std::function<_Res(_ArgTypes ...)>&> std::function<_Res(_ArgTypes ...)>::operator=(_Functor&&) [with _Functor = _Functor; _Res = void; _ArgTypes = {arduino_event_id_t, arduino_event_info_t}]'
  operator=(_Functor&& __f)
  ^~~~~~~~
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:522:2: note:   template argument deduction/substitution failed:
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h: In substitution of 'template<class _Functor> std::function<void(arduino_event_id_t, arduino_event_info_t)>::_Requires<std::function<void(arduino_event_id_t, arduino_event_info_t)>::_Callable<typename std::decay<_Tp>::type, typename std::result_of<typename std::decay<_Tp>::type&(arduino_event_id_t, arduino_event_info_t)>::type>, std::function<void(arduino_event_id_t, arduino_event_info_t)>&> std::function<void(arduino_event_id_t, arduino_event_info_t)>::operator=<_Functor>(_Functor&&) [with _Functor = unsigned int]':
C:/Users/andre/Downloads/sensors-software-beta-esp32/airrohr-firmware/airrohr-firmware.ino:2809:61:   required from here
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:522:2: error: no type named 'type' in 'class std::result_of<unsigned int&(arduino_event_id_t, arduino_event_info_t)>'
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:531:2: note: candidate: 'template<class _Functor> std::function<_Res(_ArgTypes ...)>& std::function<_Res(_ArgTypes ...)>::operator=(std::reference_wrapper<_Functor>) [with _Functor = _Functor; _Res = void; _ArgTypes = {arduino_event_id_t, arduino_event_info_t}]'
  operator=(reference_wrapper<_Functor> __f) noexcept
  ^~~~~~~~
c:\users\andre\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits\std_function.h:531:2: note:   template argument deduction/substitution failed:
C:/Users/andre/Downloads/sensors-software-beta-esp32/airrohr-firmware/airrohr-firmware.ino:2809:61: note:   mismatched types 'std::reference_wrapper<_Tp>' and 'unsigned int'
             WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_DISCONNECTED);
                                                             ^
Compiling .pio\build\esp32dev_de\lib152\HTTPClient\HTTPClient.cpp.o
*** [.pio\build\esp32dev_de\src\airrohr-firmware.ino.cpp.o] Error 1
==================================================================== [FAILED] Took 19.57 seconds ====================================================================

Environment    Status    Duration
-------------  --------  ------------
esp32dev       FAILED    00:00:15.327
esp32dev_de    FAILED    00:00:19.567
=============================================================== 2 failed, 0 succeeded in 00:00:34.894 ===============================================================

 *  The terminal process "C:\Users\andre\.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 

It is a spell. I am each time the only one able to compile my codes.
I think I remember you must comment out some of the events.

Maybe provide precompiled binaries as well, so the compile-step is not neccessary for testing?

@pjg +1 for precompiled binaries!
I saw the ESP32 (Windows) installer was in beta for a few years now :wink:

Thank you for doing the work!

I have m5Stack Stamp that is esp32 c3u

and I’m getting error
A fatal error occurred: This chip is ESP32-C3 not ESP32. Wrong --chip argument?
I tried to change the platform v to 6.2, but this caused 1T drama
any idea how to fix this?

Thank you in advance