The goal of our final project was to design an efficient elevator simulator that can accept input from a user and mechanically operate (on a small scale) a system of 4 floors and 3 elevators using pulleys and stepper motors. Users enter input using physical pushbuttons or the computer. This input is then processed by the MCU and orders are given to the elevators. We attempted to devise an algorithm that can optimally handle any number of floors. This project seemed like a fun challenge and something that had practical applications. Both of us have been frustrated at times by the inefficiency of some of the elevators here at Cornell, and we wanted to see if we could do a better job.