An embedded system is a computer system (both hardware and software) within a device or a system that provides automatic control, typically through the use of microcontrollers, microprocessors, FPGAs, GPUs, DSPs, and custom ASICs. Today we interact with embedded systems on a daily basis. Common properties of these systems include special-purpose functions, limited resources, low power consumption, small size, and low cost.

Embedded systems range from the very low power applications of wearable electronics, to cell phones, traffic light controllers, home appliances (dishwasher, laundry machine, and microwave oven), motor control algorithms, building controls, welders, medical equipment (CT/MRI/Ultrasound), military systems (countermeasures, radar) and autonomous vehicle controls, just to name a few. Often there are many embedded subsystems within an embedded system. These require interfacing with custom protocols. Data movement and real-time control must also be managed using custom software and hardware.

Suggested Courses:

EE 410 Digital Signal Processing
EE 457 Digital Logic Laboratory
EE/CS 458 Computer Architecture
EE 457 Introduction to Control Systems
CS 361 Introduction to Software Engineering
CS 520 Computer Networks
CS 537 Introduction to Operating Systems
EE/CS 545 FPGA Embedded CPUs & Firmware Development