Skip to content

nonik0/Light-Rail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Light Rail

Overview & Acknowledgements

Light Rail is a minimalist, interactive PCB game that simulates trains traveling along tracks, picking up and delivering cargo from platforms. The track is composed of yellow LEDs arranged in lines, which illuminate sequentially to create the effect of trains moving along the tracks. Next to each of the eight forks and crosses in the track is a button to switch its state. The board also has a three-character seven-segment display for showing the game status and/or score and four more buttons underneath the track for gameplay control. Light Rail can be powered with two LIR2032 batteries or via USB.

I also want to acknowledge and thank PCBWay for their generous support of this project! Even before I had the initial idea, PCBWay had already reached out to me asking if I would like to collaborate on my next project. However, I didn't actually see the email until I started looking into how I wanted to manufacture prototypes for Light Rail. Just getting the email and seeing that others were liking my older projects gave me a big motivation boost to continue with this project, be creative, and make something of my own. Overall, my experience with PCBWay was great and I would definitely recommend checking them out for your own projects!

For more details about my design goals, process, and ordering and production experience with PCBWay, please see my full project writeup!

hardware test

Work Left

  • first working game prototype
  • further game ideas and testing
  • investigate CR2032 batteries in series

Hardware

The hardware is designed in KiCad 8.0 and all design files are included in the hardware/kicad8.0 directory.

The main hardware components are:

  • ATMega32u4 8-bit MCU
  • IS31FL3731 matrix LED driver (charliplexing)
  • AS1115 seven-segment LED display driver
  • KCSC02-105 seven-segment LED display
  • MIC5219 3.3V LDS Regulator
  • Yellow "track" and red "platform" LEDs, 144 total

See the Bill of Material (BoM) for complete list of components used and my project writeup for more details.

Firmware

The firmware initially started as a C++/PlatformIO project, which can be found in the firmware/cpp directory. Before I actually received the inital prototype boards I decided to pivot and write everything in Rust, which can be found in the firmware/rust directory. As part of the effort to get back to where I left off with the C++ firmware, I did the following:

  • Wrote a new AS1115 driver (TODO: finish and polish design before publishing to crates.io)
  • Wrote new tone library for avr-hal (TODO: integrate into avr-hal and open PR)
  • Updated existing fork of IS31FL3731 driver to latest embedded-hal with other minor additions

TODO: basic overview of game design and firmware components (in second writeup?)

Images

Prototype

Schematic

PCB Layout

Render

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published