A simple way to keep people interested in learning is to have them work with familiar systems in new and interesting ways. Our idea was to design a project that could be used as an instructional tool for student, away to learn about micro-controllers without the monotony of standard design projects.  The train controller allows students to get hands on experience with programming the Atmel 90s8515, while exploring the concepts of analog design, such as isolation of power supplies using inductors and opto-couplers, motor control, sensor design, and signal control.

The following sections show how we implemented the train controller.  Using inexpensive and readily available parts, we designed a controller for the N-scale Bachman Highballer Chessie train set.  The track is a standard Bachman e-z snap together track, and was mounted to a piece of plywood using cable ties and a staple gun.  Rubber feet are placed one the bottom of the board to allow wired to be strung for ease of connection.  The remaining portion of this report documents how the hardware and software was developed to control the mounted train set, provides detailed schematics and code for the hardware, explains possible improvements for the future, and shares our concluding remarks.