Tag Archives: atmega1248p


Selfiebot: An autonomous photo capturing system

Two Cornell University students, Michael Wang and Jennifer Qian, have built Selfiebot, a personal photo companion that will capture your special moments autonomously. It consists of a physical selfie robot unit with camera holder (webcam in this example) that can pan and tilt the camera for proper positioning, and a control module residing in a laptop computer that relays pan and tilt commands to the robot based on the feedback received from the camera. The user gets control of various settings such as image properties, centering properties, and photo taking parameters.

Michael and Jennifer write,

We have designed and constructed an autonomous photo capturing system that detects and tracks faces, centers subjects in the frame, and takes pictures. Since the most straightforward application for our robot is to take pictures of oneself without the aid of others, we have fittingly dubbed our system the “Selfiebot”. When operating our device, the user may specify a variety of preferences through its simple GUI, including contrast, brightness, centering options, the number of people to capture, and the number of pictures to take.

Our system processes images taken from a webcam on a laptop computer, using facial detection to track subjects, and forms movement commands to center the subjects based on face positions. The laptop sends the commands to an ATmega1284 microcontroller via serial communication, and the microcontroller controls the movement of two servos on the robot. These two servos correspond with panning and tilting actions, allowing for two dimensional movement of the camera. Feedback from the camera is used to continuously update movement.

Selfiebot personal photo companion

Selfiebot personal photo companion

Check out there demo video below.

Circuit printer: A rapid prototyping machine for electrical circuits

Another interesting micrcontroller-based design project done by Bruce Land‘s students at Cornell this fall is a circuit printer, a rapid prototyping machine that prints electrical circuits on a piece of paper. Designed by Connor Archard and Feiran Chen, this printer uses an electrically conductive ink pen to rapidly create circuits. The circuit to be printed is drawn through an Web-app and can be sent to the printer from anywhere in the local area network.

Circuit printer machine

Circuit printer machine

As shown in the following demo video, the Web-app allows users to draw out circuits quickly, converts them into vectors and then send them out frame by frame over a WiFi network to the server, which in turn communicates with an Atmega1284P microcontroller embedded into the printer. The Atmega1284P then controls the x and y-axis motors, and raises and lowers the pen as instructed to print the circuit. By measuring the position of the plotter head on each axis through the on-chip ADC and two servo potentiometers, the Atmega1284P processor is able to control the plotter head with an accuracy of approximately 1/10th of an inch on a typical piece of A4 paper.

Connor and Feiran have the following vision about their project,
This idea is aimed to make mass prototyping circuits on flexible surfaces so cheap and easy, and we see a great potential for this product both in industry and remote education. For future improvement, we are thinking of supporting multi-layer, multi-dimension circuits, and designing our own mechanics and support frame for the machine.