This document describes the design of a smart electric water heater. The water heater uses sensors to monitor the environment and water temperature. An Arduino board controls the heating element based on the sensor readings to heat the water efficiently. This conserves energy by only heating the water as needed based on the environment. A keypad and display allow the user to set the target water temperature. The smart water heater aims to reduce electricity bills and carbon footprint by precisely controlling water heating.