Skip to content

An open-source GPIO module designed for Flipper Zero that combines 2.4 GHz Wi‑Fi and 433 MHz Sub‑GHz into one small board.

License

Notifications You must be signed in to change notification settings

0xMartin/TweenWave

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TweenWave Logo

Wi‑Fi & Sub‑GHz GPIO Module for Flipper Zero

PCB v2.1 Firmware: Marauder 1.8.6 Radios: Wi‑Fi 2.4 GHz + 433 MHz Designed in EasyEDA

An open-source GPIO module designed for Flipper Zero that combines 2.4 GHz Wi‑Fi and 433 MHz Sub‑GHz into one small board.

Real photo of TweenWave

TweenWave module plugged directly into the Flipper Zero GPIO port


The module is designed to be as compact as possible, with replaceable antennas and the ability to remain permanently installed in the port. Two micro switches allow you to activate or deactivate the Wi‑Fi and Sub‑GHz radios, preventing unnecessary power draw when not in use.

Real photo of TweenWave
TweenWave module (real photo of first prototype)
Render of TweenWave
3D render of TweenWave (current version)

Important

📦 Manufacturing Files

Gerber files, Bill of Materials (BOM), and Pick and Place data for PCB manufacturing are available in the ./export directory.


✨ Key Features

🔌 Hardware

  • Direct GPIO plug-in – No wiring needed
  • Dual radios – Wi‑Fi 2.4 GHz + Sub‑GHz 433 MHz
  • Replaceable antennas – 2× SMA female connectors
  • Power switches – Independent Wi‑Fi/Sub‑GHz control
  • Compact design – Optimized RF layout

💻 Software & Chips

  • ESP32-PICO-V3-02 – Wi‑Fi connectivity
  • TI CC1101 – Sub‑GHz transceiver
  • Marauder compatible – ESP32 Marauder support
  • Easy updates – UART firmware flashing
  • Status LEDs – Visual indicators

📋 Technical Specifications

Category Details
Radios Wi‑Fi 2.4 GHz (ESP32‑PICO‑V3‑02)
Sub‑GHz 433 MHz (TI CC1101)
Antennas 2× SMA female connectors (Wi‑Fi + 433 MHz)
Power Supplied from Flipper GPIO (3.3V, GND)
ESP32 Interface UART/Serial via Flipper GPIO
Firmware update via external USB‑TTL
CC1101 Interface SPI bus (shared with Flipper)
Indicators Status and power LEDs
Compatibility Flipper Zero with GPIO header
Dimensions Compact form factor, designed for permanent installation

Tip

Exact pin mapping and signal routing are documented in the schematic below (📐 Technical Documentation section).


⚡ Power Consumption

📊 Click to view Power Consumption Measurements

Power consumption measured using oscilloscope in different operating modes:

Power consumption - Evil Portal mode
Evil Portal Mode – Power consumption during Evil Portal operation
Power consumption - ESP32 Deauth
ESP32 Deauth Detail – Detailed ESP32 power draw during deauthentication activity
Power consumption - CC1101 Detail
CC1101 Detail – Detailed CC1101 power draw during read/replay activity

[!NOTE] These measurements help you understand the power requirements when using the module with Flipper Zero. Use the power switches to disable unused radios and save battery.


⚙️ Quick Start Guide

Step-by-Step

  1. 📡 Attach Antennas

    • Connect 2.4 GHz antenna to the Wi‑Fi SMA connector
    • Connect 433 MHz antenna to the Sub‑GHz SMA connector
  2. 🔌 Install Module

    • Carefully plug the module onto Flipper Zero's GPIO header
    • Ensure proper alignment and secure connection
  3. ⚡ Enable Radios

    • Use micro switches to enable Wi‑Fi and/or Sub‑GHz as needed
    • LEDs will indicate active radios
  4. 🚀 Start Experimenting

    • Use Flipper's serial/terminal to interact with ESP32
    • Integrate CC1101 into your Sub‑GHz workflows

Warning

Never transmit without antennas connected! This can damage the RF stages.


🛠️ ESP32 Marauder Firmware

Note

