element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Spring Clean!
  • Challenges & Projects
  • Project14
  • Spring Clean!
  • More
  • Cancel
Spring Clean!
Spring Clean Projects 2026 Sydney Rail Network Live Map
  • News and Projects
  • Forum
  • Members
  • More
  • Cancel
  • New
Join Spring Clean! to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: proccyboi
  • Date Created: 13 May 2026 11:31 AM Date Created
  • Views 55 views
  • Likes 5 likes
  • Comments 4 comments
Related
Recommended

Sydney Rail Network Live Map

proccyboi
proccyboi
13 May 2026
Sydney Rail Network Live Map

What is the Sydney Rail Network Live Map?
The 30x30cm PCB takes live, public data from NSW transport's GTFS, it then beautifully displays it on the PCB via RGB LEDs over WiFi. The idea of the project was to build something mostly static that sits on a wall or desk that gives an overview of the suburban Sydney rail network.

Design Goals

The main goal of the project, was to bring electronics to more people. Having done many electronics projects in the past, it's only the ones where people can relate to, regardless of technical expertise, that resonate with people the most. Fun fact: according to Transport for NSW, the sydney train network handles around 1.2 million trips per weekday! I also wanted to explore aesthetic electronics, and use PCB layout and silkscreen prints to put together something that could genuinely be something I could see in an art museum. On top of this, I wanted to develop software skills by converting the online data to LEDs.

Spring Cleaning Motivation

Metroboard had been sitting unfinished and almost a pipe dream because the PCB routing needed to be finished and the firmware needed proper testing. Prior to this, I had only managed to get 5 stations lit up with an ESP32 development board. Only a prototype had been tested, a full scale project was in order.

Hardware

The project uses: 

  • ESP32-WROOM-E
  • 291 WS2812B-2020 LEDs
  • CH340 + BC817 USB to UART programmer
  • AMS1117 5V to 3.3V Linear Regulator
  • MC14504BDR2G 3.3V to 5V Level Shifters
  • USB-C Power Input (also used for programming)

The electronics is fairly simple, the layout and firmware is what I found the most difficult.

Design Process

The first step was the electronics design. I used the CH340 to program the ESP32 by converting the differential D+ and D- signals from USB-C. I also used BC817 NPN transistors to put the ESP32 into bootloader mode by pulling EN and IO0 pins high and low. 

image

The next step was the LEDs and their connection to the ESP32. I discovered that the LEDs reshape each oncoming signal and require a 5V input signal, thus it was necessary to include a 3.3V to 5V level shifter before going into the first LED. The Sydney rail network is split up into train lines and metro lines as shown by the published rail network map.image

I then decided it would be best to split up the LEDs by train line, since if there were any issues (hopefully not), they would be localised to each line. Thus, the lines were made from T1-T9 and M1. The LEDs can easily be connected to each other and were chained together very simply.

image

I then had to count how many LEDs belonged on each line, a tedious process... I then decided to also add a status LED which I could control the colour of to help me debug, if serial wasn't helpful. This would allow me to test things like WiFi connection or server connectivity. After this was done, it was time to route.

I began by overlaping the transport map in KiCAD 9.0, and began placing the LEDs. over the dots, this then allowed me to determine the size. After this, I began tracing over the coloured lines with silkscreen lines and writing the train station lines, little did I know how many train stations exist in suburban NSW!

image

I then created the top layer as a power plane (5V) and made the bottom layer as the ground plane. I then started routing. Since I had chosen to have sequential LEDs, the wiring between each LED was fairly straight forward since the next connection was always fairly close. I used vias to connect the ground of the LED to the ground plane and I tried to be clever and either put it on the LED pad or underneath the LED itself so it couldn't be seen in the final product. I tried to limit it since I had seen that there can sometimes be issues with vias on pads where solder can seep through and result in a poor connection. I also tried to make the electronics centered on the board with the USB-C receptacle in the center, and make the electronics aesthetically pleasing.

image

Finally, I was able to obtain the prototype in the 3D visualiser. The brownish F.Cu layer scared me since I thought the board could turn out brownish instead of black becaus the copper might bleed through the soldermask. I have since learnt that this is more a graphical visualisation issue. 

image

I then ordered the board and this is what arrived...

image

Exactly how I designed it! I powered it on, with the longest cable I could find so I could power it from far away just in case something went wrong and when I first powered it on... nothing.... GOOD! The board didn't blow up, so I hastily wrote some code to test all the LEDs and lo and behold it worked! I then worked connectivity to WiFi and pulling data from the live feed and after hours of testing and late nights, I was able to successfully get it to work. I had some small design choices to make, I decided that if a train was within 200 meters of a train station, it would light up, I also visually mapped the train line colours to the actual colours used in the real life network, for example:

const uint32_t LINE_COLOR_HEX[LINE_COUNT] = {
  0xE53935, // T9 red
  0xD81B60, // T5 magenta
  0x00ACC1, // T2 teal/cyan
  0xA0522D, // T6 brown 
  0xFB8C00, // T3 orange
  0x0D47A1, // T4 dark blue
  0x9E9E9E, // T7 grey
  0x006400, // T8 dark green 
  0x26C6DA, // M1 light teal
  0xF39C12  // T1 yellow/orange
};

I also used the <Adafruit_NeoPixel.h> library to control the LEDs. On the server, I used a combination of static GTFS and GTFS-RT from TfNSW to determine train and metro positions. I also created a backend for a user to access and configure thier board over WiFi. 

image

I also added options to adjust brightness, display mode, from live trains to custom animations and colours and night mode in case you want to dim/ turn the board off during night time.

image

Below are some of the project photos I was able to take, currently the board is hung on my wall and during peak hour, I can see how busy the network is, and just around midnight, the last remaining trains of the night are very obvious.

imageimageimageimageimage

Conclusion

This spring clean was a fantastic excuse to finish something that turned out exactly how I had initially visualised it. Throughout this project I was able to learn how to use WiFi on the ESP32, how to pull live data, how to route components effectively and I got better with silkscreen tools.

The Sydney Rail Network Live Map started out as a half finished idea and became a working physical display. The project combines electronics, design and firmware into one finished project. I hope this inspires others to complete thier own projects!

  • Sign in to reply
  • DAB
    DAB 3 hours ago

    Nice project.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Gough Lui
    Gough Lui 11 hours ago

    As a Sydneysider - looks great and absolutely love the idea. I did notice it's technically "Town Hall" rather than "Townhall" ... 

    In a few years, you'll have the North-West Metro and the line from St. Marys to the Aerotropolis to add to it ;).

    No love for light rail?

    - Gough

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • kmikemoo
    kmikemoo 1 day ago

    Very cool project!  Nicely done.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • BigG
    BigG 1 day ago

    Lovely project. In the UK there's a company which also makes and sells similar boards: https://www.traintrackr.co.uk/

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube