ESP32-e-Paper-Weather-Display icon indicating copy to clipboard operation
ESP32-e-Paper-Weather-Display copied to clipboard

Board selection

Open robstermn opened this issue 1 year ago • 4 comments

Looking for some help with board selection.

I found a LOLIN32 vs LOLIN32D, would the pinout be the same, as I tried with no luck. And also having issues finding the exact board in VS_code with PlatformIO.

image

And I also have a Heltec Wireless stick v3 and Heltec Wifi kit 32 v3, that I would like to use as well but I couldnt figure out the pinout, I was able to find both of these in Platform IO though...

image

image

Thanks for any help.

robstermn avatar Nov 09 '24 22:11 robstermn

I've not had much luck with the Heltec boards as the lack of good documentation and the need for a specific Heltec library makes for a complex product. Sone of the best are the Wemos D32 or DFRobot Firebeetle especially the latter, as both can achieve minuscule power consumption in sleep mode, this is where most other development boards fail with often excessive power consumption due to poor design. I always choose the ESP32 Dev Module as the pins are well marked on the board and as long as you use eg 36 and not VP or D36 then you don't need the compiler to do any pin logical name conversions.

G6EJD avatar Nov 10 '24 09:11 G6EJD

I've not had much luck with the Heltec boards as the lack of good documentation and the need for a specific Heltec library makes for a complex product. Sone of the best are the Wemos D32 or DFRobot Firebeetle especially the latter, as both can achieve minuscule power consumption in sleep mode, this is where most other development boards fail with often excessive power consumption due to poor design. I always choose the ESP32 Dev Module as the pins are well marked on the board and as long as you use eg 36 and not VP or D36 then you don't need the compiler to do any pin logical name conversions.

robstermn avatar Nov 10 '24 15:11 robstermn

Copy that thanks for the recomendation, I did order a Firebeetle. But I did get the LOLIN32 working with Hello World from GXEPD2.

But when I tried to compile your Waveshare 4.2 code , I get the following error, see attached log.

