Public Transportation Display

display_cropped

[Adrian] and [Obelix] wanted to have an easy way to know when to expect the public transportation, so they hacked an LED dot matrix display to show arrival times for stops near their dorm.

They found the display on Ebay with a defective controller which they replaced with an ATmega328p. They connected the display to the internet by adding a small TP-Link MR3020 router and connecting it to the ATmega328p via a serial line. Their local transportation office’s web page is polled to gather wait times for the stops of interest. All rendering of the final image to display to the dot matrix display is done on their PC, which then gets pushed through to the MR3020, which in turn pushes it out to the ATmega328p for final display.

[Adrian] and [Obelix] warn about setting proper watchdog timers on the display driver to make sure bugs in the controller don’t fry the dot matrix elements. Their ATmega328p dot matrix driver code can be found on [Adrian]’s GitHub page.

Check out a video of the display in action after the jump.

17 thoughts on “Public Transportation Display

  1. For a second there I forgot what public transportation was (I catch it everyday) and it took me about 3 reads of that first paragraph before I realised it was talking about bus/train arrivals and not time travellers/terminators. I think I need more coffee.

    1. I thought “What a nice evening project to rebuild it using an Arduino, the network shield and some duct tape” … turns out the RAM is too small to fit the whole JSON request :P

      1. I build my own Arduino module with an ENC28J60 Ethernet chip for this job, but I’ve trouble getting the correct response from the transportation offices webserver.

          1. No sry I tried this before, works fine with everything but I only get “HTTP/1.1 500 Internal Server Error” with my GET request from the Arduino… I even sniffed the TCP packet and to me it locks exactly the same as the package send by the browser ….

Leave a Reply to CrimsonBinome22Cancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.