Delivering the MVP Software for a Drone Battery Charging and Data Management Unit
Spryte Verified
Description
Our client is a company that delivers an automatic drone battery charging and data management system for aerial photography. They were looking for an experienced engineering team to develop software for it. Charging drone batteries along with sorting and copying data produced during a whole day of shooting is a pain for all drone pilots. Our client decided to make their lives easier by creating a device that manages batteries and copies data from a drone’s SD card to cloud storage. To develop software for drone battery charging, our client needed a team with experience in embedded and mobile app development, virtualization, and reverse engineering.
Challenges
Drone owners needed to be able to control the drone battery charging process, manage data on a drone’s SD card, and upload that data to the correct endpoints. The main requirements for the project were the following: Automatically define the type of battery and monitor its power condition Display and control the battery charging process from mobile apps Upload data from a drone’s SD card to AWS instances Allow for interaction with the charging kit via Wi-Fi, BLE, and LTE Preview recorded media from the SD card in mobile apps Provide support for automated over-the-air updates.
Solution
To deliver this project, we planned to: Create Linux software and firmware for Pine ROCK64 Develop cloud-based infrastructure Deliver Android and iOS apps that allow drone pilots to control the system After discussing the project with the client, we planned four key stages: 1. Project discovery. Before the development, we reverse engineered Pine ROCK64 to study how it manages batteries and communicates with mobile apps and other hardware. 2. Proof of concept. We implemented basic functionalities like drone battery management, communication with AWS, and data management. We tested these features on a Linux virtual machine (VM) to avoid waiting for a real device. Also, we delivered the iOS application with basic unit management features. 3. Demo alpha version. We added possibilities for OTA updates and automated battery management. We also ensured that the iOS app can communicate with the device via Bluetooth, Wi-Fi, and LTE. 4. Minimum viable product (MVP). To deliver the MVP, we needed to port our software from the VM to the physical target device. At this stage, we discovered a lot of issues with the hardware and worked with the manufacturer, client’s engineers, and third-party experts to solve them.
Project Overview
The tech stacks
Swift
Amazon API Gateway
AWS CodeDeploy
AWS CloudTrail
Dropbox
JSON
Alamofire
iOS
Android SDK
Java
C++
Python
JavaScript
Serverless
Domains
Energy
Technology
Entertainment
Aerospace
Telecom
Project Types
Android App
iOS
Data Analysis
DevOps
Optimization
Product Development
Embedded Devices and IoT
Mobile Development
Cross Platform
Custom Development
Testing (QA)
Automation
Operating System
Web Development
Cloud Infrastructure Management
API Creation
API Integration