Skip to content

Commit 94801da

Browse files
committed
README: lead install with the one-step fap flow (bundled portal+firmware); esptool now the fallback
1 parent 3358ca1 commit 94801da

1 file changed

Lines changed: 26 additions & 16 deletions

File tree

README.md

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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
8289
python3 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

8997
On the Flipper: **Apps → GPIO → [ESP32] Flytrap**.
9098

9199
1. **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**.
94104
4. Connect a **test** device — the captive page pops up; submit to see a capture.
95105
5. **Captures** → browse the list, open one for the decoded fields (Prev/Next to page).
96106
6. **Clients** → see who's connected right now (MAC, IP, joined time); it updates live.

0 commit comments

Comments
 (0)