Components and Connectivity
In this two-part article series, Andrei details his CovidTestDrone project—a drone delivery system that allows individuals to receive a self-administered lower nasal swab COVID-19 test at home via a drone and then return the sample to the lab via the same drone after administering the swab. In Part 1, he describes the components, the connectivity and assisting applications for the project.
My CovidTestDrone project enables self-administered COVID-19 tests to be delivered within minutes to patient’s homes via drone delivery and returned to the lab to be analyzed (Figure 1). There is no need for patients to leave their homes nor get into contact with other individuals to get tested. Tests can be provided on-demand meaning that there is no need to wait to get symptoms checked by a general practitioner (GP) in order to get tested. Finally, the tests provided are precise and non-invasive, creating an overall great user experience.
The year is 2021—a year that I am quite sure will be imprinted in our history books. This year and 2020 have been unlike any we have experienced before. We were struck by a blight that nobody saw coming: a virus that threatened our species and science was our best defense. Science is in the frontline of the pandemic. People are working tirelessly all over the world, finding solutions to the many problems the pandemic introduced.
While we are all focusing on the vaccine and frontline workers, there are many working behind closed doors: keeping servers running so we can keep in touch with one another, maintaining law and order in this time of crisis and so on. The truth is that all of us play a significant role in curbing the virus, by doing our parts to maintain and restore balance in these times of crisis. For that, I want to extend a thank you not only to the frontline workers, but to everyone in the world for going above and beyond to rebuild balance in this fragile world.
Editor’s Note: We’re aware that term “COVID-19” technically refers to the disease caused by the SARS-CoV-2 coronavirus and not to the virus itself. That said, “COVID-19” has emerged as the mainstream term used widely to refer to both the virus and the test for the virus. With that in mind, for the purposes of this article we will use terms COVID and COVID-19 in that broader way.
THE COVID TEST
One of the innovations that helped us the most in the pandemic was the release of the COVID test. This was the first step in combatting the virus, enabling us to identify when members of the population had the virus. This allowed appropriate actions to be taken to prevent the virus from spreading from that person. Over time, we iterated over our protocols for administering tests—each country going about a procedure they deemed suitable for testing the population. In Ireland, where I live, people can get a free test provided by the government after a GP inspection confirms the presence of symptoms of the virus in the individual. There is also the option to get a private test, which costs money.
No procedure is perfect. It takes on average 1.3 days to be referred for a testing appointment. There is also a waiting time of about 46 hours to get the results back. But that’s only if the patient gets tested because they have symptoms. Contact tracing can take up to 5 days and only after that can a close contact be scheduled for testing.
There have also been cases when people had to wait over a week to get tested. In Ireland the government provides all people that are waiting to get tested with an income subsidy while they stay at home. This adds a lot of expenses for the government, so it’s in their interest to keep this waiting time as low as possible.
There are many challenges people face when getting tested. It can be very challenging for people living far from a testing center to get tested for the virus. They would need a means of transport to get to the testing facility. Many people that live in the city use public transport to get around. But it’s not a good idea to mix with people—especially when you know that you may have the virus.
Others may be living in rural areas and not have a means of getting to the nearest testing facility or simply may choose not to get tested as it would be too difficult. But even if you own a car, you may not have someone else who can drive you to a center when you’re too ill to get there yourself.
Then there is the problem of the testing center: dozens of people congested together, waiting to get tested. While there is strict hygiene in place, I would personally still feel a bit insecure being in the proximity of another person that is getting tested for the virus. And finally, I must bring up the test itself. After talking to people who had the test, I learned that the experience is not something one would look forward to. Tests should not be a pain to sit through.
With all that in mind, I asked myself how testing can be improved. Particularly how access to testing can be made faster and more comfortable. What if there were no wait times or the need to talk to a GP to get a COVID test? What if you could decide to get tested and get your results back the same day? What if you did not have to wait in long lines at a testing center before getting tested? What if you could get your test done from the comfort of your home? What if administering the swab would be comfortable?
CovidTestDrone (Figure 1) is a drone delivery system that allows individuals to receive a self-administered lower nasal swab COVID-19 test at home via a drone and then return the sample to the lab via the same drone after administering the swab. The application consists of two parts: the drone delivery system itself and the assisting applications built around it. I’ll discuss each of these briefly with the help of Figure 2.
The first step in the process is the purchase of a test. In a private company model, the test will be sold to individuals online. The consumer can purchase the test via the provider’s website and then input their details (address, phone number and so forth). The consumer will then be required to select a time when the test can be shipped to them (Figure 3).
The consumer will then be introduced in the provider’s database. The confirmation stage involves the company introducing the consumer in their consumer messaging client and send them a confirmation text to let them know that their order was placed and confirm the details with them. The provider will also send out another text a day and an hour before the shipment respectively to remind the consumer of the shipping. The consumer can reply to these automated messages at any time to be connected with a support employee (Figure 4).
The next step is shipping the test kit. This is where the drone comes in. The drone base for my project is an NXP Hovergames Drone Kit. This is a reference kit that is highly customizable, easy to assemble and maintain and runs on Dronecode firmware allowing for advanced autopilot deliveries to be executed.
The drone can be monitored live at the base by the workforce through the use of QGroundControl. This is an open-source application used to plan routes for drones to execute and monitor them during flight. This means that the exact location, pitch, yaw and roll, and compass readings along with all other onboard sensor readings can be monitored remotely, in real time through QGroundControl.
The drone can also be controlled remotely via QGroundControl. Commands can be given to the drone if for example it has to return or if there has been a change in the flight plan. This allows full control over the functionality of the drone remotely if an unexpected occurrence were to happen. The drone streams live footage back to the base station via the Nav-Q on-board computer. This device streams a video feed from a camera mounted on the drone live to the QGroundControl application (Figure 5).
The drone has been customized to carry a COVID-19 self-administered testing kit with it. Self-administered tests are lower nasal swabs and non-invasive—meaning that they are a gentle swab and do not require to be pushed deep in the nose and mouth like traditional swabs. A container has been attached to the drone to securely ship the test in a climatically controlled environment. There are specific guidelines for the transport of specimens to ensure that they do not get damaged. According to the CDC, samples must be shipped to the lab for analysis within 72 hours. During this time, they must be stored between 2°C to 8°C on dry ice.
This shipping container has been designed to ship tests with these shipping conditions in mind to ensure the maximum accuracy of the tests. I built this shipping solution from scratch to ensure its perfect integration with the system. The container has a locking mechanism that requires the consumer to input a PIN to open the container and extract the test. This ensures that only authorized individuals have access to the test kit and specimen. The device is also equipped with a helpful LED to indicate if the container is locked or unlocked and signal any errors with the shipment (Figure 6).
The device uses GSM connectivity to transmit key data back to the base. The device gathers information such as its geolocation, as well as if the container is open or closed. This data is reported to an online dashboard which can be accessed from the base. Operators can also control the container remotely via the dashboard—the unlock PIN can be changed and the container can be locked and unlocked together with other functions.
The container is also equipped with a variety of sensors that collect crucial data while in operation and report it live to the backend. The device is equipped with a temperature and humidity sensor allowing the temperature and humidity of the container to be streamed live to the backend ensuring that the kit is held in appropriate conditions.
The container is also equipped with an IR break-beam sensor, which checks if the test kit is in the container and reports this live to the backend (Figure 7). This allows the operator to always know if the test kit is in the container. The drone will be loaded with a test at the hospital or base station, a route for the drone to get to its destination will be planned using QGroundControl and the drone will then be instructed to take off. When the drone lands, the provider will inform the consumer where the drone landed (for example, in the backyard) and will provide the PIN to open the container via the messaging client.
The consumer will then open the container and extract the test. They will then go indoors to administer the swab and place it back in the box according to the guidelines provided. The consumer can let the operator know that the container was put back in the drone and that it is ready to take off. The operator checks to make sure that the container is locked through the dashboard and that the test kit is in the container and then instructs the drone to return to base/deliver tests directly to a laboratory (if in range).
The PIN is provided to the individual in charge of handling the test. If the drone returned to base, the operator would open the container and ship the test to a laboratory. If the drone returned to a lab, the container would be opened, and the sample would be analyzed there. The drone can take off from the lab after the sample was extracted and return to base, thus completing a journey.
This section will delve into the business and research aspects of the project. It will outline use cases and will analyze the product’s place in the market if it were developed and launched. This section will also discuss finances regarding the development and operation of the project.
Use case: developed countries: The main focus of the project is to provide the population with a rapid and innovative solution to getting tested for COVID-19. In our busy lives, we are all looking for the easiest way to get things done. COVID-19 testing is not an experience that we look forward to. In addition to the fear associated with a positive test result, we also fear the procedure of getting tested. Getting a swab stuck up one’s nose is not a comfortable experience. An account I saw on Medium.com described it as “having your brain tickled, or, alternatively, stabbed”.
Some of us might find it difficult to get to the test center in the first place. Maybe we lack a means of transport or there is not a center located nearby. There is also the problem of time, we want to get our results back as soon as possible so that we can return to our routines. But it may take days to get an appointment at a testing center in the first place.
CovidTestDrone was designed to resolve all these issues by shipping tests to consumers via drone delivery. This system uses self-administered tests, which do not require the nasopharynx probed. In other words, the swab can collect a sample by swabbing the lower area of the nostril and the tongue gently. This test, when administered properly, can offer as much precision as invasive tests.
By delivering the test to the consumer, the consumer does not need to expose themselves to the public and potentially infect others. It is also more comfortable for the test to be administered at home as the patient does not need to stress about getting to the testing center and back. Finally, more healthcare workers can focus on treating cases of COVID-19 in the hospital as opposed to testing the population for the virus. This adds efficiency to the system.
The product would be targeted at people of any age. The service will be geared toward people in the middle, upper middle and higher economic backgrounds if it is supplied privately. The test will be priced in line with other private solutions that offer quick results that range between €180 to €250 in Ireland (that’s equivalent to $220 to $300 in US dollars). The location of the individual is very important in the case of this project. The drones can only operate 2km to 3km away from base. Therefore, only a zone with a diameter of 6km can be served by one implementation. Of course, multiple bases can be constructed to cover more areas. It is important that the individuals who purchase the test have a place for the drone to land. This would ideally be a garden or a back yard.
Use case: developing countries: While developing the project, I kept hearing about the challenges facing testing in developing countries. Countries like India and Bangladesh were facing significant issues supplying tests at the start of the pandemic. And, as this article is going to print, India is the middle of a severe resurgence of COVID-19. Bangladesh has recently created a testing kit that has a final cost of only $3 but with questionable accuracy.
The problem in developing countries is getting testing kits to remote cities and villages. Bangladesh, by February 2021, had a testing rate of 18,167 per million people. This is compared to 712,544 in England. This clearly indicates that there are not enough tests being carried out. This is due to the challenges faced getting tests to the people.
The drone can be modified for use on a larger scale in developing countries. The drone can ship quantities of 20 to 50 tests to areas that may not have a test center nearby. Local authorities can administer the non-invasive swabs and then package the tests back in the drone. The drone can then fly the tests back to the lab to get tested. Results can then be sent back digitally or via post.
Only 2% of Bangladesh’s population report having a car. In these conditions, getting to a testing center miles away can be simply impossible for a person with COVID-19 symptoms. Developing countries can also be confronted with a lack of hygiene and social distancing in testing centers. Tests can be provided for free as part of a humanitarian project in the region or by the government. This way, people that would not have had access to testing can now get tested for the virus.
The target market in developing countries consists of people living in an area which does not have a testing center or that live too far away from the center and have no means of travelling there safely. Tests can be delivered in larger quantities to remote places and then returned for testing using a drone.
Product in the marketplace: As previously mentioned, the product can be provided by both private companies and the government. The difference in approach will be detailed in this section. If the product is implemented as part of a government scheme, it would make sense to restrict the areas where the product is provided to suburbs outside the primary city where access to testing may be limited or difficult to arrange. Alternatively, the service could be provided in busy neighborhoods throughout the country where there is a high demand for testing in order to reduce the stress on healthcare workers and hospital infrastructure. The service can be provided for free or the state could cover the cost of the test and the cost of its analysis while the individual pays for the transportation costs. The system can scale adequately to whatever demand there may be.
A laboratory is needed to analyze the specimen for COVID-19. If the company is operating with a few drones in a limited area, a contract can be signed with a private lab in the area to analyze tests. Under this model, the drone can be programmed to fly the specimen to the lab (after collecting it from the user) and then fly back to base after the specimen was extracted. Alternatively, the drone can fly back to base and the test can be posted to the lab. If larger areas are catered to using a lot of drones, it may be ideal to also have a testing lab at the base. This is perfect for high testing demand and can dramatically reduce the time it takes to get the results back.
DRONE COST ANALYSIS
This section will walk you through the cost of all components needed for the drone as well as maintenance costs. Table 1 breaks down the costs of constructing one drone. All costs including production are included for both the drone itself, the container as well as the Nav-Q module. As can be seen in Table 1, the total cost per unit is around $1,164 (€955). Table 2 shows a cost analysis of the maintenance costs per drone. That table shows that the IoT costs for communicating with the backend amount to around $24 (€20) a month per drone. This was calculated considering the device being online for 8 hours a day, 6 days a week. Repairs and replacements average to around $49 (€40) a month.
The product is geared toward the premium market. This is done for multiple reasons. Primarily, the service provided—drone delivery—is novel in the field and a premium feature unique to CovidTestDrone. It would undermine the market for the test to be cheaper than other competitor options considering this premium feature. The second justification for a premium pricing plan is to ensure that demand does not exceed supply. The system works best when implemented on a lower scale, hence, if the demand for the product skyrocketed, it would take longer for the consumers to receive their results. This would in turn blight the reputation of the implementation.
I analyzed consumers’ reactions to multiple aspects of the project over the course of conducting it. The general census online is that people would rather get tested from the comfort of their homes than be tested away provided the test result is as accurate. By analyzing Google Trends, one can deduce that there is a relatively high demand for self-administered COVID tests. Ireland ranks 4th among countries with the most demand for the phrase “covid home test”. This shows that people are interested in this market.
By analyzing Google Trends again for the phrase “drone delivery”, we can see that there is a very high search rate for this phrase with Ireland ranking second globally. This shows that people are interested in the concept of drone delivery and would like to try it out themselves. Together this data shows that people are interested in the product and have a demand for it.
What are the competitors in this space? There are two categories of competitors: government issued tests and private companies providing self-administered tests. Table 3 shows the services offered by each solution. As can be seen in the table, there are multiple services provided by the different types of competitors. There are numerous services listed. Each competitor has a check if the service listed is provided by their solution. You can see that traditionally administered tests lack speed and are done at a test center. Traditional self-administered tests don’t offer secure shipping and fast results.
No system in the world is perfect, including CovidTestDrone. There is one main challenge that CovidTestDrone faces—weather. Being a medium weight drone, it cannot resist strong winds while flying. The device is also not waterproof so flying the drone in rain can cause it to break. Another potential issue is obstacle avoidance. The device needs to be able to avoid obstacles while flying. I did not manage to implement this aspect of the project but I’ll address this later with details on implementation, costs and benefits in the Future Vision section of this article.
The CovidTestDrone device has several unique selling points, summarized as follows:
1) Rapid shipping time—less than half an hour to and from consumer
2) Secure shipping—the test is shipped in recommended conditions in a special container
3) Ease of ordering test—the test can be ordered with ease online
4) Non-invasive, lower nasal swab—comfortable swabbing experience
5) Test administered at home—no need to go anywhere, no need to be in contact with anyone
6) Rapid results—results can be received as soon as the day the test was administered
CovidTestDrone was designed with deployment and scalability in mind. I built a fully operational prototype of the project that accomplishes all the tasks it sets out. There are a few steps that must be taken to turn this prototype into a finished product.
The project and all third-party software are fully open source. This means that all the design documentation, code and apps (except for IoT Central) are free to use. Feel free to check out the project’s GitHub repo  to see the source code and design files used for the project. Open source has always been very important to me. I believe that transparency is the key to developing technological products. The open-source standard allows anyone in the world to develop a version of this product with their own resources without needing to worry about legal burdens. In a world ever reliant on technological innovation, open source takes down barriers for creators and innovators and allows them to come up with solutions in record time.
As mentioned previously, the project was designed with scalability at heart. It is essential that the product can scale to tens and hundreds of units without encountering problems. The drone kit chosen is produced by NXP and is relatively inexpensive compared to other solutions. The container is built with off-the-shelf components meaning that assembly and production is easy and that all components are available in large quantities.
The enclosure of the container can be 3D printed or CNC machined easily with all design files being open source. This reduces the production time and labor required to put everything together. It can be made of acrylic or another material as desired. I chose IoT Central especially for its great scalability. It is designed to suit the demand of thousands of companies around the world with secure and stable servers. Their pricing plan scales excellently when compared with other alternatives and the services provided are brilliant. Overall, the product can be successfully and easily scalable to whatever quantity is needed.
CUSTOM PCB FOR CONTAINER
It would be ideal for a custom PCB to be designed for the container. I chose to wire everything together on a breadboard in the prototype so I could make changes to the design easily. A PCB is essentially a custom designed circuit board used to solder all components onto. This is done to ensure all components are soldered in place and there is no electrical interference. Fritzing  is a company that has a program that allows for PCBs to be developed and sent for printing. The circuit board can be returned soldered with all components mounted and ready to go within days. This is a very useful service that I would personally recommend.
At present, the Nav-Q module is attached to the top of the drone without being enclosed. This is not ideal for deploying the product in the field as the device could get damaged by natural factors such as rain. An enclosure can be custom designed, and 3D printed for the Nav-Q device. The drone kit I used is a reference kit. This means that it is designed especially for constructing prototypes. While the drone can be perfectly suited for mass production and implementation, it is recommended to consider whether a custom-built drone would suit better.
For example, a provider might decide that the container should be bigger to accompany larger testing kits or perhaps deliver multiple tests as in the developing countries use case. The provider might choose to keep the components but extend the arms of the drone and change the propellers. The provider might choose to relocate the container to the top of the drone and extend that part of the drone too.
A base station must be set up from where the operation can be monitored. This station should be strategically located at the center of the area of operation that the drone will cover. The drone can only fly 2km to 3km from base unless altered, hence the operational distance is 2km to 3km from base. It would be ideal if a COVID-19 testing lab were in the range of the drone. This way the drone would be able to ship the sample directly to the lab after picking it up, effectively reducing the transport time.
A small workforce should also be employed to manage the operations. Keeping the case study in mind, I would employ a support member that can handle customer queries, an operator that would plan the routes and upload them to the drone, a technician who can take care of repairs needed and prepare the drones for flight and a manager who can ensure everything is working fine. A freelance accountant can be employed to cut costs.
Drones and IT equipment must be purchased when setting up the business. The base will need computers (one computer with multiple monitors to track the progress of multiple drones in the sky at the same time for the operator and maybe a larger monitor showing the IoT Central dashboard overview with all devices plotted on a map). Battery charging stations should also be used to charge drone batteries, so they are prepared for use.
This section will walk you through some ideas I have that I didn’t manage to implement in the project yet and how to add them to the project.
Use drone power supply for container: The container currently uses a power bank for power. This works perfectly but it would be more convenient and practical for the container to use the drone’s power supply. This would mean that there would be no need for a power bank and only one battery would be needed. To implement this, a power regulator  needs to be implemented to step down the voltage of the battery to 5V. This should be connected to the power delivery board on the drone and then to the MKR GSM module to provide it with power.
Onboard computer for obstacle avoidance: PX4 allows for onboard computers to control the drone. This essentially allows another device connected to the drone via the USB port to send commands to the drone. This can expand the abilities of the drone by adding more sensors and functions that the flight management unit (FMU) does not have.
A great implementation of this is through obstacle avoidance. A companion computer with an onboard camera can be used to analyze the terrain ahead of the drone and run machine learning algorithms to detect obstacles such as trees and buildings and their position relative to the drone. The computer can then calculate a heading and/or altitude change needed to avoid the obstacle and send the command to the drone. It will then process the changes needed to return on track and send them to the FMU.
The NavQ computer can be used for this. The device is specially designed for the drone and so it is easy to put together. I would recommend running OpenCV  on it. Models for identifying objects like trees and buildings are publicly available open source and ready to go, they may need a little fine tuning considering they were probably not built with drones in mind. The machine learning algorithms and ROS (robot operating system) software  used to interface with the PX4 FMU need to be integrated together for this implementation to work.
Drone tracking for consumer: Another interesting opportunity is to provide the consumer with a means of tracking the exact location of the drone as it is flying to their home. This would improve the user experience and is inspired by Amazon Prime shipping and Domino’s pizza tracker, which provide the exact location of the package as it is being delivered to the consumer.
The easiest way to do this is by creating a data pipeline to export data live from IoT Central to Power Bi  (a dashboard service provided by Microsoft). A dashboard can be created to display the location of the package live. This dashboard can be shared with the consumer with a temporary link. This will allow them to view the location of the drone for a limited period of time. A tutorial for doing this can be found here .
Develop application for autonomous route planning: Another idea is to develop an application that autonomously plans the route to the consumer’s home for the drone. This would consider the elevation at different stages of the journey as well as any buildings that are in the way. It will then set waypoints to avoid these obstacles and save this as a flight plan, which can then be uploaded into QGroundControl. This would save a lot of time spent by the human workforce on planning the route of the drone and would also assure that the route planned is viable. This data can be accessed through Google Maps or Bing Maps APIs.
The application would first draw a straight path from the base to the destination and check the altitude and large obstacles, such as tall buildings and mountains in the way. The app would then add waypoints to change the altitude and/or the heading at different points to avoid these obstacles. The app would then create a flight plan, which can be uploaded into QGroundControl.
Extensive testing was conducted to ensure that the systems on the drone function adequately (Figure 8). Testing was conducted in three phases. I first tested the container and NavQ modules separately. This test involved streaming video from the NavQ for one hour and a half and leaving the container on and connected to IoT Central for six hours.
During this time, I opened and closed the container by using the PIN and remotely. I also changed the settings remotely to identify any potential bugs. Several bugs were discovered and fixed during this process. I then moved on to testing the drone and QGroundControl thoroughly. I went to a local park and planned out missions for the drone to execute via QGroundControl and then monitored the drone as it executed them (Figure 9). I also flew the drone manually. This helped me ensure that the drone was operating adequately.
Finally, I mounted the container and the Nav-Q modules on the drone and tested the solution as a whole. I did this by simulating a scaled version of the flight plan the drone would have to take to deliver the test to and from the patient. I opened the container and placed a mock test kit inside and then closed the container. I then planned the route the drone should take and then let the drone take off, fly to the destination and then land. I connected the drone and my laptop to a mobile hotspot and monitored the parameters and video feed during flight.
When the drone landed, I opened the container, extracted the test, put it back, armed the drone and then uploaded the flight plan to get the drone back to base. I repeated this a couple of times. The only problem I had was with the range on my radio transceivers. They seemed to disconnect when the drone was more than around 15m away. The drone would nevertheless finish its flight plan successfully. I repeated this a couple of times on multiple days.
 XP HoverGames drone kit from NXP
 Telemetry Radio from Holybro
 Drone Battery from HRB (5,000mAh, 3S, XT60)
 Arduino MKR GSM 1400 from Arduino
 Power Bank from KSIX
 Keypad from Kitronik
 Servo from Kitronik
 Logic Level Converter from Aliexpress
Arduino | www.arduino.cc
Fritzing | www.fritzing.org
Hologram | www.hologram.io
Kitronik | https://kitronik.co.uk/
Microsoft Azure | www.azure.microsoft.com
NXP Semiconductors | www.nxp.com
PX4 Autopilot | https://px4.io
QGroundControl | http://qgroundcontrol.com
PUBLISHED IN CIRCUIT CELLAR MAGAZINE • JULY 2021 #372 – Get a PDF of the issue