

FlipperZeroModule
Meshtastic + Flipper Zero integration for offline red team comms — remote Bad USB, killswitch, and mesh-based C2 over LoRa
- Size
- 67.4 × 42 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 23
- Nets
- 62
- Pads
- 119
- Tracks, vias
- 165, 18
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 3 May 2026
- Updated
- 30 Aug 2026
Overview
FlipperZeroModule is an open-source printed circuit board by ComplacencyKillz, from the ComplacencyKillz/GhostMesh repository on GitHub, published under the MIT licence. It is a 2-layer board of 67.4 × 42 mm with 23 parts on 62 nets, routed with 165 tracks and 18 vias.
It is built around the BME280, IRLZ44N and PN2222A, with the SK6812 among its other parts. Its parts include 11 connectors, 6 resistors, 2 diodes, 2 transistors and 1 IC. It belongs with the radio and wireless boards of this library.
Main components
4BME280
LGA-8(2.5x2.5)-40℃~+85℃ 0%RH~100%RH 1.71V~3.6V 1.8uA 16bit I2C、SPI ±0.5℃ ±3%RH LGA-8(2.5x2.5) Temperature and Humidity Sensor ROHSBoschTemperature And Humidity SensorIRLZ44N
TO-22055V 47A N-Channel HEXFET® Power MOSFETInfineon TechnologiesUncategorisedPN2222A
TO-92-3-55℃~+150℃ 1 NPN 1A 300MHz 300mV 40V 625mW NPN TO-92-3 Bipolar (BJT) ROHSNTE ElectronicsBipolar (BJT)SK6812
SMD-4P,5.4x5mm-40℃~+85℃ 0.6mA 1.6mm 120° 160mcd~320mcd 1kHz 2000V 280mcd~515mcd 3.7V~5.5V 460nm~470nm 520nm~530nm 620nm~625nm 800Kbit/s 815mcd~1275mcd Built-in power-on reset circuit Semi-transparent lens SMD-4P,5.4x5mm RGB LEDs(Built-in IC) ROHSOPSCO OptoelectronicsRGB LEDs(Built-In IC)
README
README.mdGhostMesh
A deployable red-team mesh platform — planted sensors, encrypted command-and-control, line-of-sight control, and a destruct — running on nothing the target owns.
GhostMesh is a backpack that snaps onto a Flipper Zero — then detaches and stays in the field. Attached, it turns your Flipper into a long-range mesh radio: messaging and control over LoRa, no phone, no cell, no internet, nothing the target controls. Detached and planted, it becomes an autonomous node — watching its own perimeter, holding its place on the mesh, and taking orders by line-of-sight IR from you or over the encrypted mesh from your team. Drop it, walk away, and it stays yours.
This repository is the framework — the sensing, signaling, and command backbone that offensive capability is built on top of. It reports, it takes commands, and it erases itself on capture. Unlicensed by design.
What's Here
Everything to build one, end to end — all of it open source:
| Deliverable | Location | Status |
|---|---|---|
| Operator app — the Flipper FAP (C99) | flipper-app/ | working |
| Backpack firmware — custom Heltec Meshtastic modules (C++) | heltec-firmware/ | working |
| Board CAD — the GhostMesh PCB | kicad/ | in progress |
| Case CAD — 3D-printable enclosure (FreeCAD) | — | planned |
| Hardware spec — every component, datasheet-trackable | docs/hardware.md | in progress |
| Wiring schematic — the full system, end to end | kicad/ · docs/wiring.md | in progress |
The two software halves work today. The board is being designed; the case, the finished component spec, and the whole-system schematic follow it. The transmission — ghostmesh.info.
How It Works
The backpack is a shield. It plugs onto the Flipper Zero's GPIO header, taps the three pins it needs — TX, RX, GND — and passes the header through to the Heltec and sensor stack riding on top. One board. It runs from its own battery; the Flipper runs from its own. The header is the only link, and it's a link you can break on purpose.
ATTACHED — comms terminal DETACHED — planted node
┌──────────────────────┐ ┌──────────────────────┐
│ backpack │ pull off │ backpack │ ))) mesh → teammate's Flipper
│ Heltec + sensors │ ───────▶ │ on its own battery │
│ ══ GPIO header ══ │ ◀─────── │ sensing · on mesh │ ~~ IR → your Flipper
│ Flipper Zero │ snap on │ │
└──────────────────────┘ └──────────────────────┘Attached — a comms terminal. The backpack rides on the Flipper, which drives it over the header link: send and receive over the LoRa mesh, read telemetry, work the Control screen. Your handheld is now a long-range, infrastructure-free field radio.
Detached — a planted node. Pull the backpack off. The header disconnects; it keeps running on its own battery as an isolated asset — sensing its surroundings, holding its place on the mesh, waiting.
Controlled from anywhere.
- The original operator reaches the planted node by line-of-sight IR — arm, disarm, or fire the destruct without touching it.
- Teammates reach it over the encrypted LoRa mesh — status, indicators, wipe, from any Flipper on the private channel.
What Works Today
Operator terminal — Flipper FAP
- Send / receive text over the mesh; canned message profiles (3 built-in + up to 5 from SD YAML)
- RX history, RSSI / SNR, marquee display, dated CSV logging (→ KML via
tools/log_to_kml.py) - Live telemetry: temperature / humidity / pressure (BME280), GPS position, battery %
- Menu-hub UI with Control (IR arm / disarm / wipe), encrypted config backup, and a live Settings screen
Web configurator — ghostmesh.info/config (Chrome/Edge, USB, no install)
- Live node config over Web Serial (
/set//cfg) — every setting as a slider/toggle - Firmware flasher (esptool-js) — flash the latest build or your own
.binfrom the browser - Payload Upload —
/putchunked file transfer to the node's flash, CRC32-verified
Backpack — custom Heltec firmware
- Tamper detection: tilt (moved), photoresistor (case opened), ultrasonic proximity (RCWL-1601, approach)
- Arming gate — sensors report only when armed; flipped by a switch, the mesh, or IR
- Indicators: buzzer, vibration motor, RGB status LED (colors + a green↔red gradient)
- Mesh command CLI —
/cmd @target: status, arm/disarm, buzz, vibrate, led, fx,/set//cfg,/put, wipe - Configurable everything: per-command mesh replies on/off, a
silentstealth mode (screen + LEDs + buzzer/vibration off), per-sensor battery gating, GPS/telemetry rate control — all live, no reflash - IR line-of-sight control (NECext): arm / disarm / the
ARM → WIPE → CONFIRMdestruct - Destruct: armed-gated complete flash erase — firmware, config, and channel keys wiped to USB download mode; recover by reflash + encrypted-backup restore
Hardware
- KiCad schematics for the Flipper and Heltec modules (board layout in progress)
Full phase-by-phase status: docs/roadmap.md.
What You Need
The GhostMesh backpack — the custom board that integrates all of this into one Flipper shield — is under active development (kicad/). Until it's fabricated, you build on off-the-shelf parts:
Core — send / receive over the mesh:
- Flipper Zero
- Heltec WiFi LoRa 32 V3 (ESP32-S3 + SX1262) + a 915 MHz antenna
- A LiPo for the Heltec (independent of the Flipper battery)
- A PINGEQUA protoboard to seat the Heltec on the Flipper's GPIO header — the dev stand-in for the real board, not the product
Full backpack — sensing + security: adds a BME280, a GPS module, tilt / photoresistor / proximity sensors, an IR receiver, a buzzer, a vibration motor, and their driver parts.
The complete bill of materials — every component, GPIO, and driver circuit — is in docs/hardware.md.
Quick Start
1. Flash Meshtastic to the Heltec
Visit flasher.meshtastic.org, select Heltec WiFi LoRa 32 V3, flash, and set your region. See docs/meshtastic-setup.md for the private-channel configuration you'll want before any real use.
2. Connect the backpack (three signals)
On the backpack PCB these run through the GPIO header automatically. On the bench, jumper them:
Flipper U_TX (pin 13) → Heltec GPIO7 (Serial module RX)
Flipper U_RX (pin 14) → Heltec GPIO6 (Serial module TX)
Flipper GND → Heltec GNDThen configure the Meshtastic Serial module: PROTO mode, RX 7, TX 6, 115200, override-console OFF. Not GPIO43/44 — the CP2102 USB bridge clamps those on battery. Never bridge the power rails — the backpack and Flipper each run from their own battery. See docs/wiring.md.
3. Build and install the FAP
pip install ufbt
cd flipper-app
ufbtCopy dist/ghostmesh.fap to SD:/apps/Tools/ on the Flipper, or ufbt launch over USB. See docs/flipper-setup.md.
4. (Optional) Build the backpack firmware
The custom Heltec modules build on top of stock Meshtastic. See heltec-firmware/README.md.
5. Run
Apps → Tools → GhostMesh. The title bar shows ... during the handshake (~3 s), then RDY, then the backpack's battery %. You land on the menu hub — Messages, RX History, Sensors, Control, Status, Backup. See docs/user-guide.md.
Documentation
Start here
docs/overview.md— the system end to end: architecture, concepts, the platform vision
Build & operate
docs/hardware.md— full BoM, GPIO allocation, powerdocs/wiring.md— pinouts, driver circuits, sensor wiringdocs/meshtastic-setup.md— Meshtastic config, private channelsdocs/flipper-setup.md— ufbt build & installheltec-firmware/README.md— building the backpack firmwaredocs/user-guide.md— the FAP, screen by screen
Operate the backpack
docs/command-cli.md— the mesh command CLI + wipe safetydocs/opsec.md— encryption, the destruct, stealth, metadata
Reference
docs/developer-guide.md— architecture, ISR rules, contributingdocs/serial-modes.md— PROTO framing & protobuf field numbersdocs/roadmap.md— the phased plan (Phases 0–14)docs/red-team-lab-use-cases.md— authorized use cases
License
MIT — see LICENSE.
// so light your candlesParts
23| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2, R3, R6 |
| 2 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R4, R5 |
| 1 | 1N4007 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D1 |
| 1 | BME_280 | Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_Vertical | J5 |
| 1 | Buzzer | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J10 |
| 1 | Flipper_10_pin | Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_Vertical | J2 |
| 1 | Flipper_8_pin | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J1 |
| 1 | GPS.v3 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J7 |
| 1 | Heltec V3/V4 | Library:heltech v4 | U1 |
| 1 | IRLZ44N | Package_TO_SOT_THT:TO-220-3_Vertical | Q3 |
| 1 | IR_Receiver | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J4 |
| 1 | MAX17048 | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J6 |
| 1 | PN2222A | Package_TO_SOT_THT:TO-92_Inline | Q1 |
| 1 | R_Photo | OptoDevice:R_LDR_5.1x4.3mm_P3.4mm_Vertical | R1 |
| 1 | SK6812 | LED_SMD:LED_SK6812_PLCC4_5.0x5.0mm_P3.2mm | D2 |
| 1 | SW_Wipe | Button_Switch_THT:SW_PUSH-12mm | SW2 |
| 1 | Switch | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J9 |
| 1 | Tilt | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J8 |
| 1 | Ulrasonic | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | coin | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J11 |
Questions
How big is the FlipperZeroModule PCB?
It measures 67.4 × 42 mm and has 2 copper layers, 1.6 mm thick.
What parts does the FlipperZeroModule use?
23 parts, built around the BME280, IRLZ44N, PN2222A and SK6812. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the FlipperZeroModule KiCad files?
From the ComplacencyKillz/GhostMesh repository on GitHub, at the commit this page was made from: the board is kicad/FlipperZeroModule/FlipperZeroModule.kicad_pcb and its schematic kicad/FlipperZeroModule/FlipperZeroModule.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the FlipperZeroModule design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers80 × 120 mm

- 2 layers148 × 85.2 mm

- 2 layers131 × 125 mm

Industry temperature control
IaMdEvJaXoN/industry_temperature_control_system
This project entails Dallas Temperature sensors sending data to the ESP32 which then determines the PWM output to the actuators after the PID engine runs.The ESP32 also sends telemetry to Firebase RTDB which then sends…
32 parts - 2 layers64 × 50 mm

- 4 layers99.5 × 76.7 mm

ROCKET
Pingu207/ROCKET
Designing and building a TVC rocket controlled by a custom PCB wired to a ESP32-WROOM board
113 parts - 2 layers94.1 × 85.5 mm

Maatherboard
wwwansarmhd2-ctrl/Cryofrost-PCB
A single-sided PCB controller motherboard designed for an environmental test chamber (CryoFrost) driven by an ESP32, featuring precision temperature/humidity control, thermoelectric Peltier cooling, ultrasonic…
44 parts - 2 layers80 × 60 mm

UQS Theseus HARVEST Control Boad
yoganshbhalla/payl_theseus_2026_HW
Repository containing all Payload PCBs and FW for Theseus 2026
58 parts - 2 layers31 × 58 mm
