Reverse-Engineering The Holy Stone H120D Drone

A laptop communicating with the drone via an Arduino

There are plenty of drones (and other gadgets) you can buy online that use proprietary control protocols. Of course, reverse-engineering one of these protocols is a hacker community classic. Today, [Zac Turner] shows us how this GPS drone can be autonomously controlled by a simple Arduino program or Python script.

What started as [Zac] sniffing some UDP packets quickly evolved into him decompiling the Android app to figure out what’s going on inside. He talks about how the launch command needs accurate GPS, how there’s several hidden features not used by the Android app, et cetera. And it’s not like it’s just another Linux SoC in there, either. No, there’s a proper Real-Time Operating System (RTOS) running, with a shell and a telnet interface. The list of small curiosities goes on.

After he finished reverse-engineering the protocol, he built some Python scripts, through which you can see the camera feed and control the drone remotely. He also went on to make an Arduino program that can do the latter using an Arduino Nano 33 IoT.

5 thoughts on “Reverse-Engineering The Holy Stone H120D Drone

  1. I’m conflicted. This is AI slop, but also neat to expose and publish an interface spec that others might use for a cool project. I wish the human had been more involved with their own project. 2/3 commits are just an LLM writing submission docs for Hackaday… I come away feeling like I just ate junk food with my brain.

    1. I actually read the code and I’m not sure what you’re on about. Did they utilize AI with this, yes but the code isn’t the ultraverbose slop that AI generates.

      There are only 3 commits, you are being melodramatic with your, “2/3 commits are just an LLM”. You are letting your bias interfere with your perception.

      1. I wasn’t intentionally writing a ratio, there are literally just three commits at the time I wrote that. You read melodramatic tone into my words.
        I’m just saying that the writeup is stylistically stilted and obviously LLM output. I would really like to see this used for something cool.

        As for my bias… we don’t need to get into this. I love and use LLMs all day. I work in industry and enjoy having an agent write whole tools for me. I’ve done similar hacks. I would never present them as original work.

        1. Hi, I wanted to share my project in case others could use the time I put into it – I’m an amateur, ill admit it – but this is my original work. i cited my references within my github as well. I just wanted to share what I made, for the love of tearing things down. :D

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.