We both realize how much of a hassle locking the bike is. So we thought it would be cool if we could lock our bikes from our phones.

What it does

Using your smartphone, enter your bike lock's passcode. If the passcode is correct, the bike will unlock for a period of time before it automatically locks itself again. If the wrong passcode is guessed too many times, then the bike would remain locked and not accept any unlock requests for a period of time.

How we built it

The lock mechanism is controlled by a servo, which is controlled by an Arduino. The Arduino receives a request to unlock the bike from a smartphone. If the passcode is correct, then the Arduino would fire the servos and unlock the bike. We programmed the Arduino using Arduino IDE and we created the Android application using Android Studio. The smartphone and the Arduino are connected via Bluetooth Low Energy.

Challenges we ran into

Designing the lock was challenging because we never really had any hardware experience. Additionally, establishing a connection between the phone and Arduino via BLE was very challenging. Connecting devices via BLE was much more difficult than we anticipated and we spent the majority of our time here trying to figure out this particular problem.

Accomplishments that we are proud of

We're really proud of the fact that we created something really cool. We never gave up on the project and we worked together to figure out the major issues. We learned a lot.

What we learned

Both of us didn't really know how to work with Arduinos nor did we know how to program in C so we had to quickly learn the basics. We also didn't know how to work with Bluetooth Low Energy and learning that has been both challenging and rewarding.

What's next for Loop

There were a lot of features that we didn't implement because we lacked the time. We want to program the Arduino to play sounds so that if you can't find your bike, you could just use the app to play a particular sound so you can find your bike. In addition, we want to encrypt our passcodes so it can't be hacked.

Built With

Share this project: