A handheld controller that uses air pressure to send haptic feedback.
Created by: Ruzanna Gaboyan and Philip Golczak
Date: June 7, 2025
The Haptic Joystick System is a wireless controller that lets you wirelessly control robot arms in XYR directions using your hand movement and pressure. It includes a two dual axis joystick modules for motion control in XYR directions, and a small squeezable air bulb that sends and receives air pressure signals. The controller reads how hard you're squeezing using an air pressure sensor and can also send pressure back into the bulb to communicate resistance.
Why we made it: By this project we wanted to make controlling robots more natural by "feeling what they feel" in addition to just moving them. This is useful especially in robotics tasks where pressure precision applied by the robot matters: like gripping and squeezing fragile objects.
//////Note: we removed the screen feature to bring the cost of the project down.
- Pneumatic haptic feedback system: Squeeze a small air bulb to send signals to a robot arm.
- Joystick control: Move the robot arm in XYR (R-Rotation) directions.
- Two-way haptic feedback communication: Air pumping piston mechanism also sends pressure back into the bulb when robot grips something.
- Wireless communication: ESP32 hamdles communication between the controller and the robot over Wi-Fi.
- Custom PCB and 3D case: Designed and built from scratch for this project.
- OLED Display: A little screen shows live data like grip pressure, feedback intensity and other info.
- Ergonomic handle options: In addition to the default casing, we CAD-ed an alternate ergonomic grip design for more comfort that can be added on the controller.
Ergonomic handle options: In addition to the default casing, we CAD-modeled an alternate ergonomic grip design for added comfort and modularity when holding the controller.
| Part Number | Part Name | Description | Unit Price | Total Price | Link |
|---|---|---|---|---|---|
| MP1 | ESP32 | Wi-Fi Microprocessor | $5.99 | $5.99 | Amazon |
| J1, J2 | Joystick Module (2x) | KY-023 control joystick module | $6.79 | $6.79 | Amazon |
| S1 | AITRIP Pressure Sensor | Barometric Pressure Sensor Module | $9.99 | $9.99 | Amazon |
| PCB1 | PCB | Fabricated PCB | $5.00 | $5.00 | PCBWay |
| BT1 | Battery Connector | Plug in for LiPo battery | $3.77 | $3.77 | Amazon |
| BULB | Pipet bulb | 4ml Air bulb for pressure sensor | $7.98 | $7.98 | Amazon |
| TUBE | Tubes | Tube to connect the sensor, pump and air bulb | $7.49 | $7.49 | Amazon |
| CN1 | Tube T-Connectors | Connectors for the tube, air bulb, sensor, pump | $11.99 | $11.99 | Amazon |
| SYRINGE | Syringe | 10ml Syringe for inflating and deflating | $5.99 | $5.99 | Amazon |
| AT1 | Actuator | Mini Linear Actuator to push air | $19.99 | $19.99 | Amazon |
| MD1 | Motor Driver | Stepper Motor Driver Module | $6.98 | $6.98 | Amazon |
| TOT | Total (excl. taxes & shipping)ing) | $91.96 | |||
| Total WITH taxes & shippingping | $114.50 |
We want to purchase most of the parts from Amazon. We chose Amazon as our primary supplier because we have access to Amazon Prime, which has faster shipping. The prime shipping makes the packs cheaper than the singular alternatives at other sources (like AliExpress). Also, we own some of the parts, like the battery and boost converter, so their cost is put as $0.
//Note: The difference between Aliexpress sourcing and Amazon sourcing for this project is ~$7.00
- Joystick modules send movement data wirelessly through ESP32 to the robot arm,
- When you squeeze the air bulb the pressure sensor reads the force,
- ESP32 sends that signal to the robot (like our Remote Assist Hand, but the controller can potentially be used on other robots as well),
- If the robot grips something, it sends resistance signals back,
- Air pumping mechanism activates and sends pressure into the bulb,
- You feel it!
- OLED screen displays pressure data, joystick values, connection status and more. Pressing either joystick down switched between display modes.
PCB
3D model
- Brainstorming and sketches
- PCB design in KiCAD
- CAD modeling in OnShape
- Coding
- Revision and Optimization
- Assembly and testing
Our full development journal can be found here
For any questions or suggestions please reach out to us at [email protected] or [email protected] .