Having to download dedicated mobile apps to interact with Bluetooth Low Energy (BLE) devices around you is a hassle and a sluggish experience both for the users and the developers who have to maintain platform specific apps via the respective app stores. We wanted to show case how Google's new Web Bluetooth API can simplify the experience for something that exists in every city that is widely used and could benefit from a little more technology: our transit system.

What it does

Beacons attached to bus stops will provide the user with a link to a web app that gives the user bus schedule information for that stop. When the bus arrives, a BLE device inside the bus will be in range to the user and it can be connected via the same web page. On the bus, the user can request bus stops via their phone, and also receive alarms when their stop is coming up, which is especially helpful in a very crowded bus. The user will also be able to send silent alarms to the bus driver in case of any incidents on the bus.

How we built it

The bus stop beacon uses Eddystone beacon standard on a Arduino Primo and the Physical Web to send a URL to the user (must have Chrome on mobile, at the moment). The onboard BLE device is a nRF52832 Development Kit that is discoverable and connectable with the the users mobile via Web Bluetooth API written in Javascript. And we are using Firebase and Google Cloud platform to host our web app.

Challenges we ran into

Web Bluetooth is still being constantly developed by Google so there is very little resources and have limited support with each hardware manufacturer/OS.

Accomplishments that we're proud of

web design. using new technology that is minimally supports as of right now hardware stuff is always fun. having a demoable app that does mostly what we set out to do

What we learned

some firebase stuff. bluetooth protocol things. web bluetooth api.

What's next


Built With

Share this project: