BathButler is an open-source smart bath filling system that automatically controls hot and cold water valves to fill your bath to the perfect temperature and depth. It features a two-board architecture: an ESP32-S3 relay controller (Waveshare) handles valve control, temperature sensing, and safety logic, while the CrowPanel 1.28" Rotary Display provides an intuitive physical interface — just twist the knob to set your temperature, click to start. The system includes a real-time circular web dashboard accessible from any phone, Amazon Alexa voice control, over-the-air firmware updates, automatic WiFi setup with captive portal, and a flow rate calibration system for depth estimation without a level sensor. Safety features include overheat cutoff, watchdog timer, and valve protection. All interfaces share a common REST API + WebSocket backbone, with a Flutter mobile app in development.