Hello everyone! I'm Francesco, a young developer with a strong passion for technology.
I started this project because I wanted to make a drone based on raspberry pi and universal windows platform (UWP). To make this happen, I had to use windows 10 IoT core running on raspberry pi 2/3.
The idea is simple: you get drone's hardware except for receiver and transmitter that are replaced by a raspberry pi and a windows 10 device.
How does it work
I've made a universal app called “Drone” that runs on a windows 10 device (master) and on the raspberry pi (slave). The raspberry pi exposes an access point (AP), which it can be used to connect a windows 10 device through wi-fi connection. Using an xbox one controller, connected through bluetooth connection to a windows 10 device, you can send commands to the drone. Then the raspberry pi is connected to the flight controller through serial connection (USB). Thanks to multiwii serial protocol, which is the protocol used to communicate with the flight controller, I can simulate the RC controller.
[Update]: The new setup is based on 4G/LTE connection, so in order to replace the wi-fi connection I've made a web app called “DroneRemote” that uses web socket to allow the communication between the drone and the controller.
There is a problem with wi-fi connection range. Raspberry pi 3 has a small antenna, this can be solved using a wi-fi usb dongle with an external antenna. During some tests, I've notice that using a Lumia 950XL as controller after 2/3 minutes the connection is not stable. I've solved this using a Windows 10 tablet (Dell Venue 8 Pro) to run Drone app. I've also tried to use an xbox one 360 controller connected directly to raspberry pi, but the range is limited to 10 meters. However, if you have any ideas about to how to improve signal strength or how to extend connection range, please fell free to share. Thanks.
[Update]: I solve the connection range problem using 4G/LTE connection between the drone and the controller. I was worried about the connection latency, but I've noticed that is less than 100ms.
News – Updated on 03-18-2017
I've added the GPS module, it's working properly, but for now I can only read data from it, so I able to get the drone position on a map.
I'm working on the implementation and testing of a brand new setup based on 4G/LTE communication between the drone and the controller using web sockets. I've made a simple web app hosted on Azure.
Read More: Drone Pi: A Windows 10 Raspberry Pi Drone