Back to Projects

Elevator Control System

Syracuse University · September 2025

EmbeddedATSAMD21Register-Level
Elevator Control System

Overview

Programmed an elevator controller from scratch on an ATSAMD21 microcontroller. Users request floors via keypad, and the LCD shows real-time position as the elevator moves. 2-second transitions between floors, LEDs for status, buzzer for arrival.

No Arduino libraries. Everything built at the register level. Timers, interrupts, GPIO, all configured by hand. Tedious but satisfying. Shoutout Sawyer Falkenbush for partnering on this one.

Tools

MPLAB XC

Tech Specs

MCU ATSAMD21 (ARM Cortex-M0+)
Programming Register-level C, no HAL/libraries
Interface 4x4 keypad input, 16x2 LCD output
Peripherals LEDs (floor indicators), buzzer (arrival alert)
Timing Interrupt-driven, 2-second floor transitions