Skip to content
 
 

Repository files navigation

FreeFCC Custom

Upgraded open-source FCC unlock for DJI smart controllers with a screen

License: AGPL-3.0 GitHub release Downloads Support on Ko-fi

A free, hardened, and open-source Android app that unlocks FCC mode (5.8 GHz & 2.4 GHz), sends experimental 4G activation frames, and queries device telemetry on DJI smart controllers with a screen (DJI RC, RC 2, RC Pro, RC Plus).

ℹ️ Fork & Upstream Attribution:
This repository is a custom fork derived from and combining the discoveries of doesthings/FreeFCC and danusha2345/SkylabFCCfree, deeply re-engineered for stability and performance.

🔹 Foundation from doesthings/FreeFCC:

  • Core DUML framing (0x55 with CRC-8/CRC-16) and localhost TCP socket routing (40009/40007).
  • Event-driven Auto FCC via Android Accessibility on DJI Fly Home Point announcements.
  • Auxiliary LED (03:F8) and GPS master enable (0xC5429582) parameter controls.
  • Local Wi-Fi LAN diagnostic HTTP bridge.

🔹 Integration from danusha2345/SkylabFCCfree:

  • Radio region commit (06:72) and Wi-Fi channel group mappings (07:30, 07:18, 07:19) required for 5.8 GHz band-switching.
  • Targeted 4G service mode switch frame (0x51:0x1A) over Unix domain socket (/duss/mb/0x205).
  • Low-overhead 10-second send-only periodic keepalive approach.

🚀 Exclusive Hardening & Enhancements in NobodySan97/FreeFCC-Custom:

  • In-Flight Floating Overlay Widget: Draggable, always-on-top pill that floats over DJI Fly, showing real-time FCC status and enabling instant one-tap FCC re-triggers or mode switching during flight without leaving the camera feed.
  • Complete CleanDesigner UI Rework: Modern Jetpack Compose interface with Glassmorphism, Material You theming, and a Side Navigation Rail designed specifically for landscape DJI controller screens (DJI RC, RC 2, RC Pro, RC Plus) with 52dp thumb/glove-friendly touch targets.
  • 5.8 GHz & 2.4 GHz Dual-Band Sblocco: Complete DUML sequence with isolated country write sessions (07:30) ensuring reliable 5.8 GHz FCC engagement.
  • Ultra-Low-Overhead 10s Periodic Auto FCC: Streamlined send-only keepalive eliminating continuous polling, drastically reducing CPU, network, and battery overhead during flight.
  • Multi-Tier Concurrency & Thread-Safety: Atomic HardwareLock and DumlPortSessionLock architecture across the UI, floating button widget, and background services, eliminating socket interleaving and CRC errors.
  • Optimized Quad-Core Performance: Throttled accessibility scans with native memory handle recycling (node.recycle()) for seamless, lag-free operation alongside DJI Fly (<2% CPU load).
  • Hardened Dual-CRC Telemetry & Serial Parsing: Full CRC-8 and CRC-16 validation before packet extraction to eliminate false-framing sync hazards.
  • 100% Telemetry-Free Architecture: Clean, zero-tracking, zero analytics, R8-optimized binaries, and automated SHA-256 release checksum generation.

Disclaimer

This software is provided for educational and research purposes only. Modifying radio transmission parameters may violate laws and regulations in your country or region. In most places, increasing radio power beyond what is legally permitted for your area requires authorization from the relevant regulatory authority.

You are solely responsible for ensuring that your use of this software complies with all applicable local, regional, and national laws. The author of this project accepts no liability for any damage, legal consequences, or regulatory action arising from the use of this tool.

This project is not affiliated with, endorsed by, or sponsored by DJI. Using this tool may void your warranty and DJI Care Refresh coverage.


⚡ Features

