NeedleSense: Real-Time Guided Dry Needling for Physiotherapists
by Bram Vandrepol in Circuits > Arduino
34 Views, 0 Favorites, 0 Comments
NeedleSense: Real-Time Guided Dry Needling for Physiotherapists


Dry needling is a manual procedure through which a physiotherapist alleviates musculoskeletal pain and inactivation of trigger points in muscles. The evolution of the technique began in the late 1940s with the insertion of a thin solid needle into the muscle at specific points and depths, usually without injection. Much of the success of the treatment depends upon the practitioner's skill and experience: identifying the correct trigger point, deciding the precise angle and depth of needle insertion, and maintaining consistency throughout the treatment [1,2].
However, one of the barriers to learning dry needling is the difficulty of acquiring these skills. If applied incorrectly, it could lead to a treatment devoid of relevance, increase patient discomfort, or, in extreme cases, cause unintended effects such as bruising, bleeding, and nerve injury [3]. From the perspective of sports medicine, overuse injuries usually precipitate muscle tightness and the formation of MTrPs, especially in large muscles like the quadriceps. Here, dry needling is one of the best interventions but only if it is done correctly and in a safe manner.
Despite being gaining more and more popularity, the current training for dry needling remains very subjective and mostly instructor-dependent with manual palpation techniques being inconsistently applied and hard to quantify. Existing simulation tools suffer one or more disadvantages: lack of realism or are prohibitively expensive for many educational institutions [4]. This clearly exposes a knowledge and technology gap for training tools that are equally accessible, objective, and feedback-driven.
Hence, we put forth the conception of an interactive dry needling training device endowed with real-time haptic feedback. Our prototype incorporates:
- An ultrasonic distance sensor to determine depth of needle penetration
- An MPU6050 accelorometer and gyro to register insertion angle and stability
- And vibration motors (DRV2605) to provide intuitive haptic feedback, which is dependent on performance
Haptic feedback facilitates the motor learning and skill acquisition by providing a real-time assessment of the performance and non-visual cues [5,6]. With the implementation of this technology, the gap between theoretical learning and practical application is aimed to be bridged by providing learners with a safe environment wherein they can hone their skills with data-based support. Moreover, the system also allows the collection of data for objective assessment and tracking of progress, thus providing something that is rarely present in a traditional training ambiance.
Supplies
Electronics & Sensors:
- Arduino microcontroller
- MPU6050 IMU sensor (gyroscope)
- IO expander - 4 channel - with I2C multiplexer
- HS-SR04 Ultrasonic Distance Sensor
- Haptic motor (feedback)
- DRV2605L Haptic Driver Module
Mechanical & Structural component
- Needle with syringe holder
- dry needle
- syringe-casing (acts as the handheld needle applicator)
- heat-shrinkable tubing (used to securely attach the needle to the pen body)
- Custom made platform (hand-made platform to hold sensors on the needle assembly)
- 3D-printed enclosure for ultrasonic sensor
- 3D-printed mount for haptic motor
- Extended sensor cables (connecting sensors to the Arduino while allowing flexible placement)
Muscle
- 3 mm thick felt sheet (represents skin)
- Plastic foil (represents connective tissue)
- Comfy pad (represents subcutaneous fat located between the skin and underlying muscle tissue )
- Ecoflex (represents muscle)
To implement this project, the Arduino software is required and can be downloaded from the following link: https://www.arduino.cc/en/software/. This software enables you to upload all necessary code to the Arduino successfully.
Conceptual Framework and Component Selection
The objective of this project was to build a dry needling training device that provides haptic feedback sessions in real time based on whether the needle insertion is accurate in depth and angle. It simulates a simple human tissue model and provides intuitive feedback to enhance motor learning. The design of the device was meant to be cheap to fabricate, easily copied, and inherently modular for educational use.
System components were chosen based on a combination of performance and availability, as well as ease of integration with Arduino:
- MPU6050: This IMU sensor was chosen for its capabilities in angle and motion tracking using a gyroscope and accelerometer. It helps measure needle insertion angle and identifies any deviations from the required orientation.
- HC-SR04: This is a cheap and widely popular ultrasonic sensor, the perfect instrument for measuring the depth of needle penetration. The sensor features a relatively simple interface to be understandable for any budding micro-controller fanatic and offers all the precision needed for our training requirements.
- DRV2605L + Vibration Motor: The haptic device is capable of producing a varied pattern of vibrations and is controllable through I2C by Arduino. The driver is connected to a small vibration motor that creates feedback signals. One vibration motor is used to provide haptic signals in context: multiple pulses when the angle is too steep (more pulses when the error of the angle becomes bigger), and a vibration when the needle is inserted too far. This keeps the hardware to the minimum.
The sensors are affixed to a handheld syringe that holds the needle, and the system actively monitors the angle and depth of the needle relative to the acceptable ranges. When the needle exceeds any of the respective software conditions, the Arduino actuates the appropriate haptic feedback pattern through the motor. This immediate non-visual prompt helps the learners intuitively correct their technique and reinforces motor learning.The modular setup also allows each component to be changed or fine-tuned independently for further design development, or testing. We want to make sure the system design is simple and accessible to reduce barriers for students and educators to replicate and iterate on the prototype.
Physical Construction



