Arduino and Unity

  • Butterfly in a Tree Augmented Reality Music Visualizer

    An augmented reality music visualizer consisting of a real world LED tree that lights up in sync with the music and a virtual butterfly which flies to lit LEDs.

    The MSGEQ7 breakout board sorts out different audio frequencies and the Arduino lights different LEDs depending on the frequency ranges. Augmented Reality training and tracking was performed with Wikitude and real time visuals were created with Unity.

    Song is Fireflies Remix by Said The Sky Remix

    Download from here:

    If you want to try this project out yourself, you will need to get your own Wikitude key and put it on to the Wikitude camera object in the Unity project.


    Unity3d, Wikitude, AR, MSGEQ7, Arduino, butterfly, Audio Visualizer
  • Mental State training with Nuerosky Mindwave Headset

    Life is stressful and full of distractions. This game is designed to help train your mind how to relax and pay attention at will. Once you relax your mind enough, you can hit the targets at the top of the screen. Forward and backward movement is controlled by the current level of calmness, and left and right movement is controlled by the current level of attentiveness.


    Unity3d, Arduino, Bluetooth, MIndwave Nuerosky Headset, Brain Waves, BlueSMiRF
  • DIY Haptic Glove for VR

    In virtual reality, there are so many beautiful virtual environments to enjoy. However, it will be more enjoyable if the user can reach out and feel the environment. Feeling the sensations of the virtual world will help the user to get caught up in the reality of an otherwise virtual world.
    There is an obvious DIY solution to accomplish this goal - a haptic glove which can provide the physical sensations of virtual worlds.
    Haptic glove vibrates when its touches a virtual object and change patterns accordingly. It also tracks physical finger positions and hand orientation.

    Team Members - Dinithi Silva and Paul Sassaman

    Unity, Arduino, Haptic Glove, Interfaces, flex sensors, waterfall, vibration patterns
  • Memory Game with Arduino and Unity

    Forgetting things is incredibly annoying. However, if you practice memorizing things, your ability to spontaneously remember new information improves over time. By creating a memory game with a sixteen button LED Pad, I'm sure to improve my memory capacity. After all, this is a lot of buttons.

    I'm also trying out a new system where I can set the Serial Port and Baud Rate from within the game instead of hard-coding it in.


    Unity, Arduino, LED Compatible Button Pad, Memory Game
  • Third Person Flight Simulator

    A VR third person flight simulator that has you soaring through a crowded endless city. How long can you stay in the air?

    Directional movement (forward/backward/left/right) is provided by the four buttons on the glove and orientation is gathered from the Oculus Touch controller.

    Demonstration - Paul Sassaman

    Unity3d, Oculus, Arduino, Bluetooth, HC -05
  • Drawing with Arty Bot Using Arduino and Unity3D (WIP)

    The user draws on the tablet screen using a computer friendly pen/ mouse to create a temporary image. As the user draws, the location of the computer pen/ mouse is continuously sent to a robot arm that then attempts to draw the same image with an ink pen on paper. The robot control functions are still being worked on.

    Project Partner - Paul Sassaman

    Arty Bot 3D files were downloaded from here.

    Arduino, Unity, Arty Bot, Drawing
  • Arduino Thermal Printer Speech–To–Print via IBM Watson Unity SDK

    The user speaks a phrase into a microphone, and then signals the end of the phrase with the word 'done'. This speech is turned into text by IBM Watson in Unity and then sent via serial cable to an Arduino. The Arduino sends the text to a thermal printer which then prints the text.


    Unity, IBM Watson, speech-to-text, Arduino, Thermal nano printer, print
  • IBM Watson Speech-To-Text and Arduino

    Unity uses IBM Watson to monitor for specific emotion themed words (happy, sad, angry). When it sees these words, Unity displays the appropriate emotion on two faces - one as a sphere and one on an LED matrix via an Arduino. I demoed this with the help of my lovely assistant, Denny.


    Unity, IBM Watson, speech-to-text, Arduino, 8X8 LED Dot Matrix Display
  • Arduino and Unity Controlling the Path of a Bouncing Ball with VL6180X-Time of Flight Distance Sensor

    The player attempts to bounce a ball over traffic cones, The time of flight sensor measures the distance to the user's hand and Unity uses this distance to control the rate of vertical movement for the ball.


    Arduino, Unity, TOF sensor
  • Drag & Drop Items with Arduino Joystick Module

    The joystick module is connected to an Arduino which sends x and y tilt intensities to Unity. The player is represented by the small black square. Once the player is over the item to be dragged, the user can click the Joystick button to start dragging the object along with the player. When the dragable object is over the matching hole it will be dropped into the hole automatically.

    Demonstration by Paul Sassaman


    Unity, Arduino, joystick module
  • Pouring Drinks

    MPU -9250 is hooked to an Arduino and it sends gyroscope data to Unity via serial cable with a baud rate of 115200. The Gyroscope of MPU - 9250 controls the angle of the bottle in Unity via Arduino. If the tip of the bottle reaches a certain distance of y axis, the particles activate and animate as pouring liquid. However, there is bit of a lag in receiving data from the module to Unity.


    Unity, Arduino, MPU9250, Gyroscope
  • Missile Dodging Game with IR Compound Eye Sensor

    IR Compound Eye Sensor controls the movements of the player. If the player hits a missile, their health drops. After the health bar completely empties, the scene reloads.

    Game is Demonstrated by Paul Sassaman.

    Arduino, Unity, Missile, IR Compund Eye, Health Bar
  • Character Controlling with IR Compound Eye

    An IR Compound Eye is used to move the player around the screen. Putting one's hand in front of a specific cluster of directional sensors makes the player move in the same direction.


    Unity, Arduino, IR Compund Eye, Movement tracking
  • Ultrasonic Radar with Arduino and Unity

    A radar system created with an ultrasonic sensor mounted on top of a servo. The Arduino rotates the sensor 180 degrees back and forth and reads in the distance values. These values are then graphically displayed via Unity.


    Unity, Arduino, Ultrasonic sensor, servo motor
  • Voice Recognition with Unity

    Change the color of a virtual bulb and real LED with voice recognition via Unity and Arduino by stating a color.


    Unity, Arduino, bulb, LED, voice recognition
  • Control a Virtual Cube in Unity via Arduino with Ultrasonic Sensors as Gesture Recognizers using Bluetooth HC – 05 Module

    In this project Virtual cube keeps on rolling toward up, down,left and right directions as we keep the hand over respective ultrasonic sensors with in 4 cm of distance.
    Goal is not to get shot by cannon balls released by the cannons.


    Unity, Arduino, Bluetooth, Ultrasonic sensor, Gesture Sensors, Shooting Game, Cube, Bullets
  • Arduino to Unity Game Pad Controller via Bluetooth HC-05 Module

    This is a Bluetooth controlled Game Pad made with Bluetooth HC - 05 and Arduino which communicates with Unity via Bluetooth.

    Low poly landscape model was taken from


    Unity, arduino, Bluetooth, HC 05, Game Pad, island, Bridge
  • Open Virtual Doors in a Unity Dungeon Crawler Game via Arduino RFID Key Card Module

    Maze Generation part was inspired by a tutorial from catlike coding.
    Special thanks to Paul for helping me with the video.


    Unity, arduino, RFID, Key Card, Doors, Virtual, Dungeon
  • Changing Colors of Virtual Fireworks in Unity Using a TCS3200 Color Sensor Module via Arduino

    The TCS3200 Color sensor is hooked up to an Arduino and exposed to colored cards (red, blue, green and yellow). The Arduino records which color the sensor saw, and then sends the color to Unity. Unity then recolors the virtual fireworks to match the color of card that was exposed to the sensor.

    Unity, arduino, fireworks, color sensor, color, sensor
  • A microphone is used to control the rotation speed of a virtual windmill and the brightness of virtual light bulbs

    When the player blows into the microphone, the blades of the windmill spin. The stronger the player blows into the microphone, the more bulbs light up and the faster the propeller spins.

    Special thanks to Paul for helping me out with the demonstration.


    Unity, arduino, wind mill, bulbs, microphone, Virtual
  • An endlessly flying Butterfly in Unity that is controlled by the Accelerometer Sensor ADXL 335 via Arduino

    The ADXL 335 accelerometer sensor is connected to Arduino. The sensor sends x,y and z rotation data to Unity via serial cable to and rotates the 3D model of the butterfly appropriately. This affects the trajectory of the butterfly as it flies forward.


    Unity, arduino, accelerometer sensor, endless flyer, butterfly
  • An endlessly flying toy plane in Unity that is controlled by an ADXL 335 accelerometer sensor via Arduino

    The ADXL 335 accelerometer sensor is connected to an Arduino. The sensor sends x,y and z rotation data to Unity via serial cable which changes the rotation of the toy plane 3D model appropriately.

    arduino, unity, accelerometer sensor, plane toy, endless flyer
  • Jumping Smiley via Capacitive Toggle Switch


    arduino, Unity, Toggle switch, smiley, Capacitive, jumping
  • Animated hand with Arduino and Unity using Flex Sensors

    Five flex sensors are attached to each finger of a glove being worn by the user. The sensors continuously send data about where and how they are being bent to an Arduino which then sends the data to Unity. Unity takes this data and uses it to animate the fingers on a 3D model of a hand so that they are in the same positions as the fingers on the real world hand currently wearing the glove.

    Special thanks to Paul for helping me out with the video.

    Unity, arduino, flex sensors, Glove, Hand
  • Small FSR sensor piano that plays a virtual piano in Unity

    Individual FSR (Force Sensitive Resistor) sensors are placed within the keys of a small felt piano. As each sensor is pressed, the Arduino will tell Unity. Unity then plays the appropriate musical notes for each key being pressed and virtually presses the matching key on the virtual keyboard.

    arduino, Unity, force resistive sensors
  • Virtual and Physical Color Mixing Using Unity and Arduino

    Changing colors in a virtual object and colors of a multi color LED by using sliders in Unity.


    Unity, Arduino, Tri Color LED, Colors