Skip to content
This repository was archived by the owner on Jan 10, 2026. It is now read-only.

Indyuce/spresense-drone-detection

Repository files navigation

ESL Semester Project: Edge Drone Detection

Edge drone detection project using Spresense board, Seeed Studio XIAO nRF52 chip, Adafruit ILI9341 TFT Screen, Spresense camera module and Android app.

Content of repository

Folder Content
android_code Code for the DroneFinder Android application
archive Archived test/unused code
assets Various assets, mostly images for this README
draw_convnet Python script to display ConvNets for the report
nrf_arduino_code Arduino code for the XIAO Seeed Studio nRF52 chip
python_code Python TensorFlow code for training and converting TF models to TFLM format
spresense_code Arduino code for the Spresense mainboard
spresense_take_dataset Spresense Arduino script used to gather drone classification dataset

Flashing the C code

Open the Arduino IDE and set your main script folder to the root SRC folder of the project source code. The Arduino IDE will create a libraries folder where it will put all the libraries it is going to download.

Open the nRF52 code using the Arduino IDE and connect the nRF52 through USB. Download the XIAO nRF52 board package for programming the nRF52, and the Adafruit GFX library and Adafruit ILI9341 library to control the TFT screen. Compile and flash the program onto the nRF52 chip.

Open the Spresense code using the Arduino IDE. Download the board package from this GitHub repository (board package from the person detection project). Instructions how to manually install a board package can be found in this post. No additional library needed, as TFLM is already shaded in that board package. Compiel and flash the program onto the Spresense.

Compiling the Android app

Open the Android app code using Android Studio and compile against Java 17, target Android SDK 33.

Running the Python code

To run python_code/finetune_model.py you will need a Python virtual environment with TensorFlow 2.8.0, requirements are provided in python_code/requirements.tflmm.txt (TFLMM stands for TensorFlow Lite Model Maker). Install everything using pip install requirements.tflmm.txt. This code is for fine-tuning pre-trained image classifiers on the latest drone dataset.

To run python_code/train_classifier.py you will need a Python virtual environment with TensorFlow 2.8.0 (the previous one should work though). If it does not, create a new one and use pip install requirements.tfl.txt. This code is for designing from scratch and training image classifiers.

Only the last processed version of the drone dataset is provided in the folder python_code/dataset_v3_1-balanced.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors