ESP32 MG996R Servo Control

Hello, I am trying to use the MG996R servo motor with my ESP32 C3-Mini-1 Board. I am trying to utilize the ESP32Servo library by Kevin Harrington. When I run the "Sweep" example sketch;

#include <ESP32Servo.h>

Servo myservo;  // create servo object to control a servo
// 16 servo objects can be created on the ESP32

int pos = 0;    // variable to store the servo position
// Recommended PWM GPIO pins on the ESP32 include 2,4,12-19,21-23,25-27,32-33 
// Possible PWM GPIO pins on the ESP32-S2: 0(used by on-board button),1-17,18(used by on-board LED),19-21,26,33-42
// Possible PWM GPIO pins on the ESP32-S3: 0(used by on-board button),1-21,35-45,47,48(used by on-board LED)
// Possible PWM GPIO pins on the ESP32-C3: 0(used by on-board button),1-7,8(used by on-board LED),9-10,18-21
#if defined(CONFIG_IDF_TARGET_ESP32S2) || defined(CONFIG_IDF_TARGET_ESP32S3)
int servoPin = 9;
#elif defined(CONFIG_IDF_TARGET_ESP32C3)
int servoPin = 7;
#else
int servoPin = 18;
#endif

void setup() {
	// Allow allocation of all timers
	ESP32PWM::allocateTimer(0);
	ESP32PWM::allocateTimer(1);
	ESP32PWM::allocateTimer(2);
	ESP32PWM::allocateTimer(3);
	myservo.setPeriodHertz(50);    // standard 50 hz servo
	myservo.attach(servoPin, 1000, 2000); // attaches the servo on pin 18 to the servo object
	// using default min/max of 1000us and 2000us
	// different servos may require different min/max settings
	// for an accurate 0 to 180 sweep
}

void loop() {

	for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
		// in steps of 1 degree
		myservo.write(pos);    // tell servo to go to position in variable 'pos'
		delay(15);             // waits 15ms for the servo to reach the position
	}
	for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
		myservo.write(pos);    // tell servo to go to position in variable 'pos'
		delay(15);             // waits 15ms for the servo to reach the position
	}
}

I get this error message:

/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In destructor 'virtual ESP32PWM::~ESP32PWM()':
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:53:17: error: 'ledcDetachPin' was not declared in this scope; did you mean 'ledcDetach'?
   53 |                 ledcDetachPin(pin);
      |                 ^~~~~~~~~~~~~
      |                 ledcDetach
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In static member function 'static double ESP32PWM::_ledcSetupTimerFreq(uint8_t, double, uint8_t)':
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:60:16: error: 'ledcSetup' was not declared in this scope
   60 |         return ledcSetup(chan, freq, bit_num);
      |                ^~~~~~~~~
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In member function 'double ESP32PWM::setup(double, uint8_t)':
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:150:17: error: 'ledcDetachPin' was not declared in this scope; did you mean 'ledcDetach'?
  150 |                 ledcDetachPin(pin);
      |                 ^~~~~~~~~~~~~
      |                 ledcDetach
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:151:30: error: 'ledcSetup' was not declared in this scope
  151 |                 double val = ledcSetup(getChannel(), freq, resolution_bits);
      |                              ^~~~~~~~~
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:155:16: error: 'ledcSetup' was not declared in this scope
  155 |         return ledcSetup(getChannel(), freq, resolution_bits);
      |                ^~~~~~~~~
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In member function 'void ESP32PWM::adjustFrequencyLocal(double, double)':
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:172:17: error: 'ledcDetachPin' was not declared in this scope; did you mean 'ledcDetach'?
  172 |                 ledcDetachPin(pin);
      |                 ^~~~~~~~~~~~~
      |                 ledcDetach
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:176:17: error: 'ledcAttachPin' was not declared in this scope; did you mean 'ledcAttach'?
  176 |                 ledcAttachPin(pin, getChannel()); // re-attach the pin after frequency adjust
      |                 ^~~~~~~~~~~~~
      |                 ledcAttach
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In member function 'void ESP32PWM::attachPin(uint8_t)':
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:237:17: error: 'ledcAttachPin' was not declared in this scope; did you mean 'ledcAttach'?
  237 |                 ledcAttachPin(pin, getChannel());
      |                 ^~~~~~~~~~~~~
      |                 ledcAttach
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In member function 'void ESP32PWM::detachPin(int)':
/Users/kakovalipuduk/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:264:9: error: 'ledcDetachPin' was not declared in this scope; did you mean 'ledcDetach'?
  264 |         ledcDetachPin(pin);
      |         ^~~~~~~~~~~~~
      |         ledcDetach

