TL;DR: Use Rosetta for Building ESP32-S3 on Apple Silicon
I was struggling to get PlatformIO to build the .bin firmware correctly on Apple Silicon — whether using pio run --target upload or multi_flash.py.
After trying:
- Manually installing and pointing to updated toolchains
- Redirecting paths
- Downgrading PlatformIO packages
- Hunting down rare compiler versions
…the real fix was simple: run Terminal using Rosetta.
Steps
-
Install Rosetta (if it’s not already installed):
softwareupdate --install-rosetta
-
Enable Rosetta for Terminal:
- Open Finder → Applications → Utilities
- Right-click on Terminal.app → Get Info
- Check ✅ "Open using Rosetta"
-
Open the Rosetta-enabled Terminal
-
Clone the DeskHog repo:
git clone https://github.com/PostHog/DeskHog.git
cd DeskHog
-
Create and activate a virtual environment:
python3 -m venv venv-rosetta
source venv-rosetta/bin/activate
-
Install PlatformIO CLI:
-
Install dependencies for sprite/image conversion (optional but recommended):
-
Build the project:
-
Look for successful build output:
Building .pio/build/adafruit_feather_esp32s3_reversetft/firmware.bin
esptool v5.0.1
Creating ESP32S3 image...
Merged 3 ELF sections.
Successfully created ESP32S3 image.
-
To upload the firmware to your board:
If you’re on Apple Silicon and running into compiler or toolchain issues with PlatformIO and ESP32-S3 builds, try Rosetta first before diving into deep debugging.
TL;DR: Use Rosetta for Building ESP32-S3 on Apple Silicon
I was struggling to get PlatformIO to build the
.binfirmware correctly on Apple Silicon — whether usingpio run --target uploadormulti_flash.py.After trying:
…the real fix was simple: run Terminal using Rosetta.
Steps
Install Rosetta (if it’s not already installed):
Enable Rosetta for Terminal:
Open the Rosetta-enabled Terminal
Clone the DeskHog repo:
git clone https://github.com/PostHog/DeskHog.git cd DeskHogCreate and activate a virtual environment:
python3 -m venv venv-rosetta source venv-rosetta/bin/activateInstall PlatformIO CLI:
Install dependencies for sprite/image conversion (optional but recommended):
Build the project:
Look for successful build output:
To upload the firmware to your board:
If you’re on Apple Silicon and running into compiler or toolchain issues with PlatformIO and ESP32-S3 builds, try Rosetta first before diving into deep debugging.