This paper presents the design and implementation of a Java-based automation system that can monitor and control home appliances via the World Wide Web. The design is based on a stand alone embedded system board integrated into a PC-based server at home. The home appliances are connected to the input/output ports of the embedded system board and their status are passed to the server. The monitoring and control software engine is based on the combination of JavaServer pages, JavaBeans, and interactive C. The home appliances can be monitored and controlled locally via the embedded system board, or remotely through a Web browser from anywhere in the world provided that an Internet access is available. The system is scalable and allows multi-vendor appliances to be added with no major changes to its core. Password protection is used to block unauthorized users from accessing the appliances at home. If the Internet connection is down or the server is not up, the embedded system board still can control and operate the appliances locally.