Skip to content

Releases

NRSuite Firmware 1.0.0-rc.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 18:42

Release type: Release candidate
FW_VERSION: 1.0.0-rc.1

Authorized testing only. Use NRSuite firmware only with devices and networks
you own or have explicit written permission to test.

Compatibility

Firmware: 1.0.0-rc.1
Android:  1.0.0-rc.1 (recommended)
Protocol: 1.0

Changes

  • Firmware RC version bump to 1.0.0-rc.1.
  • Release workflow validates and classifies alpha, beta, RC, and stable tags.
  • FW_VERSION is injected without the leading v.
  • RC builds produce rc-nrsuite-*.bin assets in rc-release/.
  • Stable builds use release/nrsuite-*.bin.
  • Alpha/beta builds use beta-release/beta-nrsuite-*.bin.
  • RC and prerelease builds are marked GitHub pre-releases.

Target matrix

Target Environment
ESP32-C3 esp32-c3
ESP32-C5 esp32-c5
ESP32-S3 esp32-s3
ESP32-S3 PSRAM esp32-s3-psram
ESP32-S2 esp32-s2
ESP32 classic esp32-devkit

All images are merged and flashed at offset 0x0.

Install / upgrade

  1. Download the matching rc-nrsuite-*.bin file from the firmware release.
  2. Open the NRSuite Android app.
  3. Open Firmware Flasher.
  4. Select the matching target board.
  5. Choose the downloaded firmware file under local firmware selection.
  6. Confirm the target and tap Flash firmware.

Firmware flashing uses the USB connection from the Android app. ADB and a
desktop computer are not required for normal installation.

Automated verification

Firmware environments: 6/6 built successfully
Native tests:          15 passed, 0 failed
FW_VERSION string:     1.0.0-rc.1 present in all six merged images

Built environments:

esp32-c5
esp32-c3
esp32-s3
esp32-s3-psram
esp32-s2
esp32-devkit

Matching Android app

NRSuite Android 1.0.0-rc.1

Hardware validation

The maintainer confirmed on 2026-11-09 that the physical RC hardware
verification matrix was completed against the RC candidate.

v1.0.0-beta.3.2.0

v1.0.0-beta.3.2.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 08:15
90c1f9e

Authorized testing only. Active Wi-Fi, BLE, WPS, deauthentication,
capture, portal, IR, BadUSB, flashing, and related features must only be used
on devices and networks you own or have explicit written permission to test.

Highlights

  • Dual native USB CDC/JTAG and UART0 transport support in one firmware image.
  • Pull-based SCAN_RESULTS with CRC32 validation, offsets, bounded snapshots,
    and retry support for lossy UART links.
  • WPS hybrid discovery: active Wi-Fi scan candidates with passive WPS-IE
    enrichment and optional non-WPS candidates.
  • Expanded STATUS telemetry: heap, PSRAM, CPU, flash, SDK, active transport,
    and optional internal chip/die temperature.
  • New esp32-s3-psram image for ESP32-S3 N4R2-class boards, with PSRAM-backed
    sniffer queues and internal-RAM fallback.
  • Captive Portal forced routes, DHCP/wildcard DNS, and optional plaintext IPv4
    UDP custom-resolver interception.
  • BLE HID heap guard, structured low-memory errors, and HID session tracking
    through pairing.
  • ESP32-S2 builds intentionally exclude Captive Portal, Evil Twin, and NRuGochi.
  • Pinned dependencies for reproducible builds:
    • ArduinoJson 7.4.3
    • AsyncTCP 3.5.0
    • ESPAsyncWebServer 3.12.1
    • Adafruit PN532 1.3.4
    • NimBLE-Arduino 2.5.1

Firmware images

All images are merged full-flash binaries and must be written at offset 0x0.

