I’ve been recently looking into building custom drones for a light show. A drone light show is a fleet of drones with lights that fly synchronously to display an image or animation in the sky.
Each drone has a GPS tracking device to ensure proper distance and movement. One central base station on the ground has a laptop running the Skybrush server (more about that later), which communicates to the drones with movement controls and flight plans.
My first step was researching software and what kind most people use. Was it free? What drones can it run on? Etc. Some quick googling revealed an excellent software called SkyBrush. Skybrush is open source and offers all the steps from planning your sky layout to executing the formation.
Using their software starts with Blender (or SkyBrush Studio). They offer a blender plugin that lets you control speed and formation, which you can later export to code for the SkyBrush server to use on the field. Full page here.
After finding SkyBrush, I looked at building custom drones. First, I found this article on the subject from DojoforDrones a couple of months ago. It’s a detailed post on how he built and configured drones to work with SkyBrush and perform full drone shows. He got away with spending about $899 on each drone. (He used a kit that he offered on his website for $899.)
One of the most expensive parts of the setup ended up being the GPS. You would imagine using the same technology as any $200 Android would be cheap. However, the GPS system that he (and many others) used was using RTK (Real-Time Kinematics). Essentially, it uses not only one satellite, as in a standard GPS device but a minimum of 4 satellites; this improves accuracy as you get the full “3D” tracking of the satellites in different places in orbit. In addition to 4 satellites, you also use a base station that provides correction data to the drone.
↴ Fun Fact
There are 4 current GNSS sattelite companies (countries):
- Global Positioning System (United States)
- GLONASS (Russia)
- Galileo (EU)
- BeiDou (China)
www.geospatialworld.net/blogs/what-are-the-various-gnss-systems/
One major con to this system is price. Pricing can be a minimum of $200 to quickly going over $400 just for the GPS system. The most popular one I’ve seen others use is the HolyBro F9P, primarily for its accuracy and “Plug’n’Play” with Skybrush and ArduPilot. The main reason SkyBrush doesn’t recommend using a standard cheap GPS device is its accuracy, which is not good enough for drones to operate close to each other without homing fails and possibly crashing with the other drones mid-flight. There is also an FAQ that answers this.
There is also a super detailed video by DroneDojo on YouTube that tests the actual field differences in GPS systems. I encourage you to watch the whole thing, but the main synopsis is at 19:02
Another factor in the base station setup is a Wi-Fi router. This communicates to the drones to update any pre-flight plans and to update information on the Skybrush server running on the laptop. Most people I’ve seen use a standard home Wi-Fi router they had lying around, and that seemed to do the trick. But this also requires each drone to have Wi-Fi onboard, which is relatively cheap, with good ones going for about $45.
I briefly mentioned ArduPilot earlier; ArduPilot is the base firmware you would run the drone off of and what SkyBrush installs next to. ArduPilot (or ArduCopter, a branch) can run on almost any correctly wired flight controller, ranging from cheap to expensive. Also, being open source, it has many branches and modifications available for almost any hardware (foreshadowing next post). A popular flight controller I see referenced with SkyBrush is the HolyBro Pixhawk 6C. While not the cheapest option, it is the most Plug’n’Play with out-of-the-box support for the LEDs I would mount on the drone and the RTK Module.
However, I have found exciting leads on cheaper alternatives to the most expensive parts of this project, including a more affordable RTK module…
That will be covered in the next part of this series. In the meantime, I created a read-only Discord server that will be the main update to this project before blog posts.
Useful links:
SkyBrush FAQ https://doc.collmot.com/public/faq/latest/index.html
very interesting and you wrote it so even I could understand it 🙂
Opa