Momuntum_Flipper_For_T_Embed

[!CAUTION]

๐Ÿšจ SECURITY WARNING โ€” DO NOT FLASH โ€œL15Devโ€ FIRMWARE ๐Ÿšจ

A firmware build distributed under the name โ€œL15Devโ€ / โ€œBitwireโ€ has been reported to contain malware (a virus) and a backdoor. Do not download, flash, or run it under any circumstances.

Only use the official builds from this repository / the web flasher. If you already flashed an โ€œL15Devโ€ image, re-flash a clean official build and treat any credentials/data on the device (WiFi passwords, captures) as compromised.

WARNING: I do not take responsibility if you damage your board or property. This project is for educational purposes only โ€” proceed at your own risk.

Momentum T-Embed โ€” Flipper Zero ESP32 Port

A port of the Flipper Zero firmware โ€” with the Momentum feature set โ€” to the LilyGo T-Embed CC1101 and other ESP32 boards. It brings the Flipper Zero UI, services, and application framework to affordable ESP32 hardware โ€” no Flipper Zero required.

โœจ New in v2 โ€” written for this fork

Added for the LilyGo T-Embed by ElicoftZ. These are original to this fork โ€” present in neither the Sor3nt port nor Momentum. Per-feature provenance is verified in CREDITS.md.

๐Ÿ”€ Inherited from the Sor3nt ESP32 port

These come from Sor3nt/Flipper-Zero-ESP32-Port, the port this repository is forked from โ€” not written here:

The Momentum feature set that came in through the merge โ€” the Momentum settings app, Control Centre, dolphin levels, passport and menu styles โ€” originates with Momentum Firmware.

Exact per-directory breakdown (19 written here ยท 3 from Momentum ยท 175 from the port, across 197 directories) is in CREDITS.md.

See RELEASE_NOTES_v2.md for the full v2 changelog.

Supported Boards

Board MCU Display Input SubGHz NFC IR SD Card
LilyGo T-Embed CC1101 ESP32-S3 (Xtensa LX7) ST7789 320ร—170 Rotary encoder + button CC1101 PN532 (I2C) RMT TX + RX SPI
Waveshare ESP32-C6-LCD-1.9 ESP32-C6 (RISC-V) ST7789V2 320ร—172 CST816S touch โ€” โ€” โ€” SPI
Waveshare ESP32-C6-LCD-1.47 โš ๏ธ ESP32-C6 (RISC-V) JD9853 320ร—172 AXS5106L touch โ€” โ€” โ€” SPI
DIY ESP32-S3 with 2.8โ€ TFT โš ๏ธ ESP32-S3 (Xtensa LX7) 2.8โ€ ILI9341 320ร—240 6ร— Tactile buttons CC1101 PN532 (I2C) TX SPI

โš ๏ธ Waveshare ESP32-C6 boards โ€” limited. The ESP32-C6 has only 512 KB SRAM and no PSRAM, so RAM-heavy apps are effectively non-functional. In particular WiFi monitor mode / handshake capture fails (esf_buf_setup_static: alloc eb fail โ†’ ESP_ERR_NO_MEM). Treat these boards as usable only for lightweight apps. The full feature set targets the PSRAM-equipped T-Embed.

How to Flash

The easiest way is the web flasher โ€” no toolchain required, just a Chrome/Edge browser and a USB cable:

โ–ถ Flash via Browser

Connect your board, click flash, done. After flashing, copy the contents of sdcard.zip onto a FAT32 SD card and insert it โ€” most apps need files there to function.

Firmware Update

The T-Embed can update itself โ€” no PC toolchain or re-flashing required:

OTA requires the dual-OTA partition layout. A device on the old single-app layout has to be flashed once via the web flasher before wireless OTA updates work.

Apps

๐Ÿ“ก Wireless / RF

Sub-GHz (external CC1101, 433โ€“868 MHz) โ€” receive & decode, Read RAW to .sub, frequency analyzer, HackRF-style RF spectrum analyzer, band hopper, transmit/manual signal creation, brute-force with manufacturer dictionaries, playlists, and TPMS decoding (Schrader, Citroรซn, Ford, Renault, Toyota, generic). AES-encrypted manufacturer keystores are not decryptable on this port.

WiFi โ€” full pentest toolkit:

Mesh / Buddy (ESP-NOW) โ€” pair headless ESP32 โ€œbuddyโ€ boards to offload WiFi handshake capture with durable store-and-forward.

Bluetooth โ€” BLE Spam (Apple/Google/Microsoft/Samsung/Xiaomi), BLE Walk (GATT scanner), BLE Detector, WhisperPair, BLE Clone, FindMy (AirTag/SmartTag/Tile), BLE HID.

NRF24 (external nRF24L01) โ€” 2.4 GHz spectrum analyzer, jammer, MouseJacker.

Infrared (RMT TX/RX) โ€” learn/replay, universal remotes (TV/AC/audio/projectors/fans/LEDs), brute force.

