Supported Boards¶
NRSuite firmware is chip-family based rather than tied to one specific devkit. The same firmware target can run on devkits and compact SuperMini, Mini, and Nano-style boards using the same ESP32 family.
Board names and pin layouts vary by manufacturer. Choose the target by:
- MCU family: ESP32, C3, C5, S2, or S3.
- Flash size: the release layout targets 4 MB flash.
- PSRAM: choose
esp32-s3-psramonly when the S3 board has 2 MB QSPI PSRAM. - USB transport: native USB CDC/JTAG or an external UART bridge.
Target selection¶
| MCU / board family | Example boards | Environment | Native USB | BLE | BadUSB / MSC | Release image |
|---|---|---|---|---|---|---|
| ESP32-C3 | DevKitM-1, C3 SuperMini, C3 Mini, C3 Nano | esp32-c3 |
Usually | Yes | No | esp32c3 |
| ESP32-C5 | DevKitC-1, compatible C5 Mini/Nano variants | esp32-c5 |
Usually | Yes | No | esp32c5 |
| ESP32-S3, no PSRAM | DevKitC-1, S3 SuperMini, S3 Mini, S3 Nano | esp32-s3 |
Yes | Yes | Yes | esp32s3 |
| ESP32-S3 with 2 MB PSRAM | N4R2-class DevKitC-1, PSRAM-equipped S3 variants | esp32-s3-psram |
Yes | Yes | Yes | esp32s3-psram |
| ESP32-S2 | Saola-1, S2 Mini, S2 Nano | esp32-s2 |
Yes | No | Yes | esp32s2 |
| Classic ESP32 | DevKit, WROOM, NodeMCU, Mini/Nano-style boards | esp32-devkit |
External UART bridge | Yes | No | esp32classic |
Compact boards may expose USB through native USB, a USB-UART bridge, or both. Verify which USB port is connected and check the active transport in the app.
Is my board supported?¶
A board is usually compatible when:
- It uses one of the supported ESP32 MCU families.
- It has at least 4 MB flash.
- It exposes USB serial through native USB or a UART bridge supported by Android.
- Any required PSRAM-specific image is selected for S3 PSRAM boards.
Boards with more than 4 MB flash can still run the 4 MB release layout, but the extra flash is not used by the current release images.
ESP32-S3 PSRAM¶
esp32-s3-psram is intended for S3 boards with 2 MB QSPI PSRAM, including
ESP32-S3 DevKitC-1 N4R2-class boards and PSRAM-equipped SuperMini/Mini/Nano
variants.
PSRAM is used for large sniffer queues with an internal-RAM fallback. Boards
without PSRAM must use the regular esp32-s3 target.
ESP32-S2 exclusions¶
ESP32-S2 builds do not provide:
- Captive Portal
- Evil Twin
- NRuGochi
The Android app disables the corresponding cards and displays
Not supported on ESP32-S2.
ESP32-S2 also has no BLE radio. BadUSB, MSC, WPS, IR, and other supported S2 features remain available.
ESP32-C5 memory variability¶
ESP32-C5 boards are not all equivalent. Available heap and the largest allocatable block can vary by board revision, bootloader/Arduino core version, enabled firmware features, active modules, and USB versus UART transport. A C5 variant that passes a memory check in one configuration may fail it in another.
Do not assume that memory behavior from one C5 board applies to every C5 board. Check the live values in Devices before starting memory-heavy modules.
ESP32-C5 BLE HID¶
C5 BLE HID startup uses a memory guard of at least:
Some C5 variants pass this guard and can start BLE HID; others may be rejected with a structured low-memory error. This is board/runtime dependent, not a universal C5 limitation. Do not lower the release guard based on the test-only C5 heap diagnostic profile.
GPIO and peripheral wiring¶
GPIO numbers are board-specific. Before using IR, LD2450, PN532, or other peripheral features, configure the pins in the relevant App category or Settings screen. Use the firmware-provided safe GPIO choices and avoid pins used by USB, flash, boot strapping, or the UART command link.
Transport¶
Native-USB boards expose the NRSuite protocol over native USB CDC/JTAG. UART0 is also supported, including classic ESP32 boards and compact boards that use an external CP2102, CH340, or FTDI bridge.