January 27, 2020 · project

Final Build and Testing

It's finally time to build the project! The construction of the fidget toy took place in 4 stages:

Iterating on the Capacitive Touch Sensors in the MVP

The capacitive touch sensor in my MVP was quite limited in functionality. It could only sense stroking in a single direction, and was very easily overwhelmed with data due to the unoptimised nature of the code I had written for it. After attempting a different solution, involving pressure sensitive matrices, and realising those weren't going to work either, I decided to iterate on the capacitive sensors.

I changed the shape of the conductive surfaces, to allow stroking from more directions, as well as increasing the strength of the resistor for each sensor, to allow for sensing through thicker material. I talk more in depth about these changes in this blog post.

Improved sensors, including higher power resistors

Soldering and Wiring up

After finishing with the testing of the new sensors, it was time to solder everything into place. I did this using perfboard and an awful lot of solder. I only burned myself 3 times!

Perfboard and soldering
Perfboard mounted to Arduino

Housing the Electronics

In order to keep the electronics safe inside of the fidget toy, I packaged them inside a small cotton parcel. This was then sandwiched between layers of wadding. The outside layer had the sensor taped to the inside of it, so as to allow maximum contact with the outer surface of the toy.

In the belly of the beast...
Package secure!

Finishing Touches and Testing

After that, I pinned the open sides of the outer layer closed, with a view to sewing them later, after I tested that the whole thing worked after being assembled. Unfortunately the vibration motor I placed inside didn't appear to work. I wasn't sure if this was due to a loose connection or if the motor itself had failed. It seems as though the sensors themselves were still working, however, which was my main focus for the project.

Sadly due to some poor time management, I didn't get to fix my problems with the vibration motor. The toy itself remains very pleasing to the touch, It's soft and tactile, and does provide feedback on-screen when stroked.

Stroking detection with output on-screen via the serial monitor
Stroke detection testing


In conclusion, this project didn't reach it's end. The time management difficulties I got myself into were my own fault. In a hypothetical version 2 of this device, I would implement multiple vibration motors distributed evenly inside, to give a uniform sense of purring. I would also have liked to add a small speaker for outputting noises to accompany the vibrating. Lastly, an on-board power source would be a must, as currently the device requires external power from a battery bank or computer.

I have learned a great deal whilst working on this project. I hadn't sewed anything in over 10 years before a few months ago, and could barely hold a soldering iron. Although my time management let me down, I'm proud of what I've achieved. I also have enough faux fur to make a set of cushions! I wonder if those should have Arduinos inside...