With the advancement of the Internet of Things movement, ubiquitous computing is now an accelerating field for embedded system researchers to pursue. Almost all of these new connected systems are equipped with sensors to gather useful information about their surroundings, and of these sensors the visual sensor presents the richest available datasets in comparison to its scalar counterparts. Deploying wireless sensor networks in remote environments makes it difficult to acquire power to these systems and many choose a battery-supplied source. After optimizing the sensor node for long battery life, many sacrifices are made in performance to delay the need for battery replacement maintenance. Now, however, there is promising furtherance in energy harvesting and rechargeable battery capable sensor nodes, and the need for node maintenance may be obsolete in the coming years. Sensor network devices can now focus less on optimizing for battery life and instead increase the amount of on-board local processing making the device "smart". What defines a smart camera is its ability to process video footage locally instead of a central processing unit online or at a remote network sink node. Progress in the field of computer vision has brought the ability to identify complex objects and behaviors of monitored environments. In this thesis, we present SlugCam, a solar-powered wireless smart camera network platform that can be used in a variety of outdoor applications including surveillance of public spaces, habitat and environmental monitoring, wildfire prevention and detection, to name a few. The system is built with off-the-shelf components which not only keeps it modular and low cost, but also facilitates its prototyping, rapid duplication, and evolution. SlugCam's on-board processing capability allows computer vision software to run locally which contributes to the system's autonomous operation capabilities. Energy efficiency in SlugCam is accomplished both in: (1) hardware by micro-managing low-power components; as well as in (2) software by having the system's operation duty cycles automatically adapt to the current state of the battery in order to balance the trade-off between application-level requirements and power awareness.