A camera poses a highly attractive choice as a sensor in implementing simultaneous localization and mapping (SLAM) for low-cost consumer robots such as home cleaning robots. This is due to its low cost, light weight, and low power consumption. However, most of the visual SLAMs available to date are not designed and, consequently, not suitable for use in a low-cost embedded SLAM for consumer robots. This article presents a computationally light yet performance-wise robust SLAM algorithm and its implementation as an embedded system for low-cost consumer robots using an upward-looking camera. Especially for a large-scale mapping of indoor environments, methods of pose graph optimization as well as submapping are employed. An occupancy grid map is used to integrate an efficient Kalman filter-based localization into a SLAM framework. Furthermore, an algorithmic visual compass is introduced as a means of reducing the computational complexity involved in pose graph optimization, taking advantage of the distinct geometric features of the scenes captured by an upward-looking camera. The proposed visual SLAM is implemented in a real home cleaning robot as an embedded system using an ARM11 processor. Extensive test results demonstrate the power of the proposed embedded visual SLAM in terms of not only its computational efficiency but also its performance robustness in realworld applications.