The ServoShock module is a small circuit (about the size of a stick of gum) that can pair with a Sony Dualshock3 controller via USB or Bluetooth, and translate button presses and stick/trigger/accelerometer movement into digital signals. Its purpose is to make it very easy to integrate a game controller into electronics projects.

Here's a demo:

The circuit was designed to be highly adjustable but also user-friendly. Output adjustments can be made in the field by holding the Start+Select buttons for three seconds to enter a configuration mode. No computer or additional software is required to make adjustments, although having a serial port to read the console output from the ServoShock while making adjustments is helpful.

About the ServoShock Module

ServoShock Module

The ServoShock module is a small board with an embedded USB host that
is pre-loaded with drivers for the Bluetooth dongle and the DualShock3
controller. The I/O pins are arranged in the DIP-40 footprint, allowing
it to be easily inserted into a breadboard or a DIP socket. The Dualshock3 controller's Bluetooth radio has a maximum range of about 10-20 meters.

Each of the servo/motor channels of the ServoShock module can be individually adjusted in several ways:

Switch between R/C servo and motor PWM

Absolute/relative position modes

Invert direction

Stick sensitivity adjustment

Center deadband adjustment

Range of motion adjustment

Output trim

Analog input home position calibration

Servo signal period adjustment

PWM frequency adjustment

There are also different modes available for the digital outputs tied to the buttons:

Pushbutton

Toggle

Single-shot (output is active for a set duration and will not reactivate until the button is released and pressed again)

Autofire

Toggle Autofire

Outputs can be inverted

Pulse width adjustment for single-shot/autofire

Autofire frequency adjustment

About the ServoShock Shield

ServoShock with Shield

The ServoShock Shield is a demo board for the module that can also be used as Arduino shield. The board contains a 5V and 3.3V voltage regulator, header pins for R/C servos, screw terminals for external power, Arduino Uno headers, and a USB-to-UART bridge. When used as an Arduino shield, the SPI bus pins are connected to the corresponding pins on the Arduino, and the user also has the option of powering the ServoShock from the Arduino's 5V or Vin power.

Getting the demo board/Arduino shield is recommended if you don't already have a 0-3.3V/5V to serial converter, so that you can read the console readouts when making adjustments and update the firmware when new revisions are released.

The shield will come in kit form, with only the surface mount components soldered. This will allow you to customize the board more easily. For example, the 90-degree header pins for the servos can be switched to straight headers (not included in the kit) if you want the wires to stick out the top of the board instead of the side. Or, if you don't plan on using it as an Arduino shield, you can omit the Arduino headers and you won't have extra-long pins sticking out the bottom. A fully assembled version is also available.

Please check out the datasheet and schematics at www.servoshock.com for detailed information about the circuits.

About the Rewards

$5: Source code only: Get early access to the source code, circuit schematics, and compiled firmware hex file. The source code will only be available to backers until some time after all Kickstarter rewards have been delivered. Backers will need to provide their own hardware and programmer, so this reward tier is strictly for advanced users only. The AZiO BTD-V201 Bluetooth adapter is compatible and is available on Amazon.

$35: One ServoShock module: This includes the populated circuit board, a USB Bluetooth dongle, and a loose set of header pins that can be soldered to the circuit board.

$55: One ServoShock module and one Shield kit: This includes one ServoShock module and one ServoShock Shield kit. The shield kit will come with SMT parts pre-soldered. (Recommended)

$69: One fully assembled and soldered ServoShock module and Shield. Same as the $55 reward, but we'll personally solder the parts on for you.

To recap:

Rewards.

Current Status

Several iterations of prototypes
have been made, firmware has been written, and a sample production run
from the contract manufacturer is complete. The ServoShock's design has been tested with a variety of RC servos and motors, but has not been
extensively field tested for lack of projects to test with--this will be the first time it is made available to the public.

The funds for this project will be used to buy the parts, build the boards, and ship them out.

The boards shown below are from the sample batch, and everything seems to be working. A limited quantity of these boards are available to early backers; these will be shipped out as soon as possible once the campaign ends.

