Adafruit provides a breakout board for the DRV2605 haptic driver from Texas Instruments. Although the example tutorial included with the product describes a quick way to set up the driver with an eccentric rotating mass (ERM) motor, we prefer using a linear resonant actuator (LRA) for increased precision and enhanced haptic feedback. You can use the breakout board with an Arduino Uno to quickly make a prototype of a system that delivers precise vibrotactile cues.
Solder the header strip onto the breakout board, and solder the LRA onto the breakout board. After this step, your DRV2605 breakout board should look like this:
Step 2: Wiring and Hookup
Connect VIN on the DRV2605 to the 5V supply of the Arduino
Connect GND on the DRV2605 to GND on the Arduino
Connect the SCL pin to the I2C clock SCL pin on your Arduino, which is labelled A5
Connect the SDA pin to the I2C data SDA pin on your Arduino, which is labelled A4
Connect the IN pin to an I/O pin, such as A3
Step 3: Testing and Creating Effects
Adafruit provides a very useful Arduino library for the DRV2605 that you can use to get started. In particular, we recommend looking through the example code to get an idea of the effects you can produce. In page 57 and 58 of the DRV2605 datasheet, you can find a table of all the effects you can produce “out of the box.”
Step 4: Creating Your Own Waveforms
Since you can also set the intensity of the LRA in realtime, you can design your own waveforms and effects by changing the value over time. Adafruit also provides an example for setting the value in realtime on Github. You can combine this example code with a waveform design tool like Macaron to customize the feedback provided by your new Arduino-powered haptic device!
The wait is over. We’ve finished the design, iterated on the hardware, and written thousands of lines of code. Now, we’re ready to start collecting pre-orders for Moment, the first device that communicates entirely through your sense of touch.
For the first 24 hours, backers will receive a special early bird price of $99 — you won’t be able to get this price anywhere else, ever again.
Spread the word.
Help us bring Moment to as many people as possible. Share Moment with your friends on Facebook, Twitter, Instagram, or elsewhere!
Tag us in your post, and we’ll send you free Somatic Labs swag.
While revising the 3D design for Moment, I started off using a Makerbot Replicator at TechShop. These machines were the first to usher in an era of accessible consumer 3D printing. The bundled software is easy to use, and the printers generally work well. That said, with a $2,000 price tag, they aren’t truly accessible to the average consumer, and a TechShop membership can also be expensive if you don’t use it regularly. With affordable rapid-prototyping in mind, I began asking “Can you get started 3D printing for less?”.
Now, with the Monoprice MP Select Mini, you can. At an MSRP of $200, I decided to get one and try it out for myself. It doesn’t disappoint. It works with a wide range of filaments (ABS, PLA, XT Copolyester, PET, TPU, TPC, FPE, PVA, HIPS, Jelly, Foam, Felty), including a PLA-based wooden filament from Hatchbox. After 3D printing a few models of Shrek and some geometric Pokemon, I was impressed.
absurdly cheap ($200)
heated print bed
compatible with many different filaments
solid exterior built of steel and aluminum (very few plastic parts)
extremely accurate Z-axis motor (possibly more than 100 micron resolution)
limited print space (120x120x120 millimeters)
very minimal instructions – debugging can be hard
cheap built plate material (scratches easily)
imprecise temperature regulation
no enclosure or hood around prints
non-standard parts that require warranty replacement or buying a new printer
If you’re looking to get started with 3D printing, or want to try out different filament types inexpensively, buy this printer. Its price sets it apart from the competition. Any comparable printer is easily 3x the price, but the additional cost may also come with improved reliability—only time will tell whether the MP Select Mini is a durable product.
With the rise of Netflix and Youtube as dominant platforms for video consumption, fewer people are visiting theaters to watch movies. An increasing amount of multimedia content will be designed for the home theater as these streaming services grow their libraries. Netflix users consume content on whichever screen is available: a laptop, tablet, or smartphone. As the user experience for content consumption shifts towards mobile applications and at-home viewing, the interactive elements of 3D and 4D film previously reserved for movie theaters will transition to technologies easily adopted by households.
Good video is engaging – it tells a compelling story with excellent production value. Since there is increasing competition for viewership between different streaming platforms, devices, and content production studios, there is an increasing demand for differentiated content – content that provides a unique experience to its viewers. Continue reading “The Future of 4D Home Cinema: A Haptic Effects Track”
Vibrotactile pulses (e.g. the buzzing of a cell phone or game controller) can provide users with real-time feedback in a computer interface, but it’s not the only way to transmit information through the sense of touch. Modulating the temperature of the surface of a device can also provide additional information to users.
When a current flows through a junction between two different conductors, heat can be generated or removed from the junction. This phenomenon is called the Peltier effect, named after physicist Jean Charles Athanase Peltier. Different conductive materials that exhibit a Peltier effect will generate or remove different amounts of heat proportional to the amount of current running through the junction – the Peltier coefficient measures how much heat is carried for every unit of charge flowing through the device. Continue reading “Temperature Feedback with the Thermoelectric (Peltier) Effect”
A linear resonant actuator is a vibration motor that produces an oscillating force across a single axis. Unlike a DC eccentric rotating mass (ERM) motor, a linear resonant actuator relies on an AC voltage to drive a voice coil pressed against a moving mass connected to a spring. When the voice coil is driven at the resonant frequency of the spring, the entire actuator vibrates with a perceptible force. Although the frequency and amplitude of a linear resonant actuator may be adjusted by changing the AC input, the actuator must be driven at its resonant frequency to generate a meaningful amount of force for a large current.
In 1950, Edward Mallinckrodt, a researcher at Washington University in St. Louis, accidentally discovered the phenomenon of electrovibration (also known as electrostatic vibration). He noticed that a brass electric light socket had a different texture when a light was burning than it did when the light was turned off. Along with a team of researchers, he began exploring the phenomenon in more detail by running experiments using an aluminum plate with insulating varnish. They wrote:
If the dry skin of one’s finger is moved gently over a smooth metal surface covered with a thin insulating layer, and the metal is connected to the ungrounded side of an 110-v power line, the surface has a characteristic feeling that disappears when the alternating voltage is disconnected.
Video game controllers, cell phones, wearables, and dozens of other consumer electronic devices make use of vibrotactile feedback to increase user engagement. There are three different types of hardware most frequently used to provide haptic feedback: eccentric rotating mass motors, linear resonant actuators, and piezoelectric actuators.
While we were getting started with the hardware development for Moment, our first product, we needed to find a suitable way to handle the processing and Bluetooth Low Energy communications for the device. The NRF51 from Nordic Semiconductor, a BLE system on a chip, was very appealing for a few reasons:
Support for development using an open source toolchain (ARM GCC)
Good performance characteristics and excellent Bluetooth Low Energy support
That being said, we encountered a few things we wish we knew before starting:
The Keil development environment can be used for free, but use GCC if you plan to make larger or more complicated firmware code (there’s a ~40kb limit on the compiled binary size with Keil for free use)
In spite of that, debugging with Keil is much easier than with a GCC setup
The provided iOS and Android example apps have excellent demonstration of the over-the-air device firmware update (OTA DFU), but the core functionalities have only recently been split into modular components – integration with your own app can require a lot of tweaking
Many of the example programs included with the SDK require some modification until they can be effectively deployed to a new target board – making your own BSP (board support package) can be very useful if you make sure to properly include all the necessary definitions
Look into the NRF52, in case it will suit your needs more effectively
Always use the latest SDK and documentation whenever possible – many tutorials you find in a Google search will use a different version of the SDK or SoftDevice, and searching for examples outside of the latest SDK documentation can be unproductive
Use GCC. Keil has some great tools for development, but GCC is available across all platforms without restrictions. If you’re a Windows-only team without much price sensitivity, you probably will prefer Keil for its superior debugging.
Have a solid game plan for integrating the chip into your own circuits. How will you update the firmware? What kind of a programmer will you use?
The examples are a good starting point for quickly trying out different SDK components, but starting from scratch with your own code structure will help you keep your code more modular
In the past, we’ve discussed driving a linear resonant actuator using a DRV2605 haptic driver chip from Texas Instruments. Though the DRV2605 chip provides plenty of features (audio to haptics, licensed effects from Immersion, and flexible I2C or PWM input), it also requires a more complicated integration with an existing circuit. Though an extra capacitor or two doesn’t introduce too much complexity, the DRV2605 also isn’t suited for circuits attempting to drive multiple motors at the same time. Since the chip uses I2C, its address remains the same in every chip and cannot be modified. As a result, integrating multiple DRV2605 chips on a single I2C bus requires an I2C switch or multiplexor – multiple slaves cannot be controlled by the same master on the same bus.
There must be a simpler way! And Texas Instruments provides the DRV2603 to provide a simpler option. The DRV2603 haptic driver forgoes the licensed effects and audio input for a simple PWM-only input. Each motor driven with a DRV2603 chip only needs a single digital output pin from a signal source that is capable of producing a signal from 10kHz to 250kHz will be capable of driving multiple motors simultaneously.
For haptics projects that rely on multiple actuators to produce feedback, the DRV2603 provides a simpler way to get started using linear resonant actuators.