Inspiration

The goal of this project is to enable communication in denied and hostile environments where traditional methods of communication may fail or be actively disrupted.

What It Does

Shade provides a system for short-range communications with the following features:

  • Short-range communication: Each node operates within a range of approximately 100 meters.
  • Stealthy operation: Messages are transmitted as standard BLE (Bluetooth Low Energy) advertisements, blending in with typical BLE traffic.
  • Low-cost hardware: The system is designed to use attritable and affordable nodes, making it accessible for diverse use cases.
  • Secure data transport: It supports optionally encrypted text transmission for enhanced privacy.
  • Flexible environment: Shade is compatible with ESP32 and Android 10+ devices.

How We Built It

The system leverages BLE advertisements for communication, employing the following techniques:

  • Connectionless communication: Transmissions are sent without establishing a persistent connection, reducing overhead and improving stealth.
  • Randomized MAC addresses: Each message uses a random MAC address, which also serves as the message ID.
  • Checksum validation: Device names carry a checksum to ensure data integrity.
  • Broadcast-only mechanism: Messages are broadcast without any acknowledgment (ACK) mechanism, ensuring simplicity and scalability.

Challenges We Ran Into

  • We had no prior experience with Kotlin, Android app development, or Bluetooth communication development
  • Using the Bluetooth stack on ESP32 for multiple roles (observer, central, broadcaster) simultaneously is difficult
  • Configuring ESP-IDF dev environment and getting ready was a big learning curve

Accomplishments That We're Proud Of

  • Successfully demonstrated short-range, connectionless communication using low-cost, off-the-shelf devices.
  • Designed a stealthy communication system that hides in plain sight as BLE advertisements.
  • Built a scalable and attritable solution that can operate effectively in denied environments.

What We Learned

  • How to use Kotlin
  • How do develop Android Apps
  • How BLE communications initiation works
  • BLE advertisements provide an underutilized yet effective method for data transport in constrained environments.

What's Next for Shade

  • Expand encryption options: Further enhance security features for more robust data protection.
  • Optimize range: Explore methods to increase the effective communication range while maintaining stealth and efficiency.
  • Integrate new platforms: Add support for more hardware and operating systems (iOS) to expand accessibility.
  • Field testing: Test system performance in real-world environments.

Built With

Share this project:

Updates