Category: Hardware

Augmented reality (AR) is an emerging technology that enhances, or augments, a user’s perception of the real world. The enhancement can be delivered through sight, sound, or touch and provides additional information about a person’s environment.

Beyond consumer and entertainment applications, AR is highly useful for improving efficiency, safety, and productivity in the workplace by providing a user with important information (i.e. sensor data, inventory information, heat mapping) that is not naturally perceivable from the environment. Many industries including construction, medical, manufacturing, and defense sectors have begun to invest and develop AR technologies that enhance a user’s ability to complete a task. Recent partnerships between HTC Vive and AECOM, developments by the US military, and projects supported by Medtronic illustrate how AR heads-up displays offer a powerful method for conveying information needed to plan a construction site, learn a medical procedure, or successfully execute a military training exercise.

In addition to these on-Earth settings, AR has similar applications for improving operational tasks during space exploration. Astronauts stationed on the International Space Station (ISS) have already experimented using Microsoft’s Hololens to complete tasks.
Feedback from astronauts that tested the Hololens and NASA’s roadmap plans indicate that AR could be used to (1) superimpose instructions or illustrations that guide an astronaut through maintenance repairs, and (2) enable remote visibility between an astronaut and ground operator to solve an issue together in real-time. The Hololens is also being used to plan the next Mars mission. Additional projects such as AMARIS and open calls for AR solutions highlight NASA’s interest in developing AR technologies and AR’s growing ability to support unique conditions in aeronautic and space missions.

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.

Additional Resources

Creating Haptic Feedback

Step 1: Soldering

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!

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.

non-standard parts that require warranty replacement or buying a new printer

Conclusion

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:

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

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