Needle assembly
- A dry needle inserted into a pen-like syringe holder
- Heat-shrinkable tubing was used to secure the needle firmly in place
Ultrasound sensor mount
- A 3D-printed case was designed to mount the ultrasonic sensor on the platform (the files for the case can be found on the bottom of this step, or by using the link: https://grabcad.com/library/hc-sr04-case-ultrasonic-sensor-module-1)
- The sensor is placed inside the case which is mounted on the platform perpendicular to the needle
muscle simulation stack
- A layer system was created as follows:
- 3 mm thick felt that simulates the skin layer
- A plastic foil that simulates the connective tissue
- Foam padding that mimics subcutaneous fat
- Ecoflex silicone that replicates muscle elasticity
vibration feedback system
- A vibration motor is mounted on the upper part of the platform, using a 3D-printed mount. This is used to give feedback based on angle and depth deviation
Wiring

To manage multiple I²C devices with potentially conflicting addresses, we used the Adafruit PCA9546 I²C multiplexer. This 4-channel I²C switch allows us to connect several sensors to the same SDA and SCL lines without interference.
Wiring overview:
- PCA9546 Multiplexer is connected to the main SDA/SCL lines from the Arduino (using the STEMMA QT / Qwiic connectors)
- Channel 0 is connected to the MPU6050 IMU sensor
- Channel 1 is connected to the DRV2605L haptic driver
- The other two channels are not used and can be reserved for future sensor expansion
- The ultrasonic sensor uses digital pins rather than I²C and is wired directly to two digital pins on the arduino
The multiplexer is addressed using standard I²C protocol (default address 0x70). In the Arduino code, before accessing a specific sensor, the corresponding channel is selected via I²C commands. This method keeps wiring organized and avoids any issues related to shared addresses, especially for sensors like the DRV2605L that don't support address changes. The wiring was done using male-to-female jumper wires, with optional soldered connections to extend the cables. When a cable is soldered, a heat shrinkable tube is used to protect the cable.
Programming
The microcontroller firmware was written in Arduino C++ and is responsible for reading sensor data, interpreting the depth and angle of the needle, and providing appropriate real-time haptic feedback via a vibration motor. Every second, the loop() function performs the following tasks:
Measure angle using the MPU6050:
- Pitch and roll are calculated using trigonometric formulas
- If either pitch or roll exceeds 15°, a warning is triggered.The number of vibration clicks corresponds to how large the angular deviation is (e.g., 1 click for small errors, up to 3 for large errors)
Measure depth using the HC-SR04:
- A distance pulse is triggered, and the echo time is converted to centimeters.
- If the needle is too deep (e.g., less than 8 cm from the sensor), a single vibration click is triggered as feedback.
The software is modular, allowing each sensor to be tuned or replaced independently. This enables students to adapt the depth and angle thresholds based on the specific muscle they aim to dry needle. The complete Arduino code used to control the sensors and haptic feedback system can be found below.
Downloads
Results



Discussion
During testing and evaluation of the prototype it became evident that the setup provides a viable training option to develop an intuitive understanding of the appropriate angle of the needle and insertion depth. The real-time haptic feedback allows for users to make immediate corrections and reinforces correct technique through repetition, especially useful for beginner practitioners developing motor control. The use of angle and depth thresholds creates flexibility which could be modified in future iterations of the prototype to replicate different muscles or anatomical targets.
However, the current implementation presented some limitations as well. The use of a syringe based holder for the needle, while convenient to mount the sensors, does not completely fit the ergonomics of typical dry needling practices. In practice, dry needling is often performed with smaller needles and without a syringe, therefore, the feel and grip is not identical to what would be done in clinical practice.
Another major limitation was hardware sensitivity to electrical power. In early versions of the setup we used a computer to power the system which provided too much voltage or current and burned out the DRV2605L haptic driver. This made us well aware of the challenges in voltage levels and current protection moving forward with future versions of the prototype.
Conclusion
Despite all the challenges, the device fulfilled its educational goal of helping students practice needle positioning and gain an initial tactile understanding of depth control. With further refinement, such as redesigning the needle holder to better mimic real-world conditions and adding current protection, the system could evolve into a more realistic and durable teaching tool.
In future iterations, it would be beneficial to explore alternative mounting methods that better replicate the feel of a real dry needling needle, without relying on a syringe. Additionally, incorporating a more accurate depth sensor or pressure feedback could improve realism and enable more precise simulations. Another promising direction would be the development of a software interface that logs user performance over time, enabling instructors to track student progress and tailor feedback accordingly.
References
[1] J. Dommerholt and R. D. Gerwin, Myofascial Pain and Dysfunction: Trigger Point Dry Needling, 2nd ed. Baltimore, MD, USA: Jones & Bartlett Learning, 2013.
[2] C. Fernández-de-Las-Peñas, J. Dommerholt, M. J. Cuadrado, and M. Pareja, “Myofascial trigger points in the quadratus lumborum muscle: Evidence for referred pain to the low back, buttocks, and posterior thigh in humans,” Pain Medicine, vol. 7, no. 2, pp. 131–136, 2006.
[3] S. R. Brady, D. McEvoy, D. Dommerholt, and M. Doody, “Adverse events following trigger point dry needling: A prospective survey of chartered physiotherapists,” Manual Therapy, vol. 19, no. 6, pp. 595–599, Dec. 2014.
[4] M. Sterling, D. Elliott, and M. G. Maher, “Simulation-based training in musculoskeletal physiotherapy: A scoping review,” Physical Therapy, vol. 100, no. 1, pp. 43–53, Jan. 2020.
[5] R. Sigrist, G. Rauter, R. Riener, and P. Wolf, “Augmented visual, auditory, haptic, and multimodal feedback in motor learning: A review,” Psychonomic Bulletin & Review, vol. 20, no. 1, pp. 21–53, Feb. 2013.
[6] K. J. Kuchenbecker, J. E. Colgate, and G. Niemeyer, “Haptics,” in Springer Handbook of Robotics, B. Siciliano and O. Khatib, Eds. Berlin, Germany: Springer, 2016, pp. 1063–1084.