This repository contaisn the design files and firmware for the HaptiCoupler system. It also contains information for the Haptic instrument study that used the HaptiCoupler system to explore digital musical instrument designs.
More information about the system can be found in the Wiki tab of this repo.
The HaptiCoupler is a device that enables simultaneous tactile sensing and haptic feedback through a signle voice coil transducer.
This is achieved by actuating the voice coil with a voltage and sensing with current, along with some DSP running on the Teensy 4.0 to cancel the actuation signal from the sensing signal.
It is designed primarily for use with audio-driven digital resonator instruments, though can be used for other purposes.
Information for the self-sensing vibrotactile haptic instrument design project. Part of the Augmented Instruments Lab at Imperial College London
For more information on using the kit and detailed documentation, visit the wiki.
Access the web control panel here for logging information and parameter adjustment.
- 1x Teensy 4.0 Microcontroller development board with headers
- 1x custom amplifier PCB (using MAX98789 amplifier)
- 1x Dayton Audio EX32VBDS-4 Voice Coil Transducer
- 1x 9V DC 5.1mm barrel jack power supply (centre-positive)
- 1x USB A to micro USB cable
The Teensy 4.0 will come preloaded with the required firmware and mounted with its headers onto the top of the amplifier board.
To get a local copy of this repository (for editing the firmware or hardware files included), run the following command:
git clone --recurse-submodules https://github.com/davisonaudio/HapticInstrumentWorkshop.git
This will clone the main repo as well as the audio-utils submodule within the firmware folder.
It is unlikely that the PCB is something that we be modified as part of this study. For those with sufficient electronics knowledge, however, the design files (schematic and PCB PDFs along with KiCAD files) can be found in the hardware folder of this repo.
For advanced users, the firmware running on the Teensy can be modified and recompiled. All of the required files are within the firmware folder of this repo.
The firmware is developed for the Teensy using PlatformIO. This provides more flexibility than using the Arduino IDE (as is often used with Teensy and similar boards), but still allows use of the Teensy system's wide array of useful C++ libraries. It also avoids the increased complexities of utilising a proper embedded development environment (such as NXP's MCUXpresso for the Teensy 4.0's NXP RT1060 microcontroller).
Visual Studio Code is required for PlatformIO development. For further details of development environment setup please refer to the wiki.
For more information on related research output of this project, please refer to the below publications:
-
M. Davison, C. J. Webb, M. Ducceschi and A. P. McPherson. A self-sensing haptic actuator for tactile interaction with physical modelling synthesis. Proc. International Conference on New Interfaces for Musical Expression (NIME), Utrecht, Netherlands. 2024. PDF
-
M. Davison and A. P. McPherson. A self-sensing vibrotactile transducer for bidirectional interaction. Proc. Eurohaptics (work in progress), Lille, France. 2024. PDF
This project is developed and maintained by Matt Davison. Massive thank you also to the additional contributors who helped this project happen:
- Anna Silver - CAD design of 3D printed elements
- David Gong - Initial PCB design and firmware bring-up of the amplifier board
- Prof. Andrew McPherson - Supervision and guidance throughout