Here, we present to you how to create and implement a prototype safety device, used to detect whether you are drilling correctly. The device we named SafeDrill.
IntroductionIn this tutorial, we aim to help hobbyists and professionals work safer and faster, with reduced chance of equipment breaking!
This project was made as a part of mandatory assignment at an University course Mobility and Internet of Things at University of Ljubljana, Faculty of electrical engineering.
The main goal is to use a simple and relatively inexpensive solution, that can be mounted to any handheld drill and aims to detect whether the user is using the correct drillbit in combination with the correct material. Using the wrong drillbit can result in injuries to the worker as well as damage to equipment. As such, inexperienced workers can quickly learn from mistakes while work hazards can be minimized, all whilst protecting the equipment itself!
The project is based on gathered data, processed by Machine learning solution in order to achieve efficient and responsive detection that is presented to user via Bluetooth LE to an Android phone app.
This is just a phase 1 prototype application with many improvements still in development (drill alignment, safe torque protection...).
Project descriptionThe main objectives of this project are:
- Gathering data and building the machine learning (ML) model
- Building the Android phone app and establishing the connectivity
- Validation of the system
Our project utlilizes an Arduino Nano 33 BLE Sense microcontroller, chosen because of its affordability and the numerous sensors it already implements, along with Bluetooth conectivity. For our application, the 9 axis IMU was perfect for the job at hand!
For machine learning, Edge Impulse was chosen as it allows simple and effective building of your model from the gathered data. It is completely compatible with Arduino Nano 33 BLE Sense and so allows for a quick and easy way to build our own ML model.
Via the Android app, the user can receive notifications regarding the usage of correct drillbit as well as keeping track of the work done today.
The validation was done through extensive testing of the built machine learning model and the results are documented below.
HardwareFor our prototype, the hardware itself is rather straightforward, besides the aforementioned Arduino we have designed a simple case with a lid, that allows us to mount the microcontroller onto most handheld drills using zip ties.
The Arduino has small holes, so be sure to have some M1, 5 screws or small nails to keep it in place!
For data gathering, we still required the USB port for connectivity. Later, the Arduino can be powered by batteries as well (not yet implemented).
Machine learning model with Edge ImpulseData used for building the model was captured using the Arduino Nano 33 BLE Sense accelerometer on the IMU. For startes, we arranged 3 different drillbits: for wood, metal and concrete and 3 different materials that correspond to the drillbits used. As such, we had 9 different classes. We have gathered 100 seconds of data for each class.
The data was processed with spectral analysis of all 3 axes and later built with a neural network, followed by a training of the model.
The final stage was Arduino Library deployment. It comes with code examples, that were later modified and used to detect the aforementioned classes or the lack of drilling present.
Android app development and Bluetooth connectionFor Android app, we have decided to use MIT App Inventor, as it allows a quick and simple building of a modern and sleek looking apps! The backend is build using a block structure, as seen below.
We have enabled the Bluetooth connectivity, and on the display we can see what drillbit/material combination we are working on right now as well as an advanced button that shows the daily statistics: No. of holes drilled today and the time used for drilling. The end result looks like below:
After model testing, we were able to get satisfying accuarcy and so, deemed the system viable for further testing. Below is a video demonstration.
Gathering things upSo, we have arrived at the end of this tutorial. To sum things up, for you to develop the system on your own, you have to:
1) Upload the attached code to your Arduino
2) 3D print the case and mount the Arduino inside firmly, and then mount it to your drill with zip ties.
3) Download the Android app
4) Power up the Arduino, enable Bluetooth in your phone and connect
Now you are all set up to try and test the device yourself and improve your drilling!
We hope you will the project useful for your further drilling needs!
Comments