This repository as for goal to explain how to compile and flash Marauder framework to an ESP32 Solo core to work on a Flipper Zero.
The main problem to flash marauder on my ESP was because marauder is mainly destined on ESP32 multi core. As my board was one core only, i got backtrace corrupted error while trying the OTA and Source Code methode. Or wrong chip id while trying using FZ Easy Marauder.
Here is how to make it work on a one core ESP32.
Please feel free to make PR once you test on a different board.
- ESP32-DevKitM-1
Please feel free to make PR once you test on a different Environment.
- Windows 11
- Arduino IDE v.1.8.19
- ESP32 Library v.2.0.2
- ESP32 Solo Library v.2.0.2
- Install and open the release version 1.8.19 of Arduino IDE
- In the Arduino IDE, go to
File
>Preferences
- Add the following URLs to Additional Boards Manager URLs:
- Go to
Tools
>Board
>Boards Manager
, search foresp32
and installesp32 by Espressif Systems
- Make sure it is version
2.0.2
- Make sure it is version
- Install the CP210X Drivers
- Install the CH340X Drivers
- With any text editor, open
C:\Users\<USERNAME>\AppDate\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\platform.txt
- Add
-w
to the end of line33
so it appears like sobuild.extra_flags.esp32=-DARDUINO_SERIAL_PORT=0 -w
- Add
-zmuldefs
to the end of line27
(compiler.c.elf.libs.esp32=
)
- Download the source code of
Arduino ESP32 Solo
which match our library version (2.0.2). You can download it here - Unzip it and move the
tools
folder into your ESP32 Library (should be located at :C:\Users\YourUsername\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2
), replace every files when asked. - Close and re-open Arduino IDE.
Download and install the following libraries using the ZIP library installer under Sketch
>Library
>Add .ZIP Library
- Make sure you use one of the supported versions of Arduino IDE and have ESP32 core installed.
- Download the tool archive from releases page.
- Unpack the tool into tools directory, create it if it doesn't exist (by default, the path will look like
C:\Users\YourUsername\Documents\Arduino\tools\ESP32FS\tool\esp32fs.jar
). - Restart Arduino IDE.
- Download the whole repository. You can Download it here
- Open
ESP32Marauder\esp32_marauder\esp32_marauder.ino
, it will load the whole project into you'r Arduino IDE. - Modify
config.h
, to match you'r hardware version. In my case i needed to pick "Marauder Flipper", scroll a bit to know why.
//#define MARAUDER_MINI
//#define MARAUDER_V4
//#define MARAUDER_V6
//#define MARAUDER_KIT
//#define GENERIC_ESP32
#define MARAUDER_FLIPPER
NOTE : In my first attempt, i've chosen "Marauder Mini" as my board is based on ESP32-Mini. But then flashing it failed (I guess because of SD card that isn't here, and maybe TFT Sceen).
At my second attempt, i've chosen "Marauder Flipper", asking me "Well, you want to make it work for flipper zero, not to become the Marauder Mini Device, so why not?" and it worked. (Also, there is no SD Card on the Flipper Wifi Dev Board, and no TFT Screen)
- Press the
BOOT
button of you'r ESP32 and plug it into a USB port. - Under
Tools
menu :- Select the COM port under
Tools
>Port
, then allways underTools
select the following. - Select the board
Node32s
- Upload Speed set to
115200
- Flash Frequency set to
80Mhz
- Partition Scheme set to
Minimal SPIFFS (Large APPS with OTA)
- Select the COM port under
- Under
Tools
menu, clickESP32 Sketch Data Upload
and wait for the SPIFFS upload to finish. - Copy the
User_Setup.h
that you can find in the downloaded marauder repo atESP32Marauder/User_Setup.h
, and replace the one in your TFT_eSPI library folder located atC:\Users\YourUsername\Documents\Arduino\libraries\TFT_eSPI
- Click the upload button, it will compile the sketch and flash it on you'r ESP32. Once finished the board will automatically reboot.
- Try to connect with putty to make sure that Marauder is running correctly.
putty.exe -serial <COM_PORT> -sercfg 115200,8,n,1,N
Thanks to @justcallmekoko for the ESP32Marauder firmware.
Thanks to @lbernstone for the arduino esp32 solo library.
Thanks to @me-no-dev for the arduino esp32 file system plugin.