Introduction to the California Roll

What is the California Roll?

The California Roll is a accelerometer based balance board. It is hackable. It can be used to counter gravitational forces in many applications: active suspension, camera leveling, balance-bots. It reads the current G-forces and sends high speed adjustments to 4 servo outputs. Specifically, the California Roll is a physical computing platform based on an accelerometer and Arduino compatible microcontroller combination. It reads accelerometer data and more over an I2C bus (the I2C bus is broken out along the top).

The California Roll can also be used to develop interactive objects, taking inputs from a variety of switches or sensors, and controlling a variety of lights, motors, and other physical outputs. California Roll projects can be stand-alone, or they can be communicate with software running on your computer (e.g. Flash, Processing, MaxMSP.)


Why use the Arduino platform?

There are many other microcontroller platforms available for physical computing. Parallax Basic Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handyboard, and many others offer similar functionality. All of these tools take the messy details of microcontroller programming and wrap it up in an easy-to-use package. Arduino also simplifies the process of working with microcontrollers, but it offers some advantage for teachers, students, and interested amateurs over other systems:


  • Inexpensive – Arduino boards are relatively inexpensive compared to other microcontroller platforms. The least expensive version of the Arduino module can be assembled by hand, and even the pre-assembled Arduino modules cost less than $50
  • Cross-platform – The Arduino software runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows.
  • Simple, clear programming environment – The Arduino programming environment is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well. For teachers, it’s conveniently based on the Processing programming environment, so students learning to program in that environment will be familiar with the look and feel of Arduino
  • Open source and extensible software- The Arduino software is published as open source tools, available for extension by experienced programmers. The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it’s based. SImilarly, you can add AVR-C code directly into your Arduino programs if you want to.
  • Open source and extensible hardware – The Arduino is based on Atmel’s ATMEGA328p microcontrollers. The plans for the modules are published under a Creative Commons license, so experienced circuit designers can make their own version of the module, extending it and improving it. Even relatively inexperienced users can build the breadboard version of the module in order to understand how it works and save money.


How do I use the Arduino programming environment?

See the getting started guide.

Watch this video

Some portions of this text are used by permission from the Arduino getting started guide and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.

Comments are closed.