Developed in 2016 | The IOT Group

Project Briefing

ROAM-e was an innovative flying co-axial drone, equipped with advanced facial detection and recognition technology. This technology was the cornerstone of ROAM-e’s ability to offer a unique, personalized drone experience. Once it was trained to recognize a user’s face, ROAM-e could be set to exclusively follow that individual, adeptly distinguishing their face from all others in the vicinity. This feature was made possible through the application’s communication with the drone over a LAN connection, enabling not just responsive following but also precise joystick control and other rapid actions.

ROAM-e boasted two primary features: ‘Selfie Mode’ and ‘Joystick Mode’. In Selfie Mode, the drone utilized its onboard facial recognition technology to autonomously follow its user, perfect for capturing dynamic, hands-free selfies and videos. Meanwhile, Joystick Mode provided a more traditional drone-flying experience, giving the user full control over the drone’s movements with joysticks.

The facial recognition technology itself was built upon the robust OpenCV framework, uniquely employing C++ over Python to take full advantage of its low-level performance capabilities, ensuring faster, more efficient recognition and tracking. This sophisticated use of technology positioned ROAM-e not just as a drone but as a highly responsive, personal flying camera, redefining the possibilities of personal photography and videography.

Technical Details

  • Both iOS and Android applications are native, written in Swift 4 and Kotlin respectively.
  • The drone side application, specifically the facial recognition module, was written in C++, using the OpenCV 3 framework. To implement a lower-compute cost for the facial detection recognition, I used SIFT feature detection alongside HAAR facial detection algorithms.
  • I created a custom TCP communication protocol in order to allow the drone and the iOS / Android application to communicate to each other. Outside of this custom protocol, large blocks of raw MJPEG data was streamed to allow the drone to share its ‘livestream’ to the application.



The IOT Group could not make this product financially viable, especially when comparing the product to the costs of other drones. As such The IOT Group has since gone out of business and the app is no longer available on the App Store.