Skip to content

Repository files navigation

🚊 tram-unicorn

A MicroPython app for the Pimoroni Interstate75 LED matrix controller that displays live Manchester Metrolink tram departure times.

📺 What it does

Shows upcoming trams from a configured Metrolink station on a 128×64 LED matrix display — destination, wait time, and status — updating every 60 seconds. Switch between incoming and outgoing trams with the onboard buttons.

🛠 Hardware

🚀 Setup

1. Flash MicroPython

Flash the Pimoroni MicroPython build for Interstate75 onto your board.

2. Configure WiFi

Copy WIFI_CONFIG.example.py to WIFI_CONFIG.py and fill in your network details:

SSID = "your-network"
PSK = "your-password"
COUNTRY = "GB"

3. Configure your station

Copy CONFIG.example.py to CONFIG.py and set your station name and TfGM API key:

TRAM_STATION = "Eccles"
API_KEY = "your-tfgm-api-key"

Get a free API key from the TfGM Developer Portal.

4. Upload files

Upload all .py files to the root of your Interstate75 using Thonny or mpremote.

🎮 Controls

Button Action
A Show incoming trams (towards city)
B Show outgoing trams (from city)

🎨 Display

Each row shows:

  • Destination — truncated with ~ if too long to fit
  • Wait time — in minutes, or status if due/arrived

Colour indicates tram status:

  • 🟢 Green — Due
  • 🔵 Blue — Arriving / Departing
  • 🟡 Amber — Delayed
  • 🔴 Red — Cancelled

🔄 Updates

The app supports OTA updates via update.py. Updates are issued as GitHub releases — the app will pull the latest release on next boot.

📦 Dependencies

All dependencies are provided by the Pimoroni MicroPython firmware — no additional packages needed.

About

Manchester Metrolink departures sign

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages