Everyone misplaces something once in a while - an important valuable maybe. In the case of a lost electronic; a smartphone per se, services like FindMyIphone, or Google's Find Device, finding a lost phone is relatively easy.
It was two days before Cipher's Bonfire event, that I (Nabil) lost my wallet. FindMyIphone and Find Device wouldn't help me. And after many attempts to recover it, I knew that my efforts were in vain.
What if we could prevent the same thing from happening to someone else? What if we could develop a system that allows people to find their lost items (even non-electronic items) reliably?
That was our motivation for this hackathon...
What it does?
Our product, FindAnything uses a simple Android app along with a Bluetooth - Arduino module in order to track a single object. The module, which we call the Locator, is an Arduino Uno board with a Piezo speaker and Bluetooth device which is capable of emitting a high-frequency tone that can be heard from several metres away. With the help of our FindAnything Android app, the user is able to enable the piezo at the click of a button on their phone - Ultimately allowing the user to locate the lost item to which the Locator is attached to.
Additionally, if the user travels beyond a certain distance away from their lost object (and module), a notification will appear via the app on their phone; telling them that they are too far from their valuable, and that they should go back to pick it up - A non-intrusive way of letting them know that they are leaving something valuable behind.
How we built it
The FindAnything App was designed to utilize Bluetooth technology to connect a smartphone with our FindAnything companion app, and our Arduino, Bluetooth, and piezo (which makes a high-pitched sound). Putting these together required us to draw circuit diagrams to connect the Arduino, Bluetooth and Piezo. After that, we connected the Arduino circuit to a computer using the Arduino program and created a sound by using the ‘C’ programming language which was the Arduino programs default language. After that, we used Android Studio to create our phone app which links the Bluetooth to the Arduino which we had already programmed to make a sound based on the app’s instructions.
Challenges we ran into
Some of the challenges that we ran into included, creating a reliable link between the Bluetooth and the phone app, learning the ‘C’ programming language with Arduino during the hackathon, and finally dealing with bugs in Android Studio. To solve these problems, we looked at documentation on reliable sources like Android Studio, Stack Overflow etc., to assist us in the daunting task of learning how to code with unfamiliar syntax that is used in Android Studio.
Accomplishments that we're proud of
Given our lack of experience with Arduino, C (the language that the Arduino IDE supports), using bluetooth modules, and hardware in general, we are proud to have developed a fully working system (integrating both software and hardware systems) with the capability for societal betterment and further expansion in the future.
What we learned
We developed our skills in both the C and Java programming families, and applying code to solving a real-life problem using unfamiliar hardware components. Learning how to use the various modules, jumper cables, resistors and breadboards gave us a better understanding of mechanics and electricity. Finally, we developed our time management and teamwork skills through the 24 hour period, and that successful software developers have to be much better than just knowing how to code!
What's next for FindAnything
Hardware The product we have produced as of now, is still only a prototype. Despite its great functionality, it is not robust enough to withstand much damage. Dropping the prototype could easily damage its electrical components. In order to improve upon our prototyping, we are working to develop protection systems (e.g. case) to enclose the module in and protect it.
We are also looking into ways to make the module smaller and more portable so that using it with many of the smallest of valuables is still feasible (right now, it will be cumbersome to store it in a wallet).
With a more compact and aesthetic design in mind, we hope for FindAnything to be capable of being found in every single valuable.
Software We are working to improve our app interface; its ease of use, and design, by implementing various UI/UX features available with Android Studio. Currently, our app is very minimalistic and simple, with only two buttons for controlling the module.