Boards waiting to be shipped.

Application Notes

Reading packet data with an Arduino:
Please see the "Arduino SPI Bus Example" sketch in the datasheet (linked at the top of this page).

How it All Started

It started a few years ago when we were playing a video game called Mass Effect over Christmas. Certain sequences in the game involved driving around in a 6-wheeled tank called the M35 Mako, famous for being able to drive you up a wall (literally). We wanted to build a R/C model of the Mako to drive around the house for our amusement.

Mako tank from Mass Effect

We thought it would be cool if the vehicle were controlled with a game controller, so we built a
circuit to decode the inputs from a USB XBOX360 controller. Unfortunately, we got busy with "real" work so the project was off-and-on for years and it has been mothballed again...for now. The game controller interface looked useful though, so the work was spun off and became
ServoShock. Since then, the ServoShock module has evolved to using a PS3 controller (for the Bluetooth, accelerometers, and gyro) and has become a stand-alone robotics controller. In testing, the range of the Bluetooth radio in the Dualshock controller tops out somewhere between 10 and 20 meters, so Bluetooth isn't going to be a good solution for an outdoors R/C vehicle.

We did get as far as building a 6x6 chassis though. Maybe we'll finish this up someday.

Risks and challenges

- Hardware or software bugs: The hardware and code have not been extensively field tested, since they haven't been released into the "real world" yet. Without rigorous testing, software of this complexity is all but guaranteed to have bugs. Repeated, in all caps for emphasis: *THERE WILL BE BUGS.* Currently known issues can be found in the "Troubleshooting/Known Issues" section of the datasheet. So far it seems to be quite usable, and new firmware can be uploaded via the UART or ICSP header. Hardware problems may be more difficult to fix.

- Supplier Issues: Lead times, delays, and quality control problems are all issues we face. The Bluetooth dongles are the highest risk; the firmware driver is tailored to a specific Bluetooth chipset, and finding and vetting a source, requesting samples, and testing them takes time, so it's not trivial to switch suppliers. The circuit board contract manufacturer is also a risk; if they screw it up and don't own up to it, it may be difficult to resolve.

- Human error: When Kickstarter projects get derailed, it is often due to mistakes by the project managers. We didn't come here until we had built a sample batch, so we've had a little practice.

- Schedule: Schedule estimates are based on a nominal situation where everything goes fairly smoothly. When something goes wrong on an electronics production line (for example, if the assembly house solders a part on backwards), it generally affects the whole batch, which could take some time to rework. If we end up having to build a large number of these boards, delivery will end up being in multiple batches, which will also take longer. As much as we would like to devote all of our time to this project, we both work full-time and must attend to our jobs during the regular workday.

- Force majeure: The type of catastrophe scenarios described in the fine print of your insurance policy.

The OEM claims that this is a v4.0+EDR, Class 1 Bluetooth radio. However, we don't have the necessary equipment to verify their claims. The Windows Bluesoleil driver is available from www.servoshock.com. No Mac driver was supplied by the OEM.

Support this project

Select this reward

Pledge $5 or more
About $5

SOURCE CODE ONLY. For those who insist on DIY. As a backer, you get early access to the compiled firmware hex file and source code, which won't be published publicly until all the backers have received their rewards. ADVANCED USERS ONLY!

Kickstarter is not a store.

Pledge $55 or more
About $55

RUSH ORDER. Get it earlier. These units are the production samples, and are ready to ship. 1 ServoShock module + 1 Shield kit (surface-mount components will be pre-soldered). Bluetooth dongle included. DualShock controller not included.

Kickstarter is not a store.

Pledge $329 or more
About $329

A $400 value for $329! The mecanum wheeled chassis in Update #8, plus a fully assembled ServoShock module and shield. The chassis comes with its own ServoShock module and shield, so you'll get 2 sets total. The chassis will also come with a Castle Creations adjustable BEC to power the ServoShock board, a 2S-6S LiPo battery pack (or a high current capacity NiMH pack) with a Deans connector is required. DualShock controller and battery not included.