Fidget Handle, orange shell with a clear top, joystick and colored buttons

Fidget Handle

A handheld controller with a joystick, buttons and a pressure sensor. It picks up the small movements people make when they fidget and answers with sound, vibration and visuals on a screen.

Personal project, 2024About 8 weeksArduino, Processing, 3D printing

Stress and anxiety often show up as unconscious hand movements such as tapping, squeezing or fidgeting. Fidget Handle explores how these natural behaviors can be redirected into a calming, intentional interaction.

The project combines physical controls, embedded electronics and real-time digital feedback in one object you hold with both hands.

What hands already do

I asked people around me which stress relief objects they use and what they get out of them. Three of the answers:

Stress ball, squeeze
"I like squeezing soft things."

Stress ball, squeeze

Meal bell, press
"The sound of the meal bell is quite addictive!"

Meal bell, press

Radish toy, spin
"Lately, the trending radish cutting is really cool when it spins."

Radish toy, spin

Other objects I looked at

Fidget cube
Fidget cube
Spinner
Spinner
Pop-it
Pop-it
Infinity cube
Infinity cube

Squeezing, pressing and spinning already produce feedback people find comforting and want to repeat. The handle had to take all three.

Hand pose: Grip

Grip

Hand pose: Pinch

Pinch

Hand pose: Punch

Punch

Hand pose studies

From clay to print

I handed people clay and let them knead whatever shapes felt right, then placed the hardware on those shapes as the first prototype test. The shell went through several rounds after that, and it had to work for the hand and for the boards inside.

Clay in the hand

1Clay in the hand

Clay forms

2Clay forms

First print

3First print

White model

4White model

Final shell

5Final shell

Wiring it up

Wiring diagram

Everything runs on an Arduino, so I could test the interaction logic before anything went into the shell.

  • Each button plays its own tone, and a sequence of presses plays a melody.
  • The joystick's position sets how hard the vibration motor buzzes.
  • Sensor readings go over serial to Processing for the visuals.
Buttons on the breadboard
Breadboard test
Holding the wired prototype
Joystick
Joystick
Pressure sensor
Pressure sensor
Buttons
Buttons
Speaker
Speaker
Vibration motor
Vibration motor
MPU6050 motion sensor
MPU6050 motion sensor
Arduino Uno
Arduino Uno
HC-05 Bluetooth
HC-05 Bluetooth

Inside the handle

  1. 1Top board
  2. 2Joystick
  3. 3Speaker
  4. 4Middle board
  5. 5OLED screen
  6. 6Button
  7. 7Bluetooth
  8. 8MPU6050
  9. 9Uno board
  10. 10Battery
  11. 11Down board
Exploded view of the handle

On screen, in Processing

Three Processing sketches turn the handle's inputs into visuals and sound in real time.

Joystick paint

Joystick paint

MPU6050 cube

MPU6050 cube

MPU6050 cube

MPU6050 cube

Pressure game

Pressure game

Joystick paint

Paint by twisting the joystick and pressing buttons.

MPU6050 cube

Shake the handle and press the pressure sensor to trigger sound and visuals.

Pressure game

The pressure sensor drives the visuals; the joystick and buttons drive the sound.

Using the handle with the Processing sketch

Two experiments with AI tools

Morse code from the pressure sensor

Morse code from the pressure sensor

Short and long presses on the pressure sensor write Morse code. ChatGPT translated the code into letters and words, which then became text for a text-to-music step.

Image to music with Mubert

Image to music with Mubert

The path of the user's movement is drawn as an image, and I uploaded that image to Mubert to generate music from it.

The product page

In fall 2025 I rebuilt the project as a product microsite for a Web and UI course at RIT. These are the product shots from it.

Product shot 1
Product shot 2
Product shot 3
Product shot 4
Arduino · Processing · 3D printing · ChatGPT · MubertAll projects