Transit System

About the project

Know when the bus is arriving, and notify someone if the bus is late.

Project info

Difficulty: Moderate

Platforms: HologramRaspberry PiSparkFun

Estimated time: 5 hours

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

Raspberry Pi 3 Model B Raspberry Pi 3 Model B x 1
Hologram Nova Hologram Nova x 1
Hologram Global IoT SIM Card Hologram Global IoT SIM Card x 1
COM-09190  12mm Square COM-09190 12mm Square x 1
Jumper Wires Jumper Wires x 1



Living in the San Francisco Bay Area, public transit is one of the only ways to get around without a car. However, buses are always late, and no one has all the bus schedules memorized.

When getting to a bus stop, it would be great to know if the bus is running late, and also it would be great to notify the bus company if the bus is late, so that in the long run they can work on improving timeliness.

While they are working on that, this project can help you know when the next bus arrives.

Part 1

This project was relatively simple to build. First, the bus company needs to enter in the bus schedule. Then, just place it at a bus stop, give it power, and it's good to go.

The user simply has to press a button when the bus is not on time, and the device will send data to Hologram.

Every minute, the device will blink its LEDs to display approximate time remaining until the bus arrives. The Red LED means the bus is 15 or more minutes away, Blue means less than 15, and Green means less than 5 minutes away.

Part 2

Future improvements to this project could include motion sensing to display time remaining until the bus arrives automatically, and it could also incorporate a display instead of LEDs to more accurately display time. A larger improvement could be to take more advantage of the Hologram Nova and not only send data to a server but also pull data from the bus company to have more accurate scheduling.

I really enjoyed working with the Hologram Nova. The documentation was great, and the product worked as expected! However, it would've been nice to see Python 3 integration with the SDK.


Code to run on Raspberry Pi. Make sure to run this from the command line as follows: "sudo python"


Leave your feedback...