|
|
About servoshock for Dualshock 3 controller
The ServoShock module is a RC servo, motor PWM and digital output circuit that is controlled by a Sony Dualshock 3 controller via USB or Bluetooth. This website was created to provide documentation for the ServoShock project.
Features:
10 RC Servo/PWM outputs: These outputs can either output a pulse train for RC servos or a PWM signal that can be used to control DC motors. The analog inputs are read from analog sticks, triggers, X/Y/Z –axis accelerometers, and the Z-axis gyro.
17 digital outputs: Controller buttons and triggers control digital I/O pins. Five different modes are available for each button: pushbutton, toggle, single-shot, autofire, and toggle autofire.
Bluetooth/USB interface: The DualShock controller can be connected via USB or Bluetooth with a range of up to 10-20m, depending on the environment.
Control of DualShock rumble motors: The controller's rumble motors can be controlled through an analog interface or the SPI bus.
Control of DualShock LEDs: The indicator LEDs and rumble motors in the DualShock controller can be set using digital input pins or the SPI bus interface.
Output adjustment/configuration: Both servo/PWM and digital I/O outputs have several adjustment and configuration parameters that can be set in-field using only the controller. The settings can be saved in non-volatile memory.
SPI bus interface: A SPI bus interface is provided to enable the user to read data packets from the DualShock controller and write data to override the controller inputs and to set the controller's LEDs and rumble motors. All four SPI bus modes can be used up to 1MHz clock rate.
UART bootloader: A 115200bps UART interface is provided for debugging and loading new firmware.
DIP-40 footprint: The module fits in a DIP-40 socket and breadboard compatible.
Joystick Signal Mixer: The outputs for the joysticks can be mixed for differential drive control or Mecanum wheel control.
Hold/Recall servo position: Move a servo to a position and hold it (absolute joystick mode), or memorize a position and recall it (relative joystick mode).
Features:
10 RC Servo/PWM outputs: These outputs can either output a pulse train for RC servos or a PWM signal that can be used to control DC motors. The analog inputs are read from analog sticks, triggers, X/Y/Z –axis accelerometers, and the Z-axis gyro.
17 digital outputs: Controller buttons and triggers control digital I/O pins. Five different modes are available for each button: pushbutton, toggle, single-shot, autofire, and toggle autofire.
Bluetooth/USB interface: The DualShock controller can be connected via USB or Bluetooth with a range of up to 10-20m, depending on the environment.
Control of DualShock rumble motors: The controller's rumble motors can be controlled through an analog interface or the SPI bus.
Control of DualShock LEDs: The indicator LEDs and rumble motors in the DualShock controller can be set using digital input pins or the SPI bus interface.
Output adjustment/configuration: Both servo/PWM and digital I/O outputs have several adjustment and configuration parameters that can be set in-field using only the controller. The settings can be saved in non-volatile memory.
SPI bus interface: A SPI bus interface is provided to enable the user to read data packets from the DualShock controller and write data to override the controller inputs and to set the controller's LEDs and rumble motors. All four SPI bus modes can be used up to 1MHz clock rate.
UART bootloader: A 115200bps UART interface is provided for debugging and loading new firmware.
DIP-40 footprint: The module fits in a DIP-40 socket and breadboard compatible.
Joystick Signal Mixer: The outputs for the joysticks can be mixed for differential drive control or Mecanum wheel control.
Hold/Recall servo position: Move a servo to a position and hold it (absolute joystick mode), or memorize a position and recall it (relative joystick mode).
ServoShock Datasheet and Schematics
|
ServoShock Module Gerber Files:
ServoShock Shield Gerber Files:
Module Circuitmaker PCB:
|
Arduino Library and Sample Sketch (For PS3 Controller)
This sketch will use the included ServoShock library to display the state of the joysticks, trigger, buttons, accelerometers, and gyro on the serial console. It will also override the controller LEDs and rumble motors with SPI commands. |
|
ServoShock Firmware for PS3 and Move Navigator
Release Notes:
|
|
Modified version of DS30 Bootloader
|
|
FTDI VCP Driver for ServoShock Shield USB-Serial Bridge
|
Bluetooth dongle driver for Windows (not required for ServoShock)
|
|