When you're playing a racing game or using an RC car, you will very often move your whole body when driving through tight turns or accelerate with full speed — but the control itself is very often still done through abstract buttons on a game controller or keyboard.

ShakerRacer does not need this additional layer and allows you to control an RC car directly through your movements — by using the acceleration sensor of your mobile phone. It works in a very intuitive way: just tilt your phone in the direction you want to drive. That's it!

The car that we used is based on a standard €90 RC car bought from a toy shop. We modded it to accept Bluetooth instead of the proprietary wireless module that it was shipped with. A small microcontroller and a Bluetooth module replace the original wireless components.
On the side of the mobile phone, a Python script translates the input of the acceleration sensor to commands that the microcontroller can understand in order to manage the steering servo as well as the main motor.

It turned out that this is a very intuitive and natural way to control the car. You do not need any practice as the concept can be understood instantly. So there's nothing that can block your way to fun!

Keep in mind that the phone cannot simply connect to an out-of-the-box RC car, as the standard wireless remote control of a car uses some proprietary protocol and technology for communication.
Only by adding a microcontroller + Bluetooth module, you can make the car understand Bluetooth and enable it to communicate with the phone. Stephan Selinger has written some short instructions on how to accomplish this, but it requires some hardware ownership as well as –knowledge.

The Python application now uses the official Nokia Sensor-API by default. This allows using the mobile client with the Nokia 5500, N95 (Firmware 20+), N95 8GB, N93i and the N82. For the N95 with older firmware, you can reconfigure the code to still use the very nice aXYZ Python-module.