Board Environment Image
ESP32-C3 DevKitM-1 esp32-c3 NRSuite-1.0.0-beta.3.2.0-esp32c3.bin
ESP32-C5 DevKitC-1 esp32-c5 NRSuite-1.0.0-beta.3.2.0-esp32c5.bin
ESP32-S3 DevKitC-1 esp32-s3 NRSuite-1.0.0-beta.3.2.0-esp32s3.bin
ESP32-S3 DevKitC-1 N4R2 esp32-s3-psram NRSuite-1.0.0-beta.3.2.0-esp32s3-psram.bin
ESP32-S2 Saola-1 esp32-s2 NRSuite-1.0.0-beta.3.2.0-esp32s2.bin
ESP32 DevKit esp32-devkit NRSuite-1.0.0-beta.3.2.0-esp32classic.bin

The C5 bootloader is included at 0x2000 inside the merged image, but the
image itself is written at 0x0.

ESP32-S2 feature exclusions

ESP32-S2 builds do not advertise or provide:

  • Captive Portal
  • Evil Twin
  • NRuGochi / auto-handshake

The Android app disables the corresponding cards and shows
Not supported on ESP32-S2.

ESP32-C5 BLE HID limitation

BLE HID startup uses the release guard of 90 KiB free heap and 48 KiB
largest allocatable block
. C5 runtime memory can fall below that threshold
depending on the build and active modules. When it does, firmware rejects BLE
HID startup with a structured low-memory error instead of risking an unstable
connection. The esp32-c5-ble-heap-diag profile is diagnostic-only and is not
included in this release.

Flashing

Use the NRSuite Android flasher or esptool with the matching chip and image:

esptool.py --chip esp32c3 --port /dev/ttyACM0 \
  write_flash 0x0 NRSuite-1.0.0-beta.3.2.0-esp32c3.bin

v1.0.0-beta.3.1.2

v1.0.0-beta.3.1.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Nov 11:29

NRSuite Firmware v1.0.0-beta.3.1.2

Binaries

Flash the merged binary for your board using the NRSuite Android app flasher or esptool:

esptool.py --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 <binary>.bin
Board Environment Binary pattern
ESP32-C5 DevKitC-1 esp32-c5 nrsuite-esp32c5-*.bin
ESP32-C3 DevKitM-1 esp32-c3 nrsuite-esp32c3-*.bin
ESP32-S3 DevKitC-1 esp32-s3 nrsuite-esp32s3-*.bin
ESP32-S2 Saola-1 esp32-s2 nrsuite-esp32s2-*.bin
ESP32 DevKit esp32-devkit nrsuite-esp32classic-*.bin

Alpha/beta/RC tags use the same names with a beta- prefix.
The C5 merged image starts at flash offset 0x0 and contains its
bootloader at 0x2000.

Verification

Verify your download against checksums.txt before flashing:

# Linux/macOS
sha256sum -c checksums.txt

# Windows (PowerShell)
certutil -hashfile <binary>.bin SHA256

Compatibility

Requires NRSuite Android app v1.0.0-beta.3.1.2. See the
firmware README
for the current compatibility table.


For authorized security testing use only. See LEGAL.md.

# NRSuite Firmware 1.0.0-beta.3.1.1 - Hotfix

Choose a tag to compare

@7wp81x 7wp81x released this 01 Nov 17:01
6b80aaf

NRSuite Firmware v1.0.0-beta.3.1.1

Binaries

Flash the merged binary for your board using the NRSuite Android app flasher or esptool:

esptool.py --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 <binary>.bin
Board Environment Binary pattern
ESP32-C5 DevKitC-1 esp32-c5 nrsuite-esp32c5-*.bin
ESP32-C3 DevKitM-1 esp32-c3 nrsuite-esp32c3-*.bin
ESP32-S3 DevKitC-1 esp32-s3 nrsuite-esp32s3-*.bin
ESP32-S2 Saola-1 esp32-s2 nrsuite-esp32s2-*.bin
ESP32 DevKit esp32-devkit nrsuite-esp32classic-*.bin

