Awesome
RIDS - Remote ID Spoofer
An ESP8266/NodeMCU Drone RemoteID Spoofer. Built based on work done by sxjack and SpacehuhnTech. I stand on the shoulders of giants.
This spawns 16 different fake drones broadcasting RemoteID, with them all flying in random directions around a particular GPS location.
Do check that whatever device you're using to detect the drones can sniff packets from the air fast enough. If you're using OpenDroneID available on the App Store or Play Store, you'll have to disable scan throttling for your device, and run the app for ~5-10 minutes before all 16 drones are actually "in the air". You may also have to switch off Wi-Fi, disconnecting from your usual local network on your Android device, for the Wi-Fi chip to be able to scan.
<img src="./images/proof.jpg" width="600">Installation
- You need the Arduino IDE.
- Open the file
RemoteIDSpoofer/RemoteIDSpoofer.ino
. - Now go to
Tools
>Boards
>Boards Manager
, searchesp8266
(oresp32
if you're using an ESP32) and installESP8266 Boards
(oresp32
by either vendors). - Select your board at
Tools
>Board
>ESP8266 Boards
(oresp32
). It's most likely theGeneric ESP8266 Module
. - Plug in your device, and select its COM port at
Tools
>Port
. - Press
upload
, or use Ctrl+U. - The device should start broadcasting RemoteID packets generated for random flying machines.
Usage
Pro Tip: There is no need to do these steps everytime you use the device, once the parameters are set, they are remembered across power cycles. Configuration is only needed when when parameter change is desired.
- After the installation steps, connect to the wireless access point
ESP_RIDS
using the passwordmakkauhijau
on any device, a smartphone will work well enough. - Go to the website
192.168.4.1
on the connected device. - There, input your own GPS coordinates.
- Start spoofing!
If no GPS coordinates are used within 2 minutes of startup, the device will automatically go into spoofing mode and you will not be able to change the coordinates without a power cycle.
To-Do List (In order of importance)
- ESP32 support
- Make it so drones don't wander away over time (something like
new_location = old_location + 0.5 * progress + 0.5 * (home - old_location)
)- Fix resulting motions
- Get time from browser (possibly with this)
- Configurable number of drones in the air
- Save config onboard
- Use valid RIDs and have option to select region
- Automated CI (I have no idea how to do this)
- Get GPS from browser? (Requires SSL certs on frontend)
- Make Frontend look nicer
Disclaimer
This repository and its code are intended for educational purposes only. Neither the ESP8266, nor its SDK were meant or built for such purposes. Bugs can occur!
It is also (probably) illegal to be broadcasting fake RemoteID packets in public airspace, in the same way that spoofing ADS-B packets is illegal. Whatever manner you wish to use this on is at your own discretion, we don't take any responsibility for what you do with this software.