Generating function prototypes... C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2302/bin/xtensa-esp32-elf-g++ -c @C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_DEV" -DARDUINO_VARIANT="esp32" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=all,JTAGAdapter=default,ZigbeeMode=default" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/flags/defines -IC:\Users\veitchb\AppData\Local\Temp.arduinoIDE-unsaved20241010-14292-vrikum.nfgai\Waveshare_4_2 -iprefix C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/include/ @C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/flags/includes -IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/qio_qspi/include -IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\cores\esp32 -IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\variants\esp32 -IC:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src -IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\WiFi\src -IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\Network\src -IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\SPI\src -IC:\Users\veitchb\Documents\Arduino\libraries\GxEPD2\src -IC:\Users\veitchb\Documents\Arduino\libraries\Adafruit_GFX_Library -IC:\Users\veitchb\Documents\Arduino\libraries\Adafruit_BusIO -IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\Wire\src -IC:\Users\veitchb\Documents\Arduino\libraries\U8g2_for_Adafruit_GFX\src -IC:\Users\veitchb\Documents\Arduino\libraries\ESP32-e-Paper-Weather-Display-master\src -IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\HTTPClient\src -IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\NetworkClientSecure\src @C:\Users\veitchb\AppData\Local\Temp\arduino\sketches\8082C3D926E3E40BF90DE84067FC033B/build_opt.h @C:\Users\veitchb\AppData\Local\Temp\arduino\sketches\8082C3D926E3E40BF90DE84067FC033B/file_opts C:\Users\veitchb\AppData\Local\Temp\arduino\sketches\8082C3D926E3E40BF90DE84067FC033B\sketch\Waveshare_4_2.ino.cpp -o C:\Users\veitchb\AppData\Local\Temp\2674805406\sketch_merged.cpp C:\Users\veitchb\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\veitchb\AppData\Local\Temp\2674805406\sketch_merged.cpp Compiling sketch... "C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2302/bin/xtensa-esp32-elf-g++" -MMD -c "@C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/flags/cpp_flags" -w -Os -Werror=return-type -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD="ESP32_DEV"" "-DARDUINO_VARIANT="esp32"" -DARDUINO_PARTITION_default "-DARDUINO_HOST_OS="windows"" "-DARDUINO_FQBN="esp32:esp32:esp32:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=all,JTAGAdapter=default,ZigbeeMode=default"" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 "@C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/flags/defines" "-IC:\Users\veitchb\AppData\Local\Temp\.arduinoIDE-unsaved20241010-14292-vrikum.nfgai\Waveshare_4_2" -iprefix "C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/include/" "@C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/flags/includes" "-IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-33fbade6\esp32/qio_qspi/include" "-IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\cores\esp32" "-IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\variants\esp32" "-IC:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src" "-IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\WiFi\src" "-IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\Network\src" "-IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\SPI\src" "-IC:\Users\veitchb\Documents\Arduino\libraries\GxEPD2\src" "-IC:\Users\veitchb\Documents\Arduino\libraries\Adafruit_GFX_Library" "-IC:\Users\veitchb\Documents\Arduino\libraries\Adafruit_BusIO" "-IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\Wire\src" "-IC:\Users\veitchb\Documents\Arduino\libraries\U8g2_for_Adafruit_GFX\src" "-IC:\Users\veitchb\Documents\Arduino\libraries\ESP32-e-Paper-Weather-Display-master\src" "-IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\HTTPClient\src" "-IC:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\NetworkClientSecure\src" "@C:\Users\veitchb\AppData\Local\Temp\arduino\sketches\8082C3D926E3E40BF90DE84067FC033B/build_opt.h" "@C:\Users\veitchb\AppData\Local\Temp\arduino\sketches\8082C3D926E3E40BF90DE84067FC033B/file_opts" "C:\Users\veitchb\AppData\Local\Temp\arduino\sketches\8082C3D926E3E40BF90DE84067FC033B\sketch\Waveshare_4_2.ino.cpp" -o "C:\Users\veitchb\AppData\Local\Temp\arduino\sketches\8082C3D926E3E40BF90DE84067FC033B\sketch\Waveshare_4_2.ino.cpp.o" C:\Users\veitchb\AppData\Local\Temp.arduinoIDE-unsaved20241010-14292-vrikum.nfgai\Waveshare_4_2\Waveshare_4_2.ino: In function 'uint8_t StartWiFi()': C:\Users\veitchb\AppData\Local\Temp.arduinoIDE-unsaved20241010-14292-vrikum.nfgai\Waveshare_4_2\Waveshare_4_2.ino:426:8: error: 'class WiFiClass' has no member named 'setAutoConnect'; did you mean 'setAutoReconnect'? 426 | WiFi.setAutoConnect(true); | ^~~~~~~~~~~~~~ | setAutoReconnect In file included from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:42, from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9, from C:\Users\veitchb\AppData\Local\Temp.arduinoIDE-unsaved20241010-14292-vrikum.nfgai\Waveshare_4_2\Waveshare_4_2.ino:21: C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp: In instantiation of 'static T ArduinoJson::V720PB22::Converter<T, Enable>::fromJson(ArduinoJson::V720PB22::JsonVariantConst) [with T = char*; Enable = void]': C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/VariantRefBaseImpl.hpp:23:32: required from 'T ArduinoJson::V720PB22::detail::VariantRefBase<TDerived>::as() const [with T = char*; TDerived = ArduinoJson::V720PB22::detail::MemberProxy<ArduinoJson::V720PB22::detail::ElementProxy<ArduinoJson::V720PB22::detail::MemberProxy<ArduinoJson::V720PB22::JsonObject, const char*> >, const char*>]' C:\Users\veitchb\Documents\Arduino\libraries\ESP32-e-Paper-Weather-Display-master\src/common.h:39:71: required from here C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:35:47: error: static assertion failed: type 'char*' is not supported, use 'const char*' instead 35 | static_assert(!detail::is_same<T, char*>::value, | ^~~~~ C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:35:47: note: '!(bool)ArduinoJson::V720PB22::detail::integral_constant<bool, true>::value' evaluates to false C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:40:20: error: no matching function for call to 'convertFromJson(ArduinoJson::V720PB22::JsonVariantConst&, char*&)' 40 | convertFromJson(src, result); // Error here? See https://arduinojson.org/v7/unsupported-as/ | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~ C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:278:13: note: candidate: 'void ArduinoJson::V720PB22::convertFromJson(JsonVariantConst, String&)' (near match) 278 | inline void convertFromJson(JsonVariantConst src, ::String& dst) { | ^~~~~~~~~~~~~~~ C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:278:13: note: conversion of argument 2 would be ill-formed: C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:40:26: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String' 40 | convertFromJson(src, result); // Error here? See https://arduinojson.org/v7/unsupported-as/ | ^~~~~~ In file included from C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\cores\esp32/Arduino.h:192, from C:\Users\veitchb\AppData\Local\Temp\arduino\sketches\8082C3D926E3E40BF90DE84067FC033B\sketch\Waveshare_4_2.ino.cpp:1: C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\cores\esp32/WString.h:57:3: note: after user-defined conversion: 'String::String(const char*)' 57 | String(const char cstr = ""); | ^~~~~~ C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:294:13: note: candidate: 'void ArduinoJson::V720PB22::convertFromJson(JsonVariantConst, std::string&)' (near match) 294 | inline void convertFromJson(JsonVariantConst src, std::string& dst) { | ^~~~~~~~~~~~~~~ C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:294:13: note: conversion of argument 2 would be ill-formed: C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:40:26: error: cannot bind non-const lvalue reference of type 'std::string&' {aka 'std::__cxx11::basic_string&'} to an rvalue of type 'std::string' {aka 'std::__cxx11::basic_string'} 40 | convertFromJson(src, result); // Error here? See https://arduinojson.org/v7/unsupported-as/ | ^~~~~~ In file included from c:\users\veitchb\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\string:53, from c:\users\veitchb\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\locale_classes.h:40, from c:\users\veitchb\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\ios_base.h:41, from c:\users\veitchb\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\ios:42, from c:\users\veitchb\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\ostream:38, from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Strings/JsonString.hpp:8, from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Strings/Adapters/JsonString.hpp:8, from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Strings/StringAdapters.hpp:8, from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/StringPool.hpp:11, from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/ResourceManager.hpp:9, from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/JsonVariantConst.hpp:10, from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:9, from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:29: c:\users\veitchb\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\basic_string.h:634:7: note: after user-defined conversion: 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT, const _Alloc&) [with = std::allocator; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]' 634 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) | ^~~~~~~~~~~~ C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:310:13: note: candidate: 'void ArduinoJson::V720PB22::convertFromJson(JsonVariantConst, std::string_view&)' (near match) 310 | inline void convertFromJson(JsonVariantConst src, std::string_view& dst) { | ^~~~~~~~~~~~~~~ C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:310:13: note: conversion of argument 2 would be ill-formed: C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/ConverterImpl.hpp:40:26: error: cannot bind non-const lvalue reference of type 'std::string_view&' {aka 'std::basic_string_view&'} to an rvalue of type 'std::string_view' {aka 'std::basic_string_view'} 40 | convertFromJson(src, result); // Error here? See https://arduinojson.org/v7/unsupported-as/ | ^~~~~~ In file included from c:\users\veitchb\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\basic_string.h:47: c:\users\veitchb\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\string_view:133:7: note: after user-defined conversion: 'constexpr std::basic_string_view<_CharT, _Traits>::basic_string_view(const _CharT*) [with _CharT = char; _Traits = std::char_traits]' 133 | basic_string_view(const _CharT* __str) noexcept | ^~~~~~~~~~~~~~~~~

