Skip to content

Compilation of the firmware

Erwin Ried edited this page Sep 2, 2024 · 11 revisions

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)