The firmware is a port of ESP32 Marauder (v1.8.6) by justcallmekoko, specifically adapted for the ESP32-PICO-V3-02 chip. The project has been migrated to PlatformIO for easier compilation and flashing.

📥 Precompiled Binaries

Download precompiled .bin files from repository releases: MARAUDER_v1.8.6_ESP32_PICO_V3_02.zip

The release package contains:

  • 🔧 bootloader.bin – ESP32 bootloader
  • 💾 firmware.bin – Main firmware image
  • 🐛 firmware.elf – Debug symbols (optional)
  • 📊 partitions.bin – Partition table

🔥 Flashing Precompiled Binaries

Requirements:

Steps:

  1. Connect Module

    # Connect ESP32-PICO-V3-02 via USB-TTL adapter (use the bottom GPIO pins, TX, RX, GND and Vcc)
  2. Flash Firmware

    esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z \
        0x1000 bootloader.bin \
        0x8000 partitions.bin \
        0x10000 firmware.bin

    💡 Adjust /dev/ttyUSB0 to match your serial port (Windows: COM3, macOS: /dev/cu.usbserial-*)

🏗️ Building from Source with PlatformIO

Steps:

  1. Install PlatformIO (VS Code extension or CLI)
  2. Open the Firmware directory in PlatformIO
  3. Select the ESP32-PICO-V3-02 environment
  4. Click Build to compile
  5. Click Upload to flash directly

Tip

For detailed build instructions, refer to PlatformIO documentation or the original Marauder firmware README.


📐 Technical Documentation

🔍 Click to view Schematic
Circuit Schematic Complete circuit schematic with pinout details
🔍 Click to view PCB Design
PCB Top View
Top View – Component placement
PCB 3D View
3D View – Layout visualization

⚠️ RF Safety & Compliance

Warning

Important Safety Information

📻 RF Safety

  • ✅ Use properly tuned antennas for 2.4 GHz and 433 MHz
  • NEVER transmit without antenna connected – can damage RF stages
  • 📏 Observe local regulations and duty‑cycle/ERP limits for ISM bands
  • 🔬 Lab/experimental use only – not certified for commercial use

⚖️ Legal Compliance

  • User is fully responsible for legal compliance and safe operation
  • Verify local RF transmission laws before use
  • Some features may be restricted in certain jurisdictions

🚫 Usage Restrictions

  • Do NOT use in life‑support systems
  • Do NOT use in safety‑critical applications
  • Do NOT use in mission‑critical systems

🛡️ This device is intended for educational and research purposes only.


❓ Frequently Asked Questions

Does it support ESP32 Marauder?

✅ Yes! The ESP32‑PICO‑V3‑02 is fully wired and compatible with ESP32 Marauder firmware. Precompiled binaries are available in releases.

Is CC1101 fixed to 433 MHz only?

The PCB design and RF matching network are optimized for 433 MHz. While the CC1101 chip can technically target other Sub‑GHz bands, you'll need to:

  • Verify the matching network is suitable
  • Check your local RF regulations
  • Use appropriate antennas
Where can I find the pinout?

📋 Complete pinout and signal routing are documented in the schematic: doc/sch.png

See the 📐 Technical Documentation section above.

Can I use this module permanently?

✅ Yes! The module is designed to remain permanently installed in the Flipper Zero GPIO port. The micro switches let you disable radios when not needed to save power.

What antennas should I use?

Use standard SMA antennas:

  • 2.4 GHz antenna for Wi‑Fi (2.4-2.5 GHz)
  • 433 MHz antenna for Sub‑GHz (typically 430-440 MHz)

Ensure antennas are properly tuned for best performance.


📦 Part List

