A game with trains! TODO: more
Inspirations:
- trains
- Lego trains (also see my M5Cardputer firmware for controlling Lego trains)
- my nephew who also loves trains
- Mini Metro, a game with trains
- PCB Convention Badges, especially Supercon 2022 badge
- TIGER Electronics handheld LCD games
- Adafruit LED backpacks, especially this one
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.
TODO: more hardware overview (using 4 layer pcb, design choices, etc.)
TODO: design comments/flaws/learnings for first prototype
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
- pictures/videos of prototype boards in action
- finish basic game components in Rust
- first working game prototype
- further game ideas and testing
- 0.1.0:
- TODO