@@ -60,37 +60,47 @@ If that's not your use case, this isn't the project for you.
6060- ** Official Flipper WiFi Dev Board (ESP32-S2)** — or any generic ESP32-S2. It mounts on the
6161 Flipper's GPIO header, which wires the two together over UART.
6262
63- ## Install & flash
63+ ## Install
6464
65- Flytrap is ** two parts** — flash the firmware onto the ESP32, install the app on the Flipper.
65+ ** The easy way — no computer flashing.** The ` .fap ` bundles the portal * and* the
66+ ESP firmware, so:
6667
67- ** 1. ESP32-S2 firmware** — put the board in download mode (hold ** BOOT** , tap ** RESET** ,
68- release ** BOOT** ) and flash the four images (see [ tools/README.md] ( tools/README.md ) ):
68+ 1 . Download ** ` flytrap.fap ` ** from the [ latest release] ( https://github.com/tarikbc/flytrap/releases/latest )
69+ and copy it to your Flipper SD at ` /ext/apps/GPIO/ ` (the portal + firmware
70+ extract to the SD on first launch).
71+ 2 . Mount the ** ESP32-S2 dev board** on the Flipper's GPIO header.
72+ 3 . ** Apps → GPIO → [ ESP32] Flytrap → Start Portal.** On a board that isn't running
73+ Flytrap firmware yet, it offers ** Install firmware** — hold ** BOOT** , tap
74+ ** RESET** , release ** BOOT** , and it flashes over the GPIO UART, then continues to
75+ broadcasting. No computer, no esptool.
76+
77+ ** Build from source (developers).** Flytrap is two binaries — the Flipper app and
78+ the ESP firmware:
6979
7080``` sh
71- esptool --chip esp32s2 --before default-reset --after hard-reset write-flash -z \
72- 0x1000 esp32/flytrap-fw/build/flytrap-fw.ino.bootloader.bin \
73- 0x8000 esp32/flytrap-fw/build/flytrap-fw.ino.partitions.bin \
74- 0xe000 < esp32-core> /tools/partitions/boot_app0.bin \
75- 0x10000 esp32/flytrap-fw/build/flytrap-fw.ino.bin
76- ```
81+ # ESP32-S2 firmware -> esp32/flytrap-fw/build/*.bin (needs arduino-cli; see tools/README.md)
82+ arduino-cli compile --fqbn esp32:esp32:esp32s2:PartitionScheme=huge_app \
83+ --libraries esp32/libs --output-dir esp32/flytrap-fw/build esp32/flytrap-fw
7784
78- ** 2. Flipper app** — build the fap and copy it + the portals to the SD card:
85+ # Flipper fap (bundles the built firmware + portal) -> flipper/flytrap/dist/flytrap.fap
86+ tools/build-fap.sh
7987
80- ``` sh
81- cd flipper/flytrap && ufbt # -> dist/flytrap.fap
88+ # copy the fap + portals + firmware bundle to the SD
8289python3 tools/deploy-to-flipper.py --port /dev/cu.usbmodemflip_XXXX
8390```
8491
85- Prefer to build from clean? See [ tools/README.md] ( tools/README.md ) and the CI workflow.
92+ Prefer to flash the ESP from a computer with ` esptool ` ? That still works — see
93+ [ tools/README.md] ( tools/README.md ) .
8694
8795## Usage
8896
8997On the Flipper: ** Apps → GPIO → [ ESP32] Flytrap** .
9098
91991 . ** Set SSID** — the name of the fake network.
92- 2 . ** Select Portal** — pick an HTML page from ` portals/ ` .
93- 3 . ** Start Portal** — the ESP begins broadcasting; the dashboard shows ** ● Broadcasting** .
100+ 2 . ** Start Portal** — uses the bundled ** social** portal by default (or ** Select
101+ Portal** first to pick another ` .html ` from ` portals/ ` ). If the board needs
102+ firmware, it walks you through ** Install firmware** and then continues.
103+ 3 . The ESP begins broadcasting; the dashboard shows ** ● Broadcasting** .
941044 . Connect a ** test** device — the captive page pops up; submit to see a capture.
951055 . ** Captures** → browse the list, open one for the decoded fields (Prev/Next to page).
961066 . ** Clients** → see who's connected right now (MAC, IP, joined time); it updates live.
0 commit comments