Alpha/beta/RC tags use the same names with a beta- prefix.
The C5 merged image starts at flash offset 0x0 and contains its
bootloader at 0x2000.

Verification

Verify your download against checksums.txt before flashing:

# Linux/macOS
sha256sum -c checksums.txt

# Windows (PowerShell)
certutil -hashfile <binary>.bin SHA256

Compatibility

Requires NRSuite Android app v1.0.0-beta.3.1.1. See the
firmware README
for the current compatibility table.


For authorized security testing use only. See LEGAL.md.

NRSuite Firmware 1.0.0-beta.3.1

Pre-release

Choose a tag to compare

@7wp81x 7wp81x released this 01 Nov 14:17
389572c

Binaries

Flash the merged binary for your board using the NRSuite Android app flasher or esptool:

esptool.py --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 <binary>.bin
Board Environment Binary pattern
ESP32-C5 DevKitC-1 esp32-c5 nrsuite-esp32c5-*.bin
ESP32-C3 DevKitM-1 esp32-c3 nrsuite-esp32c3-*.bin
ESP32-S3 DevKitC-1 esp32-s3 nrsuite-esp32s3-*.bin
ESP32-S2 Saola-1 esp32-s2 nrsuite-esp32s2-*.bin
ESP32 DevKit esp32-devkit nrsuite-esp32classic-*.bin

Alpha/beta/RC tags use the same names with a beta- prefix.
The C5 merged image starts at flash offset 0x0 and contains its
bootloader at 0x2000.

Verification

Verify your download against checksums.txt before flashing:

# Linux/macOS
sha256sum -c checksums.txt

# Windows (PowerShell)
certutil -hashfile <binary>.bin SHA256

Compatibility

Requires NRSuite Android app v1.0.0-beta.3.1. See the
firmware README
for the current compatibility table.


For authorized security testing use only. See LEGAL.md.

NRSuite Firmware 1.0.0-beta.3

Pre-release

Choose a tag to compare

@7wp81x 7wp81x released this 24 Oct 18:39

NRSuite Firmware v1.0.0-beta.3

Binaries

Flash the merged binary for your board using the NRSuite Android app flasher or esptool:

esptool.py --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 <binary>.bin
Board Environment Binary pattern
ESP32-C5 DevKitC-1 esp32-c5 nrsuite-esp32c5-*.bin
ESP32-C3 DevKitM-1 esp32-c3 nrsuite-esp32c3-*.bin
ESP32-S3 DevKitC-1 esp32-s3 nrsuite-esp32s3-*.bin
ESP32-S2 Saola-1 esp32-s2 nrsuite-esp32s2-*.bin
ESP32 DevKit esp32-devkit nrsuite-esp32classic-*.bin

Alpha/beta/RC tags use the same names with a beta- prefix.
The C5 merged image starts at flash offset 0x0 and contains its
bootloader at 0x2000.

Verification

Verify your download against checksums.txt before flashing:

# Linux/macOS
sha256sum -c checksums.txt

# Windows (PowerShell)
certutil -hashfile <binary>.bin SHA256

Compatibility

Requires NRSuite Android app v1.0.0-beta.3. See the
firmware README
for the current compatibility table.


For authorized security testing use only. See LEGAL.md.

NRSuite Firmware 1.0.0-beta.2 - BLE Recon & Defense Support

Choose a tag to compare

@7wp81x 7wp81x released this 01 Oct 17:12
0566adf

NRSuite Firmware 1.0.0-beta.2

Authorized testing only. Use only on networks and devices you own or have explicit permission to test. See the firmware LEGAL.md.

Firmware beta.2 adds Wi-Fi/BLE defense support, BLE recon, hidden AP detection, client detection, and persistent device identity.

