Currently trying to upload the miniskid 3.0 arduino file to the ESP32 however I keep getting an error. Not a total newb as such just the coding confuses me I followed the steps in the guide. I even tried changing the BAUD rate in arduino and device manager.
Windows 11 and the board I'm using is attached in the link as well as the code its telling me to upload
This is the board I purchased because tells me not available in my country.......
Is the coding to try and upload.
The following compiling writing is all in red
c:\Users\Kam\Documents\Arduino\libraries\ESP32Servo\src\ESP32Servo.cpp:58:20: error: 'TAG' defined but not used [-Werror=unused-variable]
static const char* TAG = "ESP32Servo";
^~~
cc1plus.exe: some warnings being treated as errors
c:\Users\Kam\Documents\Arduino\libraries\ESP32Servo\src\ESP32PWM.cpp: In member function 'void ESP32PWM::attachPin(uint8_t, double, uint8_t)':
c:\Users\Kam\Documents\Arduino\libraries\ESP32Servo\src\ESP32PWM.cpp:337:7: error: unused variable 'ret' [-Werror=unused-variable]
int ret=setup(freq, resolution_bits);
^~~
c:\Users\Kam\Documents\Arduino\libraries\ESP32Servo\src\ESP32PWM.cpp: At global scope:
c:\Users\Kam\Documents\Arduino\libraries\ESP32Servo\src\ESP32PWM.cpp:18:20: error: 'TAG' defined but not used [-Werror=unused-variable]
static const char* TAG = "ESP32PWM";
^~~
cc1plus.exe: some warnings being treated as errors
Using library ESP32Servo at version 3.0.6 in folder: C:\Users\Kam\Documents\Arduino\libraries\ESP32Servo
Using library ESPAsyncWebSrv at version 1.2.9 in folder: C:\Users\Kam\Documents\Arduino\libraries\ESPAsyncWebSrv
Using library FS at version 2.0.0 in folder: C:\Users\Kam\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\FS
Using library WiFi at version 2.0.0 in folder: C:\Users\Kam\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\WiFi
Using library AsyncTCP at version 1.1.4 in folder: C:\Users\Kam\Documents\Arduino\libraries\AsyncTCP
exit status 1
Compilation error: exit status 1
Hi @kamular. I see you are using a the outdated version 2.0.14 of the "esp32" boards platform. The developers of that 3rd party platform originally made the interesting decision to configure the compiler to promote all compiler warnings to errors. This was done to force developers to write high quality code that does not produce warnings by causing sloppy code that would normally only produce a warning but work perfectly well to actually fail to compile.
This is the case with the "ESP32Servo" library dependency. The library developer defined a variable in the library code, but never used that variable. Since an unused variable is odd, but not necessarily something that will cause a problem, the compiler normally only displays a warning under these conditions. However, due to the configuration of the "esp32" platform, it produces an error and thus the compilation fails.
There are two possible solutions to the problem. I'll describe both and you can pick the one that is most suitable for you:
Update Platform
If you don't have any specific reason for using version 2.0.14 of the "esp32" platform, my recommendation is for you to update to a modern version. You can do that via the Arduino IDE Boards Manager.
Updating the platform will solve the problem because the "esp32" platform developers later came to the conclusion that the warning promotion was just causing too many problems in this Arduino ecosystem so rife with sloppy code. So they removed that configuration and modern versions of the platform treat compiler warnings as warnings.
Disable Compiler Warnings
You can select the level of compiler warnings to be displayed via Arduino IDE's "Compiler warnings" preference.
The way the "esp32" platform developers implemented the warning promotion feature was to only enable it when the user has the "Compiler warnings" preference set to the "More" or "All" levels.
This means that you can work around the compilation error problem by setting the preference to a lower level in your Arduino IDE preferences:
Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
The "Preferences" dialog will open.
Select "Default" from the "Compiler warnings" menu in the "Preferences" dialog.
Click the "OK" button.
The "Preferences" dialog will close.
I dont understand where I'm Going wrong im following the steps and still having this issue.....going to uninstall IDE and try again or could it be the driver im using for the board.
Thanks I've changed it to default errors and now im seeing the following when trying to verify or upload the code
:/Users/Kam/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2511/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\Kam\AppData\Local\arduino\sketches\E7EE173A8D0FA88DF5DA7B8479083540\libraries\ESPAsyncWebSrv\AsyncWebSocket.cpp.o:(.literal._ZN17AsyncWebLockGuardC5ERK12AsyncWebLock[_ZN17AsyncWebLockGuardC5ERK12AsyncWebLock]+0x0): undefined reference to `pxCurrentTCB'
collect2.exe: error: ld returned 1 exit status
It is important to understand that this is a separate problem from the one I addressed in my previous reply.
When undertaking complex technical endeavors as we often do in our Arduino projects, it is common to end up in a situation where the system has multiple distinct problems. I like to refer to this as a "problem stack". This means that solving one problem only advances you to encountering the next problem in the stack. That makes it difficult to see that any progress is being made. However, with enough perseverance you can solve all the problems and finally reach a fully functional state.
Now to address your current problem. The error is related to the "ESPAsyncWebSrv" library that is being used when compiling your sketch. "ESPAsyncWebSrv" is a fork of the original "ESP Async WebServer" library, which was created by a community member in order to make that library available for installation via the Arduino IDE Library Manager. Unfortunately, the community member has not kept their fork updated, so when you use that library you get a very outdated version of the library code. That outdated version had a bug that caused this error you encountered:
The solution will be to uninstall the dead fork "ESPAsyncWebSrv" library and replace it by installing the original actively maintained "ESP Async WebServer" library. Fortunately the "ESP Async WebServer" library has since been added to the Arduino IDE Library Manager, so this is quite easy to do.
I'll provide instructions you can follow to do this:
Uninstall "ESPAsyncWebSrv" Library
Select Sketch > Include Library > Manage Libraries... from the Arduino IDE menus to open the "Library Manager" view in the left side panel.
Type ESPAsyncWebSrv in the "Filter your search..." field.
Find the "ESPAsyncWebSrv" entry in the list of search results.
Hover the mouse pointer over the "ESPAsyncWebSrv" entry.
You will see a ●●● icon appear near the top right corner of the library entry. Click on that icon.
A context menu will open.
Select "Remove" from the menu.
An "Uninstall" dialog will open.
Click the "YES" button in the "Uninstall" dialog to confirm that you want to uninstall the library.
The dialog will close.
Wait for the uninstall process to finish, as indicated by a notification at the bottom right corner of the Arduino IDE window:
ⓘ Successfully uninstalled library ...
Install "ESP Async WebServer" Library
Select Sketch > Include Library > Manage Libraries... from the Arduino IDE menus to open the "Library Manager" view in the left side panel.
Type ESP Async WebServer in the "Filter your search..." field.
Find the "ESP Async WebServer" entry in the list of search results. Make sure it has that exact name, as there are several libraries with similar names.
You will see an "INSTALL" button at the bottom of the entry. Click the button.
Wait for the installation process to finish, as indicated by a notification at the bottom right corner of the Arduino IDE window:
ⓘ Successfully installed library ...
Now try compiling the sketch again. Hopefully everything will work as expected this time.
Thank you so much for taking the time to try and teach me ptillisch I appreciate it but sadly now im getting this error which makes sense its missing its dependency
Well ptillisch i clicked the wrong button by accident and clicked upload and low and behold its working i suspect i can now see ProfBoots Miniskidi OG in my wifi list as its meant too according to the guy
so thanks so much for your help for now it seems to be solved and your a legend mate.
This is caused by you using yet another outdated fork library. This time it is the "AsyncTCP" library. You should be able to fix the problem by replacing it with the original "Async TCP" library.
I'll provide instructions you can follow to do that:
Uninstall "AsyncTCP" Library
Select Sketch > Include Library > Manage Libraries... from the Arduino IDE menus to open the "Library Manager" view in the left side panel.
Type AsyncTCP in the "Filter your search..." field.
Find the "AsyncTCP" entry in the list of search results.
Hover the mouse pointer over the "AsyncTCP" entry.
You will see a ●●● icon appear near the top right corner of the library entry. Click on that icon.
A context menu will open.
Select "Remove" from the menu.
An "Uninstall" dialog will open.
Click the "YES" button in the "Uninstall" dialog to confirm that you want to uninstall the library.
The dialog will close.
Wait for the uninstall process to finish, as indicated by a notification at the bottom right corner of the Arduino IDE window:
ⓘ Successfully uninstalled library ...
Install "Async TCP" Library
Select Sketch > Include Library > Manage Libraries... from the Arduino IDE menus to open the "Library Manager" view in the left side panel.
Type Async TCP in the "Filter your search..." field.
Find the "Async TCP" entry in the list of search results. Make sure it has that exact name, as there are several libraries with similar names. Note that this library has a space in the name.
You will see an "INSTALL" button at the bottom of the entry. Click the button.
Wait for the installation process to finish, as indicated by a notification at the bottom right corner of the Arduino IDE window:
ⓘ Successfully installed library ...
Now try compiling the sketch again. Hopefully everything will work as expected this time.