The M5StickC is a small, versatile ESP32-based development board, but what if we could use it for WiFi security testing and monitoring? I had an M5StickC lying around, and I wanted to run Marauder firmware on it. However, the official Marauder firmware only had support for the M5StickC Plus and Plus2 due to their larger screens.
But what if you already have the smaller M5StickC and want to put it to use? Or what if you're looking for an ultra-compact Marauder device that you can carry everywhere? In this guide, I’ll walk you through how I got Marauder running on the M5StickC and why it might be the perfect choice for you.
ESP32 Marauder is a powerful open-source tool that utilizes the ESP32 microcontroller to perform a variety of Wi-Fi and Bluetooth security assessments, including de-authentication attacks, packet sniffing, network jamming, and device spoofing, making it useful for ethical hackers and security researchers. Find out more about Marauder on its official GitHub repository.
DISCLAIMER: These Instructions are for educational purposes only!!!!!!!!
The M5StickC has several advantages:
- Small Form Factor – It's one of the smallest ESP32-based devices with a built-in display and battery.
- Built-in Display – Although smaller than the Plus models, it still allows for on-device interaction.
- Onboard Battery & Power Management – No need to keep it plugged in.
- ESP32-PICO D4 – The same chip that powers many larger WiFi tools.
- Low Cost & Availability – If you already have one, why not make use of it?
Since the M5StickC Plus version of Marauder is already available, we can modify and flash it to work with the smaller screen.
Requirements- M5StickC (not the Plus)
- USB-C Cable
To make things easier, I’ve already modified and compiled the Marauder firmware to work with the M5StickC. You can download it here and flash it directly to your device using Spacehuhn ESPWEBTOOL.
- Download the precompiled firmware.
- Connect your M5StickC to your computer via USB-C
- Open Spacehuhn ESPWEBTOOL (For flashing the firmware) and then click connect to pair your device
After connecting you will see the following window. This is for uploading the firmware bin files.
- Use the following table to select the appropriate files and place them at the corresponding address, click on the links to DOWNLOAD the corresponding binary files.
Bootloader - 0x1000 - ESP32Dragonfly.ino.bootloader.bin
Partitions - 0x8000 - ESP32Dragonfly.ino.partitions.bin
Boot App - 0xE000 - boot_pp.bin
Firmware - 0x10000 - ESP32Dragonfly.ino.bin
Upload it like shown in the image below.
The files appear as ESP32Dragonfly because that is what my modified version of Marauder is called. I will Publish about it soon.
After uploading the files, click on Program and it will start Uploading. You will see the following when it is done.
Make sure you reset your device after uploading is complete.
You will some different configurations like the device name when you boot the device or when using the CLI(Serial port), those are just some customizations i added but it does not affect the performance of the device
And that is it, the marauder firmware is uploaded to your tiny M5Stick-C and you can start playing with it.
Option 2: Modify & Compile the Official Firmware YourselfIf you prefer, you can download the official Marauder firmware and modify it to fit the M5StickC’s smaller screen. This is a bit advanced and it need prior understanding of arduino. If you don't want the hassle of library conflicts and library modification, just the previous option as it works pretty well.
Go through justcallmekoko's instructions on building firmware from source Here
- Download the latest version of the official Marauder firmware.
- Unzip it to your preffered directory and navigate to the ES32Marauder.io file and open it in your arduino IDE
- You will need to have all the following libraries
Adafruit_NeoPixel, ArduinoJson, JPEGDecoder, LinkedList, lv_arduino, NimBLE-Arduino, SwitchLib, TFT_eSPI,
Some of the latest versions of the libraries wont work and in some cases you will need to downgrage your arduino ESP32 core to version to previous versions, I used version 2.0.17 to compile the code succesfully with no errors.
- Find the configs.h file and edit the following lines
Defining the correct Board
Setting SPI Pins for the display
Setting the screen size (80x160)
- Adjust the TFT_eSPI library. Open the source folder of the library and locate the
User_Setup_Select.h
file add the following line and comment out the initial setup. Download the followingM5StickC_Setup.h
file and paste it on the src directory of the library. - Recompile and upload the firmware, ensure you have M5Stick-C selected and make sure you set it like shown below for OTA and SPIFFS functionality.
Evil Portals
The best part of using Marauder is Evil Portals. Since the M5StickC doesn't have SD card by default, we will use SPIFFS to store the html files for evil portal. We could add an external SD module and use SD card but that would make our cute device ugly, I wouldn't want that, I don't know about you.
Download the sample Evil portals to use here on bigbrodude's repo. Add them to your sketch folder under the subfolder data. We are going to use the ESP32 Sketch Data Uploader tool, this is only possible if you're using the old version of Arduino(1.8.19). Learn how to install and use ESP32 Sketch Data Uploader HERE.
For Arduino 2.0> you can find a way of uploading files to spiffs, I am sure there is a way out there.
2. Testing the SetupOnce flashed, restart the device. If everything is working correctly, you should see the Marauder interface on the M5StickC screen. You can now use the buttons to navigate the menu and scan networks or do whatever people do with Marauder.
Final ThoughtsRunning Marauder on the M5StickC is a great way to repurpose the device for WiFi security testing in an ultra-portable format. While the smaller screen requires some adjustments, it remains functional and effective for scanning and monitoring on the go.
If you’re looking for a compact, lightweight Marauder hardware option, the M5StickC is definitely worth considering!
Comments