exit status 1

Compilation error: exit status 1.

How can I fix this?

Hi @kakovalipuduk. I'm going to ask you to provide the full verbose output from a compilation.


:exclamation: This procedure is not intended to solve the problem. The purpose is to gather more information.


Please do this:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Check the box next to "Show verbose output during: ☐ compilation" in the "Preferences" dialog.
  3. Click the "OK" button.
    The "Preferences" dialog will close.
  4. Select Sketch > Verify/Compile from the Arduino IDE menus.
  5. Wait for the compilation to fail.
  6. You will see a "Compilation error: ..." notification at the bottom right corner of the Arduino IDE window. Click the "COPY ERROR MESSAGES" button on that notification.
  7. Open a forum reply here by clicking the "Reply" button.
  8. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
    Code block icon on toolbar
  9. Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
    This will paste the compilation output into the code block.
  10. Move the cursor outside of the code block markup before you add any additional text to your reply.
  11. Click the "Reply" button to post the output.

In case the output is longer than the forum software will allow to be added to a post, you can instead save it to a .txt file and then attach that file to a reply here:

  1. Open any text editor program.
  2. Paste the copied output into the text editor.
  3. Save the file in .txt format.
  4. Open a forum reply here by clicking the "Reply" button.
  5. Click the "Upload" icon (Upload icon) on the post composer toolbar:
    Upload icon on toolbar
    The "Open" dialog will open.
  6. Select the .txt file you saved from the "Open" dialog.
  7. Click the "Open" button.
    The dialog will close.
  8. Click the "Reply" button to publish the post.

Alternatively, instead of using the "Upload" icon on the post composer toolbar as described in steps (5) - (7) above, you can simply drag and drop the .txt file onto the post composer field to attach it.

Thank you for your reply but I don't see the option for " Show verbose output during: ☐ compilation". I am running Arduino IDE Version 2.3.2 on MacOS Version 12.7.4

image

1 Like

I apologize for the inaccuracy in my instructions. The name was "compilation" in Arduino IDE 1.x, but I see it was changed to "compile" in the Arduino IDE 2.x preferences.

So I should have written:

  1. Check the box next to "Show verbose output during: ☐ compile" in the "Preferences" dialog.

Please follow the instructions with that modification.

This is the error message that I get now:


FQBN: esp32:esp32:esp32c3:UploadSpeed=460800
Using board 'esp32c3' from platform in folder: /Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1
Using core 'esp32' from platform in folder: /Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1

