Compilation of the firmware - eried/flipperzero-mayhem GitHub Wiki

The following instructions will be using the latest Arduino IDE. First step is to install ESP32 on Arduino IDE, this includes the board AI Thinger ESP32-CAM that we need.

Open flipperzero-mayhem/esp32cam_marauder/esp32cam_marauder.ino in Arduino IDE. Since this is a fork of marauder, you may get and error about multiple definition of 'ieee80211_raw_frame_sanity_check', check the solution here.

[!Note]
In some versions of the platform.txt file from the marauder FAQ you wont find the line with compiler arguments, add -zmuldefs to the global compile flags, changing the line:

compiler.c.elf.libs="@{compiler.sdk.path}/flags/ld_libs"

with:

compiler.c.elf.libs=-zmuldefs "@{compiler.sdk.path}/flags/ld_libs"

Prepare the required libraries as instructed below.

Required libraries

You need the libraries listed on esp32cam_marauder/libraries. Check each library and install them one by one. You can use the Arduino Library manager, just be sure the library is the same.

[!Note]
ESPAsyncWebServer is based on the public library but LinkedList was renamed because a conflict, so you need to copy the folder from the repo

You can use the Arduino IDE library manager for fetching the latest of each library, except for the ones included as a folder in this repo.

Board settings

image

For some boards, the Flash Mode should be DIO. If your ESP32 enters a bootloop, change Flash Mode and try again.

Now you can compile the project.

Upload

The ESP32CAM needs to be manually put on upload mode. Check First-steps#firmware-update.

Flipper Zero

Go to GPIO and select USB-UART Bridge. The default settings are ok. This enables 5V on GPIO automatically, so no need to do anything else.

image

Serial-USB adaptor

Connect RX, TX, GND and PWR (5V to VCC OR 3V3 to 3V depending on your adaptor)