Skip to the content
PCBKitNew board
2 layers67.4 × 42 mmFlipperZeroModule, the printed circuit board in 3D

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

4

README

README.md


GhostMesh

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:

DeliverableLocationStatus
Operator app — the Flipper FAP (C99)flipper-app/working
Backpack firmware — custom Heltec Meshtastic modules (C++)heltec-firmware/working
Board CAD — the GhostMesh PCBkicad/in progress
Case CAD — 3D-printable enclosure (FreeCAD)—planned
Hardware spec — every component, datasheet-trackabledocs/hardware.mdin progress
Wiring schematic — the full system, end to endkicad/ · docs/wiring.mdin 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.

text

   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 .bin from the browser
  • Payload Upload — /put chunked 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 silent stealth 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 → CONFIRM destruct
  • 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:

text

Flipper U_TX (pin 13)  →  Heltec GPIO7  (Serial module RX)
Flipper U_RX (pin 14)  →  Heltec GPIO6  (Serial module TX)
Flipper GND            →  Heltec GND

Then 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

text

pip install ufbt
cd flipper-app
ufbt

Copy 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

Operate the backpack

Reference


License

MIT — see LICENSE.

text

// so light your candles

Parts

23
QtyValueFootprintReferences
310kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR2, R3, R6
21kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4, R5
11N4007Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1
1BME_280Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalJ5
1BuzzerConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ10
1Flipper_10_pinConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ2
1Flipper_8_pinConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ1
1GPS.v3Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ7
1Heltec V3/V4Library:heltech v4U1
1IRLZ44NPackage_TO_SOT_THT:TO-220-3_VerticalQ3
1IR_ReceiverConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ4
1MAX17048Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ6
1PN2222APackage_TO_SOT_THT:TO-92_InlineQ1
1R_PhotoOptoDevice:R_LDR_5.1x4.3mm_P3.4mm_VerticalR1
1SK6812LED_SMD:LED_SK6812_PLCC4_5.0x5.0mm_P3.2mmD2
1SW_WipeButton_Switch_THT:SW_PUSH-12mmSW2
1SwitchConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ9
1TiltConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ8
1UlrasonicConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1coinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ11

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 mmMppt arduino, the printed circuit board in 3D

    Mppt arduino

    anupam-dubey/Solar-MPPT-Charge-Controller

    Arduino SOlar MPPT chrage controller

    34 parts
  • 2 layers148 × 85.2 mmThesis KiCad, the printed circuit board in 3D

    Thesis KiCad

    drewsix9/Thesis_KiCad

    24 parts
  • 2 layers131 × 125 mmIndustry temperature control, the printed circuit board in 3D

    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 mmSpectre tht, the printed circuit board in 3D

    Spectre tht

    mkrmx/spectre

    Sensor de iluminación por medio de Hall + LDR

    51 partsMIT
  • 4 layers99.5 × 76.7 mmROCKET, the printed circuit board in 3D

    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 mmMaatherboard, the printed circuit board in 3D

    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 layers31 × 58 mmAiremote, the printed circuit board in 3D

    Airemote

    Mateix10/Airmote

    A ESP32-based home assistant IR remote

    16 parts