ESP32 Mac troubleshooting

From Hackers & Designers

A collection of links related to troubleshooting ESP32 development on MacOS.

Allow Kext loading

  • System Preferences > Security & Privacy > General
screenshot of mac os settings pane with the tile security & privacy highlighted
Screenshot of mac os settings pane with the tile security & privacy highlighted
screenshot of the security & privacy menu at the tab general, with the window under allow apps downloaded from highlighted, this is where potential errors will show up, if any
screenshot of the security & privacy menu at the tab general, with the window under allow apps downloaded from highlighted, this is where potential errors will show up, if any

If there is an error message in the red box area, GateKeeper is interrupting the driver’s operation. If this is the case, click ‘Allow’ and confirm with administrator password, then restart your computer.

screenshot of the settings pane - security and privacy with message System software from developer Intel Corporation Apps was blocked from loading and a button ALLOW next to it
screenshot of the settings pane - security and privacy with message System software from developer Intel Corporation Apps was blocked from loading and a button ALLOW next to it

Bypassing gatekeeper on Mac OS

You need to work around a safety measure called Gatekeeper which is a little different per OS operating system. Follow instructions below for your OS or google “disable gatekeeper on mac [insert your version here, e.g. monterey]” More info here

Mojave (10.14.x)

sudo spctl --master-disable

High Sierra (10.13.x)

The allow button in the settings menu might not work, then to disable checking altogether:

  1. Shut down your Mac
  2. Start again while holding mac+ R during boot to enter recovery mode
  3. Open a terminal window
  4. type the following command and press enter
  1. spctl kext-consent disable
  2. Reboot
  3. Try install driver again


Sierra (10.12.x)

El capitan (10.11.x)

Yosemite (10.10.x)


After starting the Arduino IDE, make sure it can communicate with the ESP32 module

  • If communication is possible, you can select /dev/cu.SLAB_USBtoUART (for other than Mac OSX, this name might be different) as shown in the picture below.
    screenshot of Arduino window with menu Tools-Port-SLAB_USBtoUART selected
    screenshot of Arduino window with menu Tools-Port-SLAB_USBtoUART selected
  • If communication is not possible, SLAB_USBtoUART will not show up (for other than Mac OSX, this name might be different.)
    Arduino Esp32 communication failed
    Arduino Esp32 communication failed

exec: "python": executable file not found in $PATH Error on MacOS Monterey

Mac OS Monterey issue during upload

  • If you’re using Mac OS Monterey, you might get an error like this in the Arduino output window:

exec: “python”: executable file not found in $PATH error on mac monterey ” If that happens, open a Terminal window, and paste the code below to install the right version of Python in the right place. Then hit enter.

sed -i -e 's/=python /=python3 /g' ~/Library/Arduino15/packages/esp32/hardware/esp32/*/platform.txt