Feel the Force With Hover




Introduction: Feel the Force With Hover

We're Hover Labs! We build beautiful and interactive electronic tools for makers.

Have you dreamed of being a Jedi? Use the force to control a neoMatrix from Adafruit. In this example, we're going to build a 3d force field by using the RGB feature of the neoMatrix. Here are the gestures the 3d field will respond to.

  1. Wave your hand from left to right to see a wave trickle across the field.
  2. Draw a circle with your finger to see a number count the number of rotations.
  3. Poke your finger into the field and see a point follow your finger around. The colors change depending on your depth.
  4. Touch the pads, so see the pads on the neoMatrix light up

Show your friends your Jedi powers!

Step 1: Parts

What we need:

  • Arduino - The most well-known dev board out there. Can be found at any electronics hobby store.
  • Hover - It's a gesture sensor that lets you detect touch-less gestures. It detects multiple gestures such as swipes and circular motion. It can also pinpoint your hand position in 3D space. In addition, Hover can also be used as a touch sensor with 5 distinct touch points. Hover can be purchased here.
  • Adafruit NeoMatrix 8x8 - Amazing light grid that has 64 Neopixels that are all RGB. It's awesome.
  • Wires

Step 2: Hookup Arduino to Hover and Neomatrix

On the backside of the Hover PCB, there is a female connector that can be used to connect to the your host microcontroller.

  • HOST_V+: Connect to either 5V or 3.3V depending on your microcontroller. For example, if using the Arduino UNO, this pin should be tied to 5V since it is a 5V microcontroller. The Particle Photon is a 3.3V microcontroller, so this pin should be tied to 3.3V instead.
  • 3.3V: Connect to the 3.3V pin on your host microcontroller
  • GND: Connect to ground pin.
  • TS: Connect to any Digital pin on your microcontroller.
  • RESET: Connect to any Digital pin on your microcontroller.
  • LED: Optional - can be used to connect to an LED + resistor to indicate a successful tap or gesture. Mainly used for debug purposes.
  • SCL: Connect to SCL pin on your microcontroller
  • SDA: Connect to SDA pin on your microcontroller.

For neoMatrix, there are only 3 pins.

  • 5V: Connect to the 5V pin on your host microcontroller
  • GND: Connect to ground pin.
  • DIN: Connect to any Digital pin on your microcontroller.

Step 3: Download the Code From Github

If you haven't already, you'll need to download the Arduino IDE. After that, you need to download the Arduino library code into the your Documents/Arduino/libraries folder. So under your libraries folder, you should have the Hover folder which includes - examples, Hover.cpp, Hover.h and keywords.txt.

Go back to your Arduino folder, and download the example code here. Open up the Arduino IDE and load this code.

  • The example code can be found here
  • The Arduino library code can found here
  • The Neopixel library code and instructions can be found at the adafruit site here:

Step 4: Code Time

Not a big fan of coding? No worries, we'll walk through the parts you care about.

  • Line 12 - check that you're using Pin 7 to hook up Arduino to your NeoMatrix DIN.
  • Line 24/25 - check that you're using Pin 5,6 for hooking up Arduino to your Hover.
  • If you can't use the suggested pins, just change these lines to what you need.

There are a few modes in this email - Touch, Gestures, Circle Counter, and 3d Position tracking. It's best to comment out sections and test out the features one by one. Sometimes when all are enabled, it's possible that one gesture can be interpreted as a swipe, and 3d position tracking. This may be look confusing on the NeoMatrix.

To comment out a section, just use /* to start a comment and */ to end.

Step 5: You're All Set

We've mounted our setup on a nice wooden board with the Arduino hidden neatly behind. There are two holes cut behind the Hover and Neogrid for the wires to thread through.

You're all set to feel the force. For best detection results, point your fingers down towards the board and flick your fingers. Have fun and may the force be with you.

Be the First to Share


    • Chocolate Challenge

      Chocolate Challenge
    • Electronics Contest

      Electronics Contest
    • Frozen Treats Speed Challenge

      Frozen Treats Speed Challenge



    5 years ago

    Hey guys! Fantastic product. I have just a few quick questions. In the video provided you seem to be using an Arduino Leonardo, that has dedicated SDA and SCL pins, I was hoping to use the Arduino Uno which doesn't. I've heard online that pins A4 and A5 can be used as SDA and SCL would that allow me to use hover with my Uno? Would I need to alter anything in the exampled sketch "HoverDemo"? Any info you guys might have on Arduino Uno compatibility would be a huge help. Thanks!


    Reply 5 years ago

    Shoot, I did a little more research. It looks like the Uno does have dedicated SDA and SCL pins, above the Aref, they're just not labeled, is that correct?


    5 years ago

    Will this project and code samples work with any neopixel such as the neopixel LED strip with 30 LEDs? What changes or modifications to the code would be required? I've ordered the Hover and hoping to implement in a slightly different form factor. Thanks, (I'm not super experienced with Arduino so any help or tips would be greatly appreciated) Thanks.

    Hover Labs
    Hover Labs

    Reply 5 years ago

    Hey Kdewitt,

    It should definitely work with a neopixel LED strip. The only change would probably be the animation sequence. For example, a left swipe, you might want to sequence the lights from right to left. So I would modify the "for" loops. Give it a try and let us know how it goes. If you need more advice, please feel free to email us at support@hoverlabs.co.


    Konstantin Dimitrov
    Konstantin Dimitrov

    5 years ago

    Nicely done ! It looks amazing, I love how you did it !


    5 years ago

    seems interesting. let me try once.