Feature Description
FCC Unlock Switches the radio from CE to FCC mode for higher power and more channels (dual-band 2.4 GHz & 5.8 GHz)
Auto FCC (Home Point) Event-driven mode that re-applies FCC automatically whenever DJI Fly sets a new Home Point
Auto FCC (10s Periodic) Low-overhead send-only keepalive that pushes FCC frames every 10 seconds without continuous readback
4G Activation Sends targeted 4G service mode frames to the aircraft (0x51:0x1A, experimental)
GPS & LED Control Direct toggle and verification of aircraft auxiliary LEDs and master GPS parameters
Device Info & Telemetry Displays detected aircraft model name/code, controller code, and factory serial number
In-Flight Floating Overlay Interactive, draggable on-screen pill over DJI Fly showing real-time FCC status and one-tap re-triggering
In-App Auto-Updater Automatically checks for updates and installs the latest APK directly from GitHub Releases
LAN Diagnostic API Optional local Wi-Fi HTTP bridge for live logs, diagnostics, and DUML inspection
100% Free & Telemetry-Free No ads, no tracking, no paid activations, and fully open-source

Note on altitude/distance/NFZ unlock: The 120m CE altitude limit is enforced by the DJI Fly app via a C0 class runtime flag on every connection. DUML commands alone cannot bypass this limit—it requires modifying the DJI Fly app itself or flashing patched firmware.


📥 Download

Download Link
Latest Release (APK) GitHub Releases
Helper Apps Archive (zip) freefcc.pages.dev/downloads/freefcc-helpers.zip

🛠️ Quick Installation Guide (DJI RC / RC2)

No PC is required—installation is done directly on the controller via a microSD card.

  1. Format the microSD card in the RC2 first: Insert the card into your controller, open Android Settings $\rightarrow$ Storage, and format it as portable storage.
  2. Download files: Download the latest FreeFCC-Custom.apk and freefcc-helpers.zip. Extract the zip and place the APK inside the helper folder on your microSD card.
  3. Install system helpers: In the controller file browser, install 01_PackageInstaller and 02_FileManager.
  4. Restart controller: Hold the power button to reboot.
  5. Install Launcher & App: Open 03_ATVLauncher, navigate to Files, and install FreeFCC-Custom.apk.
  6. First Launch: Open FreeFCC Custom once to allow background permissions and status notifications.

🚀 How to Use

  1. Power on your drone and link it to the controller.
  2. Open FreeFCC Custom and choose your preferred mode:
    • Auto FCC — Home Point (Recommended): Automatically applies FCC upon Home Point match. Enable FreeFCC Custom Home Point Test in Accessibility Settings when prompted.
    • Auto FCC — every 10 sec: Pushes FCC frames periodically in background via send-only bursts.
    • Floating Action Button: Enable the on-screen overlay widget to see live FCC status and trigger one-tap re-applies directly over DJI Fly.
    • Send FCC Request: One-shot manual trigger.
  3. Tap Open DJI Fly to launch the flight app.
  4. Enjoy extended range and higher transmission power with the floating status pill on screen.

📊 How Do I Know If It Worked?

In the DJI Fly app, open Settings $\rightarrow$ Transmission and check the signal graph:

FCC Mode (Active) CE Mode (Stock)
FCC mode CE mode
Signal line extends far past the 1km mark Signal line cuts off around the 1km mark

🛸 Compatibility

Drone Controller FCC (2.4/5.8 GHz) 4G Modem Status
DJI Mini 5 Pro RC2 ✅ Working N/A Full FCC + LED
DJI Mini 4 Pro RC2 ✅ Working N/A Full FCC
DJI Air 3 / Air 3S RC2 ✅ Working N/A Full FCC
DJI Mavic 3 / Mavic 4 Series RC Pro / RC Pro 2 ✅ Working Experimental Full FCC
DJI Neo 1 / Neo 2 RC2 ✅ Working N/A Full FCC
DJI Avata 2 / Avata 360 RC2 ✅ Working Experimental Full FCC + LED
DJI M30T / Matrice 350 RC Plus ✅ Working Experimental Full FCC

☕ Support the Project

If FreeFCC Custom helped you unlock your DJI drone's full transmission potential, consider supporting ongoing development, reverse-engineering, and hardware testing:

Support on Ko-fi


📜 License & Credits

About

Free FCC unlock Android app for DJI smart controllers, with telemetry and in-flight controls.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages