Massage Spike Chair

* Strategy:

the testing that interested me the most was the array of motors. The potential to move a vibration across a surface or body part felt like a fun area of exploration and I was reminded of an idea I had had last year for a feedback chair. Designing, refinishing and rebuilding furniture has always been a hobby of mine and I have been waiting for an opportunity to incorporate some furniture into some of the electronics explorations I have been doing. Naturally, since my concerns are often with weird pleasures and BDSM aesthetics I envision this chair to be a combination massage chair/nail bed.

* Documentation:

For the small prototype version of the chair I wanted to test out how the vibration would feel through a patter of clothing spikes (like the ones we put in our coats when we were young punks), so I decided to make a small pad with just a few motors. The final goal would be to take an old wooden chair and replace the cushion with one a custom made pad like the one made for this test.


the important pieces.


extending the wires


gluing everything way too much so that the wired don’t pull out as I had been warned that this often happened


I ended up putting an extra layer of leather around the motors as the upper level with the spikes was not laying flat and needed some more support.


the final pile


hooking it up to the arduino


I realized there was no good way to make a video of it as the vibrations are not strong enough to show up, but it was pleasant, less painful than anticipated and much more distinct in the area of vibrations that I expected. the vibration patter was simple and just cycled through the three motors. moving forward it would be nice to experiment with writing more complex patterns.

video of testing that shows the code working:

very simple code:

int VIB1 = 9;
int VIB2 = 5;
int VIB3 = 10;

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(VIB1, OUTPUT);
  pinMode(VIB2, OUTPUT);
  pinMode(VIB3, OUTPUT);

// the loop function runs over and over again forever
void loop() {
    analogWrite(VIB1, 255);
    analogWrite (VIB1,0);
    analogWrite(VIB2, 255);


* Insights:

I think one of the big takeaways from this process is that the placement of the motors and the placement of the spikes will be the most important element to finesse in the version of the chair. If the spikes are too far apart they won’t form enough of a surface to support weight and will just becoming painful. They will also be very difficult to align if they have space between them to fall over, since this thin leather is quite stretchy. It’s possible that the leather used will have to be much stiffer in order to let them sit flat. Originally, I though the motors would need to be placed quite close together, but in order for them to be distinct they need to have quite a bit of space from one another, which is very nice in a practicality sense due to them being expensive and also the port limit of the board I have been working with (feather M0). I will probably be looking into working with a Mega for the final chair as I envision the spikes and motors lining not only the seats but also the back, and even with the allowance of space between motors, the surface area of a chair will probably require more than the 13 ports on the feather. The mega is also a 5v bolt which produces much more pleasing vibrations than the 3v feather, which in this version is quite weak.


* Information sources:  n/a

* Next Steps:

The next major steps are the start working it into chair form. Sourcing good wooden chairs has always been as little tricky, but I have found a few that I may be picking up soon. I think the best course of action would be to make a similar pad, but larger, or maybe even a few to swap out and get to testing out how it feels to sit on them – it would be interesting to get different spikes/nails and see the way the shapes of them change the feeling of the vibrations. The whole sensation will most likely change dramatically when a person’s whole body weight is pressing into the spikes. Further to that I would like to incorporate some type of use controllers on the chair. Aesthetically, I like the idea of this being a row of potentiometers along the arms that change the speed and intensity and possibly patterns. Inputs are even more reason to move over to working with a Mega, gonna need those ports!