/usr/bin/env bash -c "[ ! -f \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample\"/partitions.csv ] || cp -f \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample\"/partitions.csv \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816\"/partitions.csv"
/usr/bin/env bash -c "[ -f \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816\"/partitions.csv ] || [ ! -f \"/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3\"/partitions.csv ] || cp \"/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3\"/partitions.csv \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816\"/partitions.csv"
/usr/bin/env bash -c "[ -f \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816\"/partitions.csv ] || cp \"/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1\"/tools/partitions/default.csv \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816\"/partitions.csv"
/usr/bin/env bash -c "[ -f \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample\"/bootloader.bin ] && cp -f \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample\"/bootloader.bin \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816\"/PWMExample.ino.bootloader.bin || ( [ -f \"/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3\"/bootloader.bin ] && cp \"/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3\"/bootloader.bin \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816\"/PWMExample.ino.bootloader.bin || \"/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esptool_py/4.6\"/esptool --chip esp32c3 elf2image --flash_mode dio --flash_freq 80m --flash_size 4MB -o \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816\"/PWMExample.ino.bootloader.bin \"/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3\"/bin/bootloader_qio_80m.elf )"
esptool.py v4.6
Creating esp32c3 image...
Merged 1 ELF section
Successfully created esp32c3 image.
/usr/bin/env bash -c "[ ! -f \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample\"/build_opt.h ] || cp -f \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample\"/build_opt.h \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816\"/build_opt.h"
/usr/bin/env bash -c "[ -f \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816\"/build_opt.h ] || : > \"/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816\"/build_opt.h"
/usr/bin/env bash -c ": > '/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/file_opts'"
Detecting libraries used...
/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp-rv32/2302/bin/riscv32-esp-elf-g++ -c @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/cpp_flags -w -Os -w -x c++ -E -CC -DF_CPU=160000000L -DARDUINO=10607 -DARDUINO_ESP32C3_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32C3_DEV" -DARDUINO_VARIANT="esp32c3" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="macosx" -DARDUINO_FQBN="esp32:esp32:esp32c3:UploadSpeed=460800,CDCOnBoot=default,CPUFreq=160,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/defines -I/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample -iprefix /Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/include/ @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/includes -I/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/qio_qspi/include -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/cores/esp32 -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3 @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/build_opt.h @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/file_opts /private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/sketch/PWMExample.ino.cpp -o /dev/null
Alternatives for ESP32Servo.h: [ESP32Servo@1.2.1]
ResolveLibrary(ESP32Servo.h)
  -> candidates: [ESP32Servo@1.2.1]
