[!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.
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.
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.
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.
| 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.
The easiest way is the web flasher โ no toolchain required, just a Chrome/Edge browser and a USB cable:
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.
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.
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.
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.
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).
Bad USB (Ducky-script over USB or BLE, ~30 layouts) and Macro Pad (USB/BLE HID macro record & playback).
Streaming โ unified music (.mp3) & video (.mp4) player: play locally or stream to AirPlay, Chromecast/Google Cast, and DLNA devices.
Doom (needs doom1.wad), Snake, Hotspot Arcade, and 30+ user FAPs (Asteroids, Blackjack, Pong, Roulette, Tamagotchi, Tetris, Texas Holdโem, โฆ).
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.
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).
| 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.
Requires ESP-IDF v5.4.1 (exact version).
./buildAndFlash_T-Embed.sh # T-Embed (build + flash)
./buildAndFlash_T-Embed.sh --build-only
:: 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.
./buildFap.sh applications/main/my_app # firmware must be built first
Preserves the original Flipper Zero architecture as closely as possible:
esp_lcd, I2C โ PN532/CST816S, RMT โ IR, NimBLE โ BLE, TinyUSB โ USB-HID)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.
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.
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.