# mr4bb1t/r4bb1t_fhc architecture

> Architecture diagram of the GitHub repository mr4bb1t/r4bb1t_fhc, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mr4bb1t/r4bb1t_fhc
- Repository: https://github.com/mr4bb1t/r4bb1t_fhc

## Overview

R4BB1T FHC is an ESP32 handheld cybersecurity toolkit. The user navigates a button-driven menu to select Wi-Fi, sub-GHz, or 2.4 GHz functions; the firmware dispatches screen state to handlers that operate radios, display results, or manage device settings. The graph preserves the documented analyzer, portal, signal, storage, localization, and screensaver capabilities. Some feature internals were not sampled, so uncertain links are omitted; relationships shown use the excerpts, source index references, or README.

Main entry points: [`main.cpp`](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/main.cpp) (State Dispatcher), [`Menu_Main.cpp`](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_Main.cpp) (Main Menu), [`Menu_Attacks.cpp`](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_Attacks.cpp) (Wi-Fi Attack Menus), [`Menu_Config.cpp`](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_Config.cpp) (Settings and Storage UI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Firmware and UI"]
  node_firmware["State Dispatcher<br/>[main.cpp]"]
  node_globals["Shared State<br/>[Globals.cpp]"]
  node_ui["UI Components<br/>[UI.cpp]"]
  node_home["Main Menu<br/>[Menu_Main.cpp]"]
end

subgraph group_wifi["Wi-Fi Tools"]
  node_networks["Network Selection<br/>[Menu_Networks.cpp]"]
  node_scanner["AP Scanner<br/>[Scanner.cpp]"]
  node_wifiui["Wi-Fi Attack Menus<br/>[Menu_Attacks.cpp]"]
  node_attacks["Wi-Fi Attack Engine<br/>[Attacks.cpp]"]
  node_portal["Captive Portal<br/>[Captive.cpp]"]
  node_monitor["Packet Monitor<br/>[TrafficMonitor.cpp]"]
  node_bypass["802.11 Bypass<br/>[wsl_bypasser.c]"]
end

subgraph group_radio["Radio Tools"]
  node_rfmenu["Sub-GHz Tools<br/>[Menu_RF.cpp]"]
  node_radio["CC1101 Interface<br/>[Radio.cpp]"]
  node_nrf["2.4 GHz Tools<br/>[Menu_NRF24.cpp]"]
end

subgraph group_device["Device Services"]
  node_settings["Settings and Storage UI<br/>[Menu_Config.cpp]"]
  node_language["Localization<br/>[Language.cpp]"]
  node_battery["Battery Monitor<br/>[Battery.cpp]"]
  node_hardware["Hardware Probe<br/>[HWProbe.cpp]"]
  node_splash["Splash and Saver<br/>[Splash.cpp]"]
  node_filesystem[("SPIFFS Files")]
end

node_user(("Device User"))

node_user -->|"operates"| node_firmware
node_firmware -->|"dispatches"| node_home
node_firmware -->|"dispatches"| node_wifiui
node_firmware -->|"dispatches"| node_rfmenu
node_firmware -->|"dispatches"| node_nrf
node_firmware -->|"mounts and writes"| node_filesystem
node_home -->|"opens"| node_networks
node_home -->|"uses"| node_scanner
node_home -->|"opens"| node_settings
node_home -->|"uses"| node_splash
node_wifiui -->|"invokes"| node_attacks
node_wifiui -->|"controls"| node_portal
node_wifiui -->|"uses"| node_monitor
node_attacks -->|"sends frames through"| node_bypass
node_portal -->|"uses"| node_bypass
node_rfmenu -->|"uses"| node_radio
node_wifiui -->|"reads and updates"| node_globals
node_firmware -->|"checks"| node_battery
node_settings -->|"uses"| node_battery
node_settings -->|"probes"| node_hardware
node_settings -->|"uses"| node_language
node_settings -->|"configures"| node_splash
node_home -->|"draws with"| node_ui
node_wifiui -->|"draws with"| node_ui
node_rfmenu -->|"draws with"| node_ui

click node_firmware "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/main.cpp"
click node_globals "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Globals.cpp"
click node_ui "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/UI.cpp"
click node_home "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_Main.cpp"
click node_settings "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_Config.cpp"
click node_language "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Language.cpp"
click node_battery "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Battery.cpp"
click node_hardware "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/HWProbe.cpp"
click node_splash "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Splash.cpp"
click node_filesystem "https://github.com/mr4bb1t/r4bb1t_fhc/tree/master/data"
click node_networks "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_Networks.cpp"
click node_scanner "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Scanner.cpp"
click node_wifiui "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_Attacks.cpp"
click node_attacks "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Attacks.cpp"
click node_portal "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Captive.cpp"
click node_monitor "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/TrafficMonitor.cpp"
click node_bypass "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/wsl_bypasser.c"
click node_rfmenu "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_RF.cpp"
click node_radio "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Radio.cpp"
click node_nrf "https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_NRF24.cpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_firmware,node_globals,node_ui,node_home,node_user toneBlue
class node_networks,node_scanner,node_wifiui,node_attacks,node_portal,node_monitor,node_bypass toneAmber
class node_rfmenu,node_radio,node_nrf toneMint
class node_settings,node_language,node_battery,node_hardware,node_splash,node_filesystem toneRose
```

## Components

### Firmware and UI

- [State Dispatcher](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/main.cpp): `main.cpp`
- [Shared State](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Globals.cpp): `Globals.cpp`
- [UI Components](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/UI.cpp): `UI.cpp`
- [Main Menu](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_Main.cpp): `Menu_Main.cpp`

### Wi-Fi Tools

- [Network Selection](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_Networks.cpp): `Menu_Networks.cpp`
- [AP Scanner](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Scanner.cpp): `Scanner.cpp`
- [Wi-Fi Attack Menus](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_Attacks.cpp): `Menu_Attacks.cpp`
- [Wi-Fi Attack Engine](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Attacks.cpp): `Attacks.cpp`
- [Captive Portal](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Captive.cpp): `Captive.cpp`
- [Packet Monitor](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/TrafficMonitor.cpp): `TrafficMonitor.cpp`
- [802.11 Bypass](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/wsl_bypasser.c): `wsl_bypasser.c`

### Radio Tools

- [Sub-GHz Tools](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_RF.cpp): `Menu_RF.cpp`
- [CC1101 Interface](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Radio.cpp): `Radio.cpp`
- [2.4 GHz Tools](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_NRF24.cpp): `Menu_NRF24.cpp`

### Device Services

- [Settings and Storage UI](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Menu_Config.cpp): `Menu_Config.cpp`
- [Localization](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Language.cpp): `Language.cpp`
- [Battery Monitor](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Battery.cpp): `Battery.cpp`
- [Hardware Probe](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/HWProbe.cpp): `HWProbe.cpp`
- [Splash and Saver](https://github.com/mr4bb1t/r4bb1t_fhc/blob/master/Splash.cpp): `Splash.cpp`
- [SPIFFS Files](https://github.com/mr4bb1t/r4bb1t_fhc/tree/master/data): `data`

### Other components

- **Device User**

## Connections

- Device User → State Dispatcher: operates (evidence: `README.md`)
- State Dispatcher → Main Menu: dispatches (evidence: `main.cpp`)
- State Dispatcher → Wi-Fi Attack Menus: dispatches (evidence: `main.cpp`)
- State Dispatcher → Sub-GHz Tools: dispatches (evidence: `main.cpp`)
- State Dispatcher → 2.4 GHz Tools: dispatches (evidence: `main.cpp`)
- State Dispatcher → SPIFFS Files: mounts and writes (evidence: `main.cpp`)
- Main Menu → Network Selection: opens (evidence: `Menu_Main.cpp`)
- Main Menu → AP Scanner: uses (evidence: `Menu_Main.cpp`)
- Main Menu → Settings and Storage UI: opens (evidence: `Menu_Main.cpp`)
- Main Menu → Splash and Saver: uses (evidence: `Menu_Main.cpp`)
- Wi-Fi Attack Menus → Wi-Fi Attack Engine: invokes (evidence: `Menu_Attacks.cpp`)
- Wi-Fi Attack Menus → Captive Portal: controls (evidence: `Menu_Attacks.cpp`)
- Wi-Fi Attack Menus → Packet Monitor: uses (evidence: `Menu_Attacks.cpp`)
- Wi-Fi Attack Engine → 802.11 Bypass: sends frames through (evidence: `Attacks.cpp`)
- Captive Portal → 802.11 Bypass: uses (evidence: `Captive.cpp`)
- Sub-GHz Tools → CC1101 Interface: uses (evidence: `Menu_RF.cpp`)
- Wi-Fi Attack Menus → Shared State: reads and updates (evidence: `Menu_Attacks.cpp`)
- State Dispatcher → Battery Monitor: checks (evidence: `main.cpp`)
- Settings and Storage UI → Battery Monitor: uses (evidence: `Menu_Config.cpp`)
- Settings and Storage UI → Hardware Probe: probes (evidence: `Menu_Config.cpp`)
- Settings and Storage UI → Localization: uses (evidence: `Menu_Config.cpp`)
- Settings and Storage UI → Splash and Saver: configures (evidence: `Menu_Config.cpp`)
- Main Menu → UI Components: draws with (evidence: `Menu_Main.cpp`)
- Wi-Fi Attack Menus → UI Components: draws with (evidence: `Menu_Attacks.cpp`)
- Sub-GHz Tools → UI Components: draws with (evidence: `Menu_RF.cpp`)
