Public transportation display

This big LED display shows the next bus departures in front of the students residence.


This is a joint project with Joe, Anton (provided the screwdriver :-D) and Goran (provided the drill). The display is right over the entrance door in our hallway. No more wasted time waiting in the rain for a delayed bus and no more leaving at the wrong time because the schedules have changed again.

The software:

You can get more informations about the software on

How it works (short version):

  1. The server polls the data from the local transportation office via JSON (normally used to display informations in a web-app). This data is live / generated from the GPS tracker on the busses and trams. See below (update).
  2. The server renders an image and sends it to the MR3020 inside the display.
  3. The MR3020 gives the pixel information to an AVR board which then runs the individual pixels.

i6_kvv_display2Don’t be alarmed by this picture. Everything is fixed and the gaffer tape is just there because you need some in every good project.


The display itself actually consists of 2 separate modules, each with 128*16 Pixels.

Were does the data come from? (Update)

The data comes from This is a mobile page showing you the next departures from a station. We have observed that the departure times for our bus:

  • stay at a time (‘3min’ for example) for more than a minute
  • change from 3min to 4min.

You can see this at the normal displays at the stations too. The order for trans arriving at the same station from different tracks/origins change sometimes.

It looks like they have some kind of system but we can’t say if its GPS or not and we don’t have any information about how this data is processed or if it is stored (some people on Twitter talked about tracking the drivers). Maybe they have RF-Beacons at each stations for the bus. Since the trans pass a lot of beacons (for railway switches and signals) they might take the data directly from there.

Some add-ons:

  • It takes about 4 minutes to walk to the bus stop. Busses leaving in 6 minutes or less are flashing and those leaving under 4 minutes or less are highlighted (meaning that you have no chance to get it).
  • It displays some weather data.
  • It displays a sleeping Pokemon if no busses are leaving.

Sleeping Pokemon

Stuff we still need to do:

  • Install a power plug nearby.
  • Display a dancing Pokemon if no busses are leaving.
  • Automatic brightness control (if someone switches the light on while it is dimmed down over night).

Cost: about 80€ in total.

Similar projects from other people (update):