Firmware highlights

  • Wi-Fi scan, monitor-mode packet capture, EAPOL filtering, deauth, beacon spam, captive portal, and Evil Twin.
  • Deauth Detector: passive deauth/disassoc detection with async events.
  • Client Detector: probe/assoc/reassoc/auth monitoring with optional active reconnect trigger.
  • Hidden AP Revealer: hidden AP detection, candidate SSIDs, and association-based SSID resolution.
  • BLE Scanner: address, name, RSSI, manufacturer data, service UUIDs, and raw payload.
  • BLE GATT Profile: read-only service and characteristic enumeration.
  • BLE HID: keyboard, mouse, realtime input, and DuckyScript payloads.
  • BadUSB and USB Mass Storage on ESP32-S2/S3.
  • Persistent NRxxxxxxx device ID in NVS, exposed through STATUS.device_id.

Board support

Board Wi-Fi BLE HID / Scanner / GATT MSC / BadUSB
ESP32-C3 Yes Yes No
ESP32-S3 Yes Yes Yes
ESP32-S2 Yes No Yes
Classic ESP32 devkit Yes Yes No

Firmware binaries

File Target
beta-nrsuite-esp32c3.bin ESP32-C3
beta-nrsuite-esp32s3.bin ESP32-S3
beta-nrsuite-esp32s2.bin ESP32-S2
beta-nrsuite-esp32-generic.bin Classic ESP32 devkit

Local draft hashes:

587daf7eef74950bbc9b9626201e74fdde31396090f737f1d1102dac87d5e72f  beta-nrsuite-esp32c3.bin
c050780b538cc2a005286c3242f7d34528e881e0990aa59c47c2e322ef5b3b6d  beta-nrsuite-esp32s3.bin
351be41dac13c94728d31d0e9cf35870194fef064c04503df5486d6450464e87  beta-nrsuite-esp32s2.bin
e192377b182c301fa302123521516f4b70d2f364fafb23a2d0c9b7043167544d  beta-nrsuite-esp32-generic.bin

Final release hashes will be generated by the tagged firmware release workflow.

Flashing

Recommended: use the in-app Firmware Flasher with the matching merged .bin.

Manual:

esptool.py --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 beta-nrsuite-esp32c3.bin

Replace the filename with the binary for your board.

Compatibility

Firmware Android app Protocol
1.0.0-beta.2 1.0.0-beta.2 1.0

Android release: https://github.com/7wp81x/NRSuite-Android/releases/tag/v1.0.0-beta.2

Known limitations

  • WPA/WPA2 verification supports descriptor v2; v3/AES-CMAC is not supported.
  • Captive Portal and Evil Twin share one firmware AP resource.
  • BLE GATT is read-only.
  • ESP32-S2 has no BLE.
  • ESP32-C3 and classic ESP32 have no native USB-OTG, so MSC/BadUSB are unavailable.
  • Full-image USB reflashing only; OTA is not planned for 4 MB boards.

Next

  • Deferred: FastPair ID, KARMA/MANA detection, extra export actions.
  • v2: ESP-NOW mesh, mesh chat, distributed sensing, triangulation.
  • Later: IR, Sub-GHz, nRF24, RFID/NFC, LoRa, ESP32-CAM.

Draft firmware release note. Generate final hashes after the tagged CI build.

NRSuite Firmware 1.0.0-beta.1

Pre-release

Choose a tag to compare

@7wp81x 7wp81x released this 21 Sep 10:57

NRSuite Firmware 1.0.0-beta.1

First public beta release of the NRSuite ESP32 firmware.

Pairs with NRSuite Android v1.0.0-beta.1: protocol version 1.0.

Authorized use only. For security research and testing on networks and devices you own or have explicit written permission to test. See LEGAL.md.


What's in this release

