User's manual, design files, source code, and Arduino example can be found here: http://www.servoshock.com/servoshock-2-for-ps4.html
ServoShock 2 for PS4
The ServoShock is a servo control board that lets you control servos and digital outputs with a Sony DualShock 4 controller (for the PlayStation 4) over USB or Bluetooth. It is also compatible with the T.Flight HOTAS 4 joystick and 3DConnexion SpaceExplorer, SpaceNavigator, or SpaceMouse Wireless. No programming experience is required. To get started, you just need a PS4 controller, a USB cable, a power source between 5V-17V, and the servos. The ServoShock has an on-board 5V regulator that can be used to supply low power servos, or the regulator can be bypassed to power the servos directly from the power supply if you need more power.
The ServoShock can control 12 servos and 18 digital outputs. The outputs are controlled by:
- 4 servo channels mapped to the analog joysticks
- 2 servo channels mapped to the triggers
- 4 servo channels mapped to 2 virtual joysticks on the touchpad
- 2 servo channels mapped to the X/Y tilt sensor
- 18 digital outputs mapped to the buttons and triggers
The rumble motors and the LED light bar can be controlled with analog input pins.
There are many built-in configuration and adjustment options that should satisfy the vast majority of use cases.
Servo adjustment options include:
- Direction, sensitivity, travel limits, trim, and deadband adjustments
- Joystick zero position calibration
- Position/Incremental mode (joysticks can directly control the servo's position or move incrementally in the direction the stick is pushed)
- Differential and mecanum wheel drive control mixers
Button digital output adjustment options include:
- Pushbutton mode
- Toggle mode
- Autofire with adjustable duty cycle and frequency
- Toggled autofire
- Single pulse with adjustable pulse width
- Output inversion
Arduino headers can be installed in the ServoShock to use it as an Arduino Uno shield. When used as an Arduino shield, the Arduino uses the SPI bus to read the PS4 controller through the ServoShock and can selectively control the servos and digital outputs, allowing the user to implement a custom control scheme and program automated sequences. The light bar and the rumble motors can also be controlled by the Arduino.
This is an open source project, design files and firmware are posted at the documentation website. (http://www.servoshock.com/servoshock-2-for-ps4.html).
Original ServoShock DIP-40 Module
The ServoShock 2 is an update to the original ServoShock (http://kck.st/1gV4LmX) for the PS3 controller. The DIP-40 module has a much smaller form factor and is breadboard-friendly, which is useful if you have limited space or want to build your own circuit around it. These are compatible with the new firmware for the PS4 controller, but the output pin for the button under the touchpad and the light bar control pin are not brought out (the new pin mapping can be found in the ServoShock 2 user's manual linked at the top of the page). The DIP-40 module requires an external 3.3V and 5V power supply. These boards are available at www.servoshock.com, and I'm making a limited number of them available for $20 as an add-on instead of the usual $35.
For backing this project, you will receive a ServoShock 2 board with a set of loose Arduino headers. The Bluetooth dongle is included; the PS4 controller is not included.
Also available is a kit for interfacing with the FrSky XJT radio module. The radio module itself is not included.
For this Kickstarter, I am also offering a limited number of discounted DIP-40 modules ($20 instead of the usual $35) as an add-on. These will come with the new firmware for the PS4 controller.
Status and Schedule
The designs are ready for production. Production samples have been received and tested. The test fixtures and test software have also been built and tested.
It will probably take about 2 months to get everything built, tested, packed, and shipped, so deliveries are expected to begin late April.
For electronics manufacturing, it's economical to build in batches, so crowdsourcing a production run lowers the price for everyone. I also had a great experience with my last Kickstarter, and the feedback I got from my backers helped me improve the design.
Thanks for considering the ServoShock, and please let me know if you have comments or questions. I'd love to hear from you!
Risks and challenges
The boards are fairly simple and will get delivered eventually barring some disaster, but problems with the supply chain (vendor mistakes or part shortages) could cause several weeks of delays. Since each part is individually tested in-house before shipping, large volumes would cause delays as well.
The ServoShock has been tested and works with the two PS4 controllers that I own, one original PS4 controller and one PS4 Pro controller. However, it is possible that a different revision (for example, if Sony updates the firmware in the future) of the controller may not work with the ServoShock, since Sony does not publish their specifications or communication protocols (I had to reverse engineer it). If this happens, please let me know, and I will look into it.
Also, some of the newer features (such as using the ServoShock with the XJT radio module) have not been extensively tested in the field.
In any case, I want you to be happy with it, and if you're not, I'll refund you.Learn about accountability on Kickstarter
- (39 days)