/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp-rv32/2302/bin/riscv32-esp-elf-g++ -c @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/cpp_flags -w -Os -w -x c++ -E -CC -DF_CPU=160000000L -DARDUINO=10607 -DARDUINO_ESP32C3_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32C3_DEV" -DARDUINO_VARIANT="esp32c3" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="macosx" -DARDUINO_FQBN="esp32:esp32:esp32c3:UploadSpeed=460800,CDCOnBoot=default,CPUFreq=160,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/defines -I/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample -iprefix /Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/include/ @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/includes -I/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/qio_qspi/include -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/cores/esp32 -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3 -I/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/build_opt.h @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/file_opts /private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/sketch/PWMExample.ino.cpp -o /dev/null
/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp-rv32/2302/bin/riscv32-esp-elf-g++ -c @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/cpp_flags -w -Os -w -x c++ -E -CC -DF_CPU=160000000L -DARDUINO=10607 -DARDUINO_ESP32C3_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32C3_DEV" -DARDUINO_VARIANT="esp32c3" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="macosx" -DARDUINO_FQBN="esp32:esp32:esp32c3:UploadSpeed=460800,CDCOnBoot=default,CPUFreq=160,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/defines -I/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample -iprefix /Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/include/ @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/includes -I/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/qio_qspi/include -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/cores/esp32 -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3 -I/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/build_opt.h @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/file_opts /Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp -o /dev/null
/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp-rv32/2302/bin/riscv32-esp-elf-g++ -c @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/cpp_flags -w -Os -w -x c++ -E -CC -DF_CPU=160000000L -DARDUINO=10607 -DARDUINO_ESP32C3_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32C3_DEV" -DARDUINO_VARIANT="esp32c3" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="macosx" -DARDUINO_FQBN="esp32:esp32:esp32c3:UploadSpeed=460800,CDCOnBoot=default,CPUFreq=160,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/defines -I/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample -iprefix /Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/include/ @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/includes -I/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/qio_qspi/include -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/cores/esp32 -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3 -I/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/build_opt.h @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/file_opts /Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32Servo.cpp -o /dev/null
Generating function prototypes...
/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp-rv32/2302/bin/riscv32-esp-elf-g++ -c @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/cpp_flags -w -Os -w -x c++ -E -CC -DF_CPU=160000000L -DARDUINO=10607 -DARDUINO_ESP32C3_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32C3_DEV" -DARDUINO_VARIANT="esp32c3" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="macosx" -DARDUINO_FQBN="esp32:esp32:esp32c3:UploadSpeed=460800,CDCOnBoot=default,CPUFreq=160,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/defines -I/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample -iprefix /Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/include/ @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/includes -I/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/qio_qspi/include -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/cores/esp32 -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3 -I/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/build_opt.h @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/file_opts /private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/sketch/PWMExample.ino.cpp -o /private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/237311298/sketch_merged.cpp
/Users/osmaneys/Library/Arduino15/packages/builtin/tools/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/237311298/sketch_merged.cpp
Compiling sketch...
/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp-rv32/2302/bin/riscv32-esp-elf-g++ -MMD -c @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/cpp_flags -Os -DF_CPU=160000000L -DARDUINO=10607 -DARDUINO_ESP32C3_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32C3_DEV\"" "-DARDUINO_VARIANT=\"esp32c3\"" -DARDUINO_PARTITION_default "-DARDUINO_HOST_OS=\"macosx\"" "-DARDUINO_FQBN=\"esp32:esp32:esp32c3:UploadSpeed=460800,CDCOnBoot=default,CPUFreq=160,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default\"" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/defines -I/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample -iprefix /Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/include/ @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/includes -I/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/qio_qspi/include -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/cores/esp32 -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3 -I/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/build_opt.h @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/file_opts /private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/sketch/PWMExample.ino.cpp -o /private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/sketch/PWMExample.ino.cpp.o
Compiling libraries...
Compiling library "ESP32Servo"
/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp-rv32/2302/bin/riscv32-esp-elf-g++ -MMD -c @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/cpp_flags -Os -DF_CPU=160000000L -DARDUINO=10607 -DARDUINO_ESP32C3_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32C3_DEV\"" "-DARDUINO_VARIANT=\"esp32c3\"" -DARDUINO_PARTITION_default "-DARDUINO_HOST_OS=\"macosx\"" "-DARDUINO_FQBN=\"esp32:esp32:esp32c3:UploadSpeed=460800,CDCOnBoot=default,CPUFreq=160,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default\"" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/defines -I/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample -iprefix /Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/include/ @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/includes -I/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/qio_qspi/include -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/cores/esp32 -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3 -I/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/build_opt.h @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/file_opts /Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp -o /private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/libraries/ESP32Servo/ESP32PWM.cpp.o
/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp-rv32/2302/bin/riscv32-esp-elf-g++ -MMD -c @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/cpp_flags -Os -DF_CPU=160000000L -DARDUINO=10607 -DARDUINO_ESP32C3_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32C3_DEV\"" "-DARDUINO_VARIANT=\"esp32c3\"" -DARDUINO_PARTITION_default "-DARDUINO_HOST_OS=\"macosx\"" "-DARDUINO_FQBN=\"esp32:esp32:esp32c3:UploadSpeed=460800,CDCOnBoot=default,CPUFreq=160,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default\"" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/defines -I/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/.arduinoIDE-unsaved2024419-93247-uyh9ss.eapkd/PWMExample -iprefix /Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/include/ @/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/flags/includes -I/Users/osmaneys/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.1-3662303f312/esp32c3/qio_qspi/include -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/cores/esp32 -I/Users/osmaneys/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-rc1/variants/esp32c3 -I/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/build_opt.h @/private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/file_opts /Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32Servo.cpp -o /private/var/folders/29/3njb4dhn5r17s4hz82kx11mc0000gn/T/arduino/sketches/B872EEF148F1B1E32E57C6665BC98816/libraries/ESP32Servo/ESP32Servo.cpp.o
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In destructor 'virtual ESP32PWM::~ESP32PWM()':
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:53:17: error: 'ledcDetachPin' was not declared in this scope; did you mean 'ledcDetach'?
   53 |                 ledcDetachPin(pin);
      |                 ^~~~~~~~~~~~~
      |                 ledcDetach
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In static member function 'static double ESP32PWM::_ledcSetupTimerFreq(uint8_t, double, uint8_t)':
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:60:16: error: 'ledcSetup' was not declared in this scope
   60 |         return ledcSetup(chan, freq, bit_num);
      |                ^~~~~~~~~
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In member function 'double ESP32PWM::setup(double, uint8_t)':
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:150:17: error: 'ledcDetachPin' was not declared in this scope; did you mean 'ledcDetach'?
  150 |                 ledcDetachPin(pin);
      |                 ^~~~~~~~~~~~~
      |                 ledcDetach
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:151:30: error: 'ledcSetup' was not declared in this scope
  151 |                 double val = ledcSetup(getChannel(), freq, resolution_bits);
      |                              ^~~~~~~~~
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:155:16: error: 'ledcSetup' was not declared in this scope
  155 |         return ledcSetup(getChannel(), freq, resolution_bits);
      |                ^~~~~~~~~
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In member function 'void ESP32PWM::adjustFrequencyLocal(double, double)':
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:172:17: error: 'ledcDetachPin' was not declared in this scope; did you mean 'ledcDetach'?
  172 |                 ledcDetachPin(pin);
      |                 ^~~~~~~~~~~~~
      |                 ledcDetach
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:176:17: error: 'ledcAttachPin' was not declared in this scope; did you mean 'ledcAttach'?
  176 |                 ledcAttachPin(pin, getChannel()); // re-attach the pin after frequency adjust
      |                 ^~~~~~~~~~~~~
      |                 ledcAttach
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In member function 'void ESP32PWM::attachPin(uint8_t)':
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:237:17: error: 'ledcAttachPin' was not declared in this scope; did you mean 'ledcAttach'?
  237 |                 ledcAttachPin(pin, getChannel());
      |                 ^~~~~~~~~~~~~
      |                 ledcAttach
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp: In member function 'void ESP32PWM::detachPin(int)':
/Users/osmaneys/Documents/Arduino/libraries/ESP32Servo/src/ESP32PWM.cpp:264:9: error: 'ledcDetachPin' was not declared in this scope; did you mean 'ledcDetach'?
  264 |         ledcDetachPin(pin);
      |         ^~~~~~~~~~~~~
      |         ledcDetach