๐Ÿชช NFC (PN532 over I2C)

Read/save/emulate/write cards, dictionary attacks, 14 protocols, 30+ card auto-parsers (Charlie Card, Clipper, EMV, Gallagher, HID, Opal, Troika, โ€ฆ), plus NFC Magic, MIFARE Fuzzer, NFC/RFID Detector, and the Passport (MRTD) reader.

๐Ÿ”‘ Security โ€” U2F / FIDO2

USB security-key support: U2F/FIDO1 and full FIDO2/CTAP2 (PIN, resident keys/passkeys, self-attestation via mbedtls). Cert/key in /ext/u2f/assets/. Requires USB-OTG (T-Embed).

โŒจ๏ธ HID / USB

Bad USB (Ducky-script over USB or BLE, ~30 layouts) and Macro Pad (USB/BLE HID macro record & playback).

๐ŸŽต Media

Streaming โ€” unified music (.mp3) & video (.mp4) player: play locally or stream to AirPlay, Chromecast/Google Cast, and DLNA devices.

๐ŸŽฎ Games

Doom (needs doom1.wad), Snake, Hotspot Arcade, and 30+ user FAPs (Asteroids, Blackjack, Pong, Roulette, Tamagotchi, Tetris, Texas Holdโ€™em, โ€ฆ).

๐Ÿ›  System / Tools

Control Centre (lock-menu quick settings + sliders), Dual Boot, Archive (SD browser), JS Runner (mJS), qFlipper bridge & USB Storage (USB-OTG), and a 30-level Momentum dolphin with animated idle desktop.

โš™ Settings

Bluetooth, backlight, clock, dolphin/passport, expansion port, input, notification, power, storage, system info, factory reset, Update Firmware (OTA), Interface (main-menu customization), and Spoofing (device name / shell color).

SD Card Layout

Path Used by
/ext/Manifest Desktop (presence check)
/ext/dolphin/ + manifest.txt Idle animations
/ext/apps_assets/nfc/plugins/ NFC protocol plugins (.fal)
/ext/apps_data/doom/doom1.wad Doom
/ext/badusb/ Bad USB scripts + assets/layouts/*.kl
/ext/infrared/assets/ Universal remote DBs
/ext/nfc/assets/ MIFARE & EMV dictionaries
/ext/subghz/assets/ SubGHz keystores
/ext/u2f/assets/ U2F cert + key
/ext/wifi/<ssid>.txt Saved WiFi passwords
/ext/wifi/evil_portal/ Custom captive-portal templates

A complete starter kit is in sdcard.zip โ€” extract it onto a FAT32 SD.

Building

Requires ESP-IDF v5.4.1 (exact version).

Linux / macOS

./buildAndFlash_T-Embed.sh            # T-Embed (build + flash)
./buildAndFlash_T-Embed.sh --build-only

Windows

:: source ESP-IDF v5.4.1 first (C:\Espressif\frameworks\esp-idf-v5.4.1\export.bat)
idf.py -B build_multiboot -DFLIPPER_BOARD=lilygo_t_embed_cc1101 -DSDKCONFIG=build_multiboot/sdkconfig build

The dual-boot shipping image is built in build_multiboot/. Flash the app at offset 0x20000.

Build a FAP

./buildFap.sh applications/main/my_app   # firmware must be built first

Porting Approach

Preserves the original Flipper Zero architecture as closely as possible:

Credits & Acknowledgements

This project stands entirely on the work of others. It is a fork built on top of, and grateful to:

T-Embed fork maintained by ElicoftZ.

Bundled third-party components

Each retains its own license โ€” see the LICENSE / COPYING / NOTICE file next to it in the tree:

Component Used for Upstream
doomgeneric Doom ozkl/doomgeneric
Helix MP3 decoding (Streaming) RealNetworks Helix
libsmb2 SMB2/3 client sahlberg/libsmb2 (LGPL-2.1)
heatshrink compression atomicobject/heatshrink
mJS JS Runner cesanta/mjs
Hotspot Arcade arcade app tarikbc/hotspot-arcade
WPair WhisperPair zalexdev/wpair-app โ€” see NOTICE
ESP32Marauder payloads some BLE Spam advertisements justcallmekoko/ESP32Marauder โ€” see NOTICE (MIT)

Additional community apps under applications_user/ โ€” TagTinker, Flipper Authenticator, xRemote, Tamagotchi (tamalib), Blackjack, ProtoPirate, WMBuster, Wolf3D (Wolf4SDL) and others โ€” each ship under their own LICENSE.

No Momentum asset-pack artwork is redistributed here. If you add asset packs, audit and preserve each assetโ€™s own license and attribution before distributing.

License

Licensed under the GNU General Public License v3.0, inherited from Flipper Zero and Momentum. Bundled components are covered by their own licenses listed above.

If you distribute binaries of this firmware, you must comply with GPLv3 โ€” make the complete corresponding source available and preserve the license texts and attribution of every bundled component. This README is not a substitute for the full license texts or legal advice.