Bus Tracking System

UCSC’s Bus Tracking System (BTS) is a set of hardware and software that lets riders of UCSC’s transit shuttles see the locations of the campus shuttles in real time. This successful endeavor was a collaborative effort among many individuals of various campus departments, resulting in a production system that functions today. Several students and student teams have created iOS and Android apps that display the system’s real-time bus-position data.

History

Bus with lights
A campus shuttle using the new LED signs.


James Koshimoto and Matt Bromage created UCSC’s original Bus Tracking System (BTS). During the summer of 2009, the system was successfully deployed to about 20 campus transit shuttles. Over the 2009/2010 school year the system was evaluated, and several improvements were identified. The following summer, when most of the campus transit shuttles were retired and replaced with larger, more fuel-efficient vehicles, the BTS hardware was removed from the retiring vehicles and stored.
Based on the BTS evaluation, and using feedback from that system’s users (TAPS employees, wireless-networking researchers, and shuttle riders), Kerry Veenstra designed an improved BTS 2. Every part of the original BTS system was upgraded or redesigned: only the communication radios that link buses to the BTS base stations were reused unchanged. A prototype was installed in campus transit shuttle 55 and evaluated for over a year while a number of UCSC undergraduates soldered and assembled production nodes for the rest of the shuttles.

Current Hardware

The current system’s hardware, which was installed during 2015 and 2016, consists of both custom and off-the-shelf components. Each shuttle has a custom LED sign that displays the current route name and transmits it along with the shuttle’s GPS location through a commercial radio to five campus base stations. Each of the base stations uses a Raspberry Pi and a custom serial-port board to receive shuttle data from commercial radios and store the data in a MySQL database. The database server and an associated web server are maintained by campus IT.

Web Application

Slugroute screen


The web application allows students to inspect bus stops and plan trips to parts of the campus by clicking on stop icons. The app also shows all of the different routes the shuttles are following. Receiving updates every few seconds the bus icons are animated in real time, allowing students to know whether taking a bus or walking will get them to their class on time. A future feature will allow students to set desktop alerts while studying so that they can be alerted when the route they wish to take is coming near them at the time they specified. Other informational features will be added that will distinguish it from the mobile applications that will be more focused to be used “on the move”, and are described below.
The app is developed using the very popular google maps javascript library, and custom icons and windows are overlayed. The core framework used is AngularJS which is a very easy to use Single Page Application framework which allows it to load and perform quickly. Just like the mobile applications, the web app makes requests from the bts web server and expects a JSON datafile in return. Bus GPS coordinates and arrival predictions are calculated on the server from data taken from a mySQL database and then added to the JSON file.

Mobile Application

Both iOS and Android apps are available to display real-time shuttle locations from the same data feed that the Web Application uses.