P19345: Model Railroad Control Panel
/public/

Customer Handoff & Final Project Documentation

Table of Contents

Team Vision for Final Demo and Handoff

This phase, we successfully wrapped up our project to pass over all materials, designs, and documentation to our customer the RIT Model Railroad and Mr. Charles Rothbart. We finalized all build components with hardware and software designs and communicated these tasks with the club. Additionally, our final lightning talk video, poster, term paper, and user instructions were completed this phase.

Project Summary

Operation of a model railroad, like the operation of its real life counterpart, is a complex system. For a real railroad, the stakes are life and death, and extreme expense. In the model world these are lessened, but the systems are important all the same. The RIT Model Railroad club’s current state of operation utilized a Digital Command Control (DCC) system and a Command Station to power and control their locomotives and switches. The goal of this project was to expand on their existing control system to encompass a larger layout while designing within a small footprint, high availability package to ensure a full-featured, low-cost model railroad control and indication system.

Throughout this project, multiple hardware and software design concepts were prototyped and tested to ensure engineering and customer requirements were satisfied and functional. The hardware design was conceptualized to allow users to interface with buttons to change railroad track switch positions, as well as providing a platform for LEDs to be used for block occupancy and switch position indication. Software was designed to perform the desired task of moving switches on the model railroad system and turning LEDs on and / or off on a control panel based on various types of inputs in an autonomous manner. These comprehensive inputs to the design were created to support the project requirements of supporting multiple signalling rulesets, automatic or dispatcher-controlled signal operations, and logical lock out of local control panels. The project design needed to display realistic railroad quality control while accommodating to the model railroad size and layout.

Functional block-occupancy and control panel integration within multiple blocks of the model railroad layout was a necessary detail to the success of the project. Key customer requirements referenced the need for a modular and low-cost design, with specifications of less than $10 per line of input/output within our design. Our design successfully met these requirements and provided a cost-effective alternative to RIT Model Railroad’s current state. Their original design cost was $142.90 with a functional capacity of 16 lines of input output. The team design encompassed $48.05 for all materials and build, and includes 80 lines of input output, projecting a cost per line of I/O to be $0.60. This fact was a 93.28% improvement in cost per line of I/O in terms of concept design, and encompasses a significantly larger layout potential for our customers. Through additional control panel capability, our design supports a layout 50-100% larger than the RIT Model Railroad’s existing track layout. Along with these requirements being met, a document was created for the customer's use, the user guide. This user guide can be seen in the Final Project Documentation section of this page. The user guide is meant to help the customers operate the team's system without a team member being present. This document can be used for future students who may work on this project as well.

Risk and Problem Tracking

With the end of the project, all 26 risks have been marked as resolved. Throughout this project, no significant risks were encountered to hinder the success of the project. Problem Tracking documentation have been reviewed and resolved as well with the project completion.

Final Project Documentation

Final Schematic

The final schematic is shown below. There is a PDF link below for a more clear image.
Final Schematic

Final Schematic

A PDF of the schematic can be seen below.

Final schematic PDF

Final PCB Design

An image of the final PCB is shown below.
Final PCB

Final PCB

Final PCB Documents

A downloadable .zip file is available below. This .zip file can be uploaded to PCB manufacturing websites (we used JLCPCB). This file contains all gerber and mechanical layers required to manufacture a PCB.

Assembly drawings for the PCB are available below.

Assembly drawing, top

Assembly drawing, bottom

Final PCB .zip files

Software Documentation

Communication Protocol

While writing the software portion of the project, it was discovered during integration that the character retrieval from the buffer used during the UART communication caused an issue. This issue is the number of bytes to be read from the buffer cannot be assumed. This number needed to be exact. The solution implemented by the team was to have a Pi device constantly poll for a message from the buffer with a size of 2 bytes. Once this 2 byte message is received, it will be parsed by the Pi device. The 2 byte message will contain information about the type of the next message to be received, response or broadcast, and the size of the next message. Based on the type of the message received, the Pi will do the tasks needed for the specified message type. Once the tasks are complete, the Pi device will poll again for the next 2 byte message. With this implementation, the issue of needing an exact number of bytes to read from the buffer was resolved.
Command Formats

Command Formats

The figure above contains detailed information about a message's byte break down based on the message type.
System Operation

System Operation

The figure above depicts an example of messages being transmitted and received between two Pi devices in our system. Red text indicates a transmitting Pi device. Blue text indicates a receiving Pi device.

Another requirement needed from software was pulling GPIO 16, or pin 36, on the PCB to high for data to be transmitted. This was done because the default state of GPIO 16 on the PCB is read, or low. Setting the pin to high will enable the PCB to transmit data.

Final BOM

Final Bill of Material

Final Bill of Material

This references the Final Bill of Materials for all the components needed for one PCB and are located sheet 1 of this excel file. This document only includes the components needed for the production of one PCB. It does not include Raspberry Zero pi, micro sd card and print of PCB for full system. The price is little higher than we originally calculated because we bought all the components in bulk for the build phase. As a team, we recommend our customers to buy in bulk to lower the cost per board and also to have extra components if needed. Buying in bulk is appropriate for an entire layout overhaul or for a layout that is expected to be large in size. TWe have utilized $508.45 of our $1,000.00 budget. The full budget detail can be found in sheet 2.

Plans for Wrap-up


Home | Planning & Execution | Imagine RIT

Problem Definition | Systems Design | Preliminary Detailed Design | Detailed Design

Build & Test Prep | Subsystem Build & Test | Integrated System Build & Test | Customer Handoff & Final Project Documentation