Using library ESP32Servo at version 1.2.1 in folder: /Users/osmaneys/Documents/Arduino/libraries/ESP32Servo 
exit status 1

Compilation error: exit status 1

OK, great. That makes the situation clear. You are using the development version 3.0.0-rc1 of the "esp32" boards platform. There is a breaking change in version 3.0.0 of the platform that makes it incompatible with the code of the "ESP32Servo" library:

Work is in progress to make the "ESP32Servo" library compatible with version 3.0.0 of the "esp32" platform, but it seems to be moving slowly.

The most simple solution will be to use the Arduino IDE Boards Manager to install the latest stable release version (currently 2.0.16) of the "esp32" platform, which is compatible with the "ESP32Servo" library. The development version of the platform is primarily intended to allow the community to contribute to the development effort by doing beta testing and reporting any bugs they find to the developers; not so much for everyday usage.

If you would like to install the release version of the "esp32" platform, you can follow the instructions provided here:

https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#installing-using-arduino-ide

Make sure to use the URL shown under "Stable release link" in those instructions, not the URL under "Development release link".

After installing version 2.0.16 of the "esp32" platform, try compiling or uploading your sketch again. Hopefully this time it will be successful.

1 Like

Yes this solved the issue thank you very much!

You are welcome. I'm glad it is working now.

Regards,
Per

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.