Module Boards Description
Wi-Fi Scan All Active AP scan: SSID, BSSID, channel, RSSI, security type
Packet Sniffer All Monitor-mode PCAP capture, fixed channel or hopping, EAPOL-only filter
Deauthentication All Raw 802.11 deauth frame injection, broadcast or targeted
Deauth + Capture All Deauth followed by immediate EAPOL capture for WPA handshake collection
Beacon Spam All Fake beacon injection, random BSSID, hidden SSID support
Captive Portal All SoftAP with async HTTP server and custom HTML upload
BLE HID C3, S3, DevKit Bluetooth keyboard/mouse emulation, DuckyScript execution
BadUSB S2, S3 USB HID keyboard injection via TinyUSB, DuckyScript from storage
Mass Storage S2, S3 USB MSC mode, FAT filesystem, file read/write/delete over USB
Heartbeat All Periodic uptime and free-heap event to the app

Firmware files

File Board MCU Native USB BLE BadUSB / MSC
beta-nrsuite-esp32c3.bin ESP32-C3 DevKitM-1 ESP32-C3 Yes (CDC) Yes No
beta-nrsuite-esp32s3.bin ESP32-S3 DevKitC-1 ESP32-S3 Yes (TinyUSB) Yes Yes
beta-nrsuite-esp32s2.bin ESP32-S2 Saola-1 ESP32-S2 Yes (TinyUSB) No Yes
beta-nrsuite-esp32-generic.bin Classic ESP32 DevKit ESP32 No (CP2102/CH340) Yes No

New to NRSuite? Start with the ESP32-C3: native USB CDC, BLE support, no external UART chip needed, and the cheapest widely-available board.

Each .bin is a merged flash image (bootloader + partition table + app) produced by merge_script.py. Always flash at offset 0x0.


Flashing

Option A: NRSuite Android app (recommended, no PC needed)

  1. Install NRSuite Android v1.0.0-beta.1
  2. Connect your ESP32 via USB OTG
  3. Open the app, go to the flasher screen, select your board and the firmware binary

Option B: esptool

esptool.py --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 beta-nrsuite-esp32c3.bin

Replace the filename and port with your board and system. On Windows the port is COM3 or similar.

Option C: PlatformIO (build from source)

git clone https://github.com/7wp81x/nrsuite-firmware.git
cd nrsuite-firmware
pio run -e esp32-c3 --target upload

Available environments: esp32-c3, esp32-s3, esp32-s2, esp32-devkit.


Verify release artifacts

60152ea65676d2d3e8f1c6a99882184a1cf01055da4d217af35253367555078e  beta-nrsuite-esp32c3.bin
d6e47d7cbb92971f2e048ca4d80441be130dfaf3b1b9ad4fbac4756a0f35b49b  beta-nrsuite-esp32s3.bin
a9bf9457e29d8185a832527558a64a6dfcd2548b3b040f1c91d416cf40dca16f  beta-nrsuite-esp32s2.bin
e02ed6dadfbf473dbbf0da4c9fb18d0b5258a68b11fea562741f43f1c763326e  beta-nrsuite-esp32-generic.bin
sha256sum -c SHA256SUMS

Compatibility

Firmware App Protocol
v1.0.0-beta.1 v1.0.0-beta.1 v1.0

The app negotiates features with the firmware at connect time. Unsupported modules for your board are hidden automatically.


Known limitations (beta)

  • Defense modules (deauth detector, rogue AP detector, AirTag detector) not yet implemented: planned for v1.0
  • ESP-NOW mesh networking not yet implemented: planned for v2.0
  • Classic ESP32 DevKit requires an external CP2102/CH340 USB-UART bridge (built into most DevKit boards)

What's next

See FEATURES.md for the full roadmap.

v1.0: defense modules (deauth detector, rogue AP detector, AirTag/tracker detector)

v2.0: ESP-NOW mesh, multi-node distributed sensing, triangulation, ESP32-CAM node


Reporting issues

  • Bugs / flashing issues -> open an issue using the bug report template
  • Security vulnerabilities in the firmware -> see SECURITY.md, report privately

Built: 2026-09-21: FW_VERSION: 1.0.0-beta.1: Protocol: v1.0