VR 3D Pen

Team Name

OmniPen

Timeline

Fall 2022 – Spring 2023

Students

  • Paul Koomey
  • Ahmed Malabi
  • Andrew Powell
  • Hannah Sternadel
  • Samuel Terwilliger

Abstract

The OmniPen is a virtual reality pen that connects to a VR Headset and environment to allow the user to draw in a 3D space. The user is able to choose different colors, textures, line width, and brushes by pushing the attached buttons on the pen. The design of the pen will be similar to a pen with a diameter of about and inch and a half. The pen will have a slick design with a grip material around the tip of the pen for hand comfort. The pen is comprised of a housing frame, a microcontroller, push buttons, and a battery source. The inputs provided from the pen will be transmitted to the headset and environment via a Bluetooth connection. Depending on the buttons pushed on the pen, the VR environment will either pop up a color pallet or the option to choose the texture, line width and brush type. If the drawing button is pushed, the the pen will start drawing within the VR environment.

Background

Currently, the virtual reality pens in society are expensive, bulky, or have a lack of precision. Our goal is to develop a VR pen that would be accessible to all VR Quest users, but provide precision when drawing in the VR headsets. The design will be relatively slim and fit well in the hand.

Project Requirements

  1. VR Environment
    • The VR environment will be the way the system translates movement in the pen into an interaction with the computer, allowing 3D art development.
  2. External Position Tracking
    • The pen’s 3D position will be tracked using two base stations, one for XY and one for Z, with an IR LED attached to the pen.
  3. Real Time Wireless Communication
    • Pen hardware will transmit orientation data through Bluetooth to a receiver connected to a PC within 10 meters. Base station hardware will transmit position data through Bluetooth to the same receiver. Virtual environment will be able to interpret data coming from the receiver.
  4. Draw Button
    • The pen should have a button to allow drawing via the pen within the virtual environment.
  5. Calibration/Calibration Button
    • The pen should have the capability for calibration to determine the orientation of the pen.
    • The pen should have a button to allow the user to re-calibrate the pen so that the pen orientation is correct in the virtual environment.
  6. Menu Button
    • The pen should have a button to bring up the drawing menu which will allow the user to change the color, brush type/texture, and line width for ease of use by the customer.
  7. On Board Power
    • The circuit for the pen and base station internals will be battery powered through a commonly used battery type.
  8. Virtual Environment Installation
    • Software developed for use in tandem with the OmniPen hardware must be available for user installation via a publicly accessible GitHub repository.
  9. Rechargeable Battery
    • The pen should include the ability to recharge the batteries for both the pen and base station. Batteries should be easily obtainable from common sites such as Amazon.
  10. VR Pen Physical Housing
    • Pen housing will be less than an 1 1/2 inch wide. The edges are rounded out and will have the look and feel of a normal pen.

System Overview

Pen Circuit:
The main function of the pen circuit layer is to provide relative position tracking and user control for the OmniPen. To achieve this, a microcontroller’s I2C bus and GPIs will be used to interface with an IMU and push buttons. The status of the push buttons and tracking information from the IMU will be transmitted over the microcontroller’s Bluetooth transmitter. A battery will be used to power the microcontroller, which in return, will power the IMU.

Pen Housing:
The housing layer consists of the plastic frame and a wrist strap. The plastic frame is the main housing of the circuit which abstracts all the wiring and circuitry. It allows the pen to have a slick and thin overall design, and keeps the user away from the circuit when utilizing the pen. Lastly, the wrist strap is attached to the pen plastic frame to allow the user a safeguard if they were to drop the OmniPen. Overall, the housing layer provides protection of the circuitry and the user when the pen is in use.

VR Environment:
The main function of the VR environment layer is to display to the user through the VR headset their current work created with our pen as well as a real time representation of the pen in virtual reality. This representation should match in location and orientation to the real pen. This information will not only be displayed to the user visually, but will be used to determine how to draw lines.

Base Stations:
The Base Stations layer’s main function will be to track the IR LED attached to the pen circuit and will relay the position to the VR Environment layer over Bluetooth. The layer consists of a battery to power the electronics, a microcontroller to interface with the IR positioning sensor, and will have a casing that will house all these components.

Results

A functioning VR pen and drawing environment was successfully created. The user is able to use the three buttons on the pen to draw, toggle the menu, and calibrate the orientation of the pen. Menu navigation and selection is done using the left controller. With the menu, the user can change the shape, color, and size of the ink. Currently, there are only three options per category in the menu and there is an issue where every drawing after changing the color will match the color that is chosen.

Demo Video (link)

Future Work

  • Pen design optimization
  • Rubber grip for comfortability
  • Wrist strap
  • VR Application (executable)

Project Files

Project Charter (link)

System Requirements Specification (link)

Architectural Design Specification (link)

Detailed Design Specification (link)

Poster (link)

Parts List (link)

Pen Gerber Files (link)

Pen Schematic (link)

3D Models: pen casing and base stations (link)

GitHub (link)

adp8462