Using library ArduinoJson at version 7.2.0 in folder: C:\Users\veitchb\Documents\Arduino\libraries\ArduinoJson Using library WiFi at version 3.0.5 in folder: C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\WiFi Using library Networking at version 3.0.5 in folder: C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\Network Using library SPI at version 3.0.5 in folder: C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\SPI Using library GxEPD2 at version 1.6.0 in folder: C:\Users\veitchb\Documents\Arduino\libraries\GxEPD2 Using library Adafruit GFX Library at version 1.11.11 in folder: C:\Users\veitchb\Documents\Arduino\libraries\Adafruit_GFX_Library Using library Adafruit BusIO at version 1.16.2 in folder: C:\Users\veitchb\Documents\Arduino\libraries\Adafruit_BusIO Using library Wire at version 3.0.5 in folder: C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\Wire Using library U8g2_for_Adafruit_GFX at version 1.8.0 in folder: C:\Users\veitchb\Documents\Arduino\libraries\U8g2_for_Adafruit_GFX Using library ESP32-e-Paper-Weather-Display at version 0.0.1 in folder: C:\Users\veitchb\Documents\Arduino\libraries\ESP32-e-Paper-Weather-Display-master Using library HTTPClient at version 3.0.5 in folder: C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\HTTPClient Using library NetworkClientSecure at version 3.0.5 in folder: C:\Users\veitchb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.5\libraries\NetworkClientSecure exit status 1

Compilation error: 'class WiFiClass' has no member named 'setAutoConnect'; did you mean 'setAutoReconnect'?

error_1110.txt

robstermn avatar Nov 10 '24 15:11 robstermn

You need to change WiFi.setAutoConnect(true);

To: WiFi.setAutoReconnect();

The compiler has been changed.

G6EJD avatar Nov 10 '24 15:11 G6EJD