Based on Arduino UNO: Ringo uses the same microprocessor as the Arduino UNO, and runs at 8 MHz which is adequate for the functions Ringo will be expected to perform. You’ll use the Arduino IDE coding environment to write code for Ringo. He is fully compatible with all the functions and libraries available for the UNO board. We have also written some custom libraries and functions which do the heavy lifting when it comes to dealing with the accelerometer, gyro, and the math associated with calculating movements.
3-Axis Accelerometer: Can be used to sense movement in all 3 axis. Can also be used to determine the orientation of the robot as well tap detection. So you can trigger behaviors when the robot is moved or swatted by your cat. This sensor can be used as a basis to make Ringo travel specific distances, or when moved by an outside force to return to his starting position, etc. The part is a Freescale MMA8451QR1.
3-Axis Gyroscope: Can be used to determine which direction Ringo is facing. It works in all 3 axis, though the flat axis will be most useful as you can determine how far he has turned, or to cause him to turn a specific number of degrees. The part is an ST L3GD20TR.
Six RGB LEDs: Each of these LEDs can create a mix of red, green, and blue which basically allows you to create any color you want by mixing the three values. These are the same lights used in NeoPixel products from Adafruit Industries. (Thanks Limor!!!) The code to control the lights is super simple to use and the lights enable all kinds of expression. Two lights on the top, two on the bottom, and both eyes light up. Bling!
Sound Element: The piezo sound element can create any sort of pings, tones, and chrips you can think of. Can be used to give Ringo a voice as he explores his environment. Can also be used to play musical notes.
Light Sensors: Three sensors can measure ambient light 360 degrees around Ringo, allowing him to respond to light, shadows, etc.
Infrared Light Sources: Three IR light sources are placed pointed 120 degrees apart. They can be enabled individually in any pattern and can be driven together at the same time. This allows creating signals like those from a TV remote to communicate with other Ringo bots or control appliances like your TV. They can also be used together with the Light Sensors to detect objects or movement near Ringo.
38 kHz Receiver: This is a special sensor designed to sense the modulated light signal produced by most TV remote controls. Use the included remote or teach your Ringo to respond to your own remote. Imagine if each time you change a channel on your TV that Ringo dances around your coffee table. Cool!
Edge Sensors: A light sensor and an IR light source are hidden under each of Ringo’s feelers and also at the rear of Ringo. This allows him to sense edges and follow lines. We’ve had success creating mazes with lines or tape on a desk. What other uses can you come up with?
Charging: Ringo charges his battery automatically whenever plugged into the programming adaptor, or when a USB cable is connected directly to his USB port. (Note the USB port on Ringo does not provide any data communication, it is simply used as charging input). A “charging status” LED is provided so you can see when he has completed charging.
Pager Motors: The tips of the motors contact the running surface, allowing Ringo to skate around your table. Both motors can be controlled independently. They can run forward or backward at variable speed.
Programming Adaptor: The programming adaptor is a go-between for your computer and Ringo.