Comment Designator Footprint Value Manufacturer Part Manufacturer
TS-1088-AR02016 BOOT,RESET SW-SMD_L3.9-W3.0-P4.4 TS-1088-AR02016 XUNPU(讯普)
100nF C9,C15,C22,C36 C0603 100nF CC0603KRX7R9BB104 YAGEO(国巨)
10uF C10,C14 C0603 10uF CL10A106MP8NNNC SAMSUNG(三星)
1.2pF C12 C0201 1.2pF GRM0335C1H1R2BA01D muRata(村田)
100uF C23,C25,C26 CASE-B_3528 100uF TAJB107K006RNJ Kyocera AVX
100uF C24 CASE-B_3528-1 100uF TPSB107K006R0250 Kyocera AVX
100nF C27,C28 C0402 100nF CC0402KRX7R7BB104 YAGEO(国巨)
3.9pF C29,C30 C0402 3.9pF 0402CG3R9C500NT FH(风华)
220pF C31,C34 C0402 220pF CC0402JRNPO9BN221 YAGEO(国巨)
8.2pF C32 C0402 8.2pF CC0402BRNPO9BN8R2 YAGEO(国巨)
5.6pF C33 C0402 5.6pF CC0402BRNPO9BN5R6 YAGEO(国巨)
1.5pF C35 C0201 1.5pF GRM0335C1H1R5BA01D muRata(村田)
15pF C39,C40 C0402 15pF CC0402JRNPO9BN150 YAGEO(国巨)
PZ254V-11-10P H2 HDR-TH_10P-P2.54-V-M PZ254V-11-10P XFCN(兴飞)
PZ254V-11-08P H3 HDR-TH_8P-P2.54-V-M PZ254V-11-08P XFCN(兴飞)
22nH L4 L0402 22nH LQG15HS22NJ02D muRata(村田)
27nH L6,L7,L8 L0402-RD 27nH LQG15HS27NJ02D muRata(村田)
1.8nH L9 L0201-RD 1.8nH LQP03TN1N8B02D muRata(村田)
TZ-P2-0402RTIA1-0.45T LED4,LED5,RX,TX LED0402-RD_RED TZ-P2-0402RTIA1-0.45T TUOZHAN(拓展光电)
10K R24,R25 R0603 RC0603DR-0710KL YAGEO(国巨)
470Ω R28,R29,R31,R33 R0402 470Ω 0402WGF4700TCE UNI-ROYAL(厚声)
56kΩ R32 R0402 56kΩ 0402WGF5602TCE UNI-ROYAL(厚声)
- RF3,RF4 SMA-SMD_BWSMA-KE-P00 - BWSMA-KE-P001 BAT WIRELESS(蝙蝠无线)
MK-12D18-G020 SW3,SW4 SW-TH_MK-12D18-G040 MK-12D18-G020 G-Switch(品赞)
ESP32-PICO-V3-02 U4 QFN-48_L7.0-W7.0-P0.50 ESP32-PICO-V3-02 ESPRESSIF(乐鑫)
CC1101RGPR U5 QFN-20_L4.0-W4.0-P0.5-1 CC1101RGPR TI(德州仪器)
26MHz X5 CRYSTAL-SMD_4P-L3.2-W 26MHz X322526MMB4SI YXC(扬兴晶振)

📜 License & Credits

🔧 Hardware License

Note

The license for this repository applies ONLY to the hardware design:

  • PCB design (schematics, layout, Gerber files)
  • 3D Case design (models and manufacturing files)

💻 Software & Firmware

This repository includes software components with their own separate licenses:

ESP32 Marauder Firmware

  • 📁 Located in: Firmware/ directory
  • 👨‍💻 Original author: justcallmekoko
  • 🔗 Original project: ESP32Marauder
  • ⚙️ This repository contains: Port/adaptation for ESP32-PICO-V3-02 chip
  • 📄 License: See original Marauder repository for license terms

Evil Portal HTML Files

  • 📁 Located in: portals/ directory
  • 👥 Authors: Multiple contributors (see below)
  • 📄 Credits: Full list in portals/README.md

👨‍💻 Contributors

🔧 Hardware Design

0xM4R71N

PCB design, 3D case,
Marauder port for ESP32-PICO-V3-02

💻 Original Firmware

justcallmekoko

ESP32 Marauder
firmware author

🌐 Portal Pages

Multiple Authors

Evil portal HTML files
(see portals/README.md)


🌟 If you find this project useful, please consider giving it a star!

GitHub stars

Made with ❤️ for the Flipper Zero community

About

An open-source GPIO module designed for Flipper Zero that combines 2.4 GHz Wi‑Fi and 433 MHz Sub‑GHz into one small board.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published