Ambient Display for Bus Arrival




Introduction: Ambient Display for Bus Arrival

About: sggsfbfdf

While screens may be popular for viewing information, they are definitely not the only means to consume information. There are several opportunities for visualizing information from around our environment and with this project, we seek to hack into one those.

The model truck in this project helps visualize estimated arrival times of a bus by the movement of cargo packages at the back of the truck. Using the Transloc API, we pull data of specific bus routes and visualize the ETA to a chosen spot by the height of a cargo box that moves vertically.

  • Class: HCIN 720 - Prototyping Wearable and Internet of Things Devices - Fall 2017
  • University: Rochester Institute of Technology
  • Program: Master of Science Human-Computer Interaction
  • Course website:
  • This group project was done in a team with fellow M.S. HCI student Archit Jha.

Step 1: 3D Printing Parts

Several Components of the model can be 3D Printed. The truck body was designed using Autodesk Fusion 360 and the 'stl' file generated was taken to Cura to generate a 'gcode' for the Qidi Mini X-2 3D Printer. Since the the size of the print bed was limited to 9mm x 9mm, we printed the truck body in 3 parts:

Note: Autodesk Fusion 360 was used to design 3D printing parts. More details about how to use Fusion 360 can be found here.

Step 2: Laser Cut Materials

The remaining components of the model were created using laser cutter. Details and resources on how to use laser-cutter can be found on course website:

Step 3: Electronics

The electronics used mainly consist of:

  • 2x L293D H Bridge
  • 2x 28-byj stepper motors (12V or 5V)
  • 2x Particle Photons
  • Jumper Wires
  • Breadboard

Step 4: Particle Photon Setup

Rochester Insititute of Technology shuttles are operated by TransLoc and we were able to use their OpenAPI for retrieving estimated arrival of the bus [].

The API provided data in JSON formate and arduino library arduinojson was utilized to parse the data. Please refer to Transloc Data Sheet for the details of route ID, stop ID and agency ID. Following are the steps and code for setting up Particle Photon:

  1. Check out documentation of Particle Photon on their website.
  2. For webhooks, follow Webhooks guide to create a webhook.
    Webhooks are used as a bridge to communicate with the web services. Follow the code for webhooks that uses ArduinoJSON and stepper motor code below to setup.

Step 5: Assembly and Running

  • Assemble the circuit by following stepper motor example code and documentation
  • Use glue if needed to stick parts to assemble the model
  • Use a thread and tie them to the blocks and pass it through the pulley attached on the top of the trasperant box
  • Pass the other end of the thread through the holes (green surface on which truck is kept) and wrap it around the pulley attached to a stepper motor.
  • Connect the photon, complete the circuit. (A digital circuit diagram will be uploaded very soon for better understanding of circuit connection using Fritzing)

Step 6: Completed

You are done! Keep the truck at a place where you can easily take a glance for a bus arrival lookup.

Be the First to Share


    • Photography Challenge

      Photography Challenge
    • Raspberry Pi Contest

      Raspberry Pi Contest
    • Fix It Speed Challenge

      Fix It Speed Challenge


    DIY Hacks and How Tos

    Interesting display. Thanks for including a video. It really helps to illustrate how everything works. But a lot of people don't include them.


    Reply 4 years ago

    Glad to know that video was useful. If picture says a thousand words then hopefully video probably says five thousand words. Haha!