Our Development Log

Read up on our progress and challenges we have faced!

Week 4

Welcome to week 4 of SpiroVR development!

This week, we made some finishing touches to the website and the games.

Technical Sophistication: Does the software accomplish significant tasks with few bugs?

Yes! We have three minigames, as well as software and hardware components with the Arduino. Features include:

  • UnityVR with Arduino input
  • Archery Range: Animated bow and arrow which can shoot at target
  • Wizard Battle: Aim assist and tween animation on the fireball
  • Bowling Alley: Detects strikes!

We finished the housing for the spirometer and secured it so it is easy to hold and difficult to break:

Novelty: Does the software accomplish something rare and non-trivial?

Yes, we are the first VR app to accomplish something like this that we could find. There are other games that exist in 2D, but none in VR that accomplish this task. We also have an actual, relatively accurate spirometer that the software uses as input.

Social Impact: Does the software accomplish something impactful beyond the purely-recreational?

Yes, we use the breath input to replicate the huff-cough technique in order to clear the airways of CF patients. We talked with pulmonologists Dr. Antonia Popova and Dr. Lindsay Caverly to ensure that our app followed the huff cough procedure.

XR Emphasis: Does the software utilize VR or AR to its fullest extent in a way 2D couldn’t replicate?

In Wizard Battle, our new minigame, you have to dodge obstacles that the opposing wizard fires at you, inspired by Beat Saber. You have to fight back by sending your own fireballs using a forceful exhale.

Finanical Stability: Does the software / website identify a clear path to long-term financial health?

With our new trailer, our goal is very clear. Previous iterations of the website did not have a very strong idea of what the product was. With the trailer and new updates to the website itself, the message should be stronger. Our pricing remains the same as last week.

Week 3

Welcome to week 3 of SpiroVR development!


Our showcase is coming up in a week, so it is important that the spirometer device is easily portable and protected even when handled by many people. After downsizing the circuit to only its critical parts, we constructed a housing for the new device using plexiglass.

We also created three new mouthpieces that can be easily sanitized with alcohol. The outside is still made with PVC piping, but the inside is made with a smaller plastic tube. The “glue” we used is silicone sealant, a material that is both airtight and chemically inert.

For extra sanitization at the showcase, we will be providing every user with their own mouthpiece cover so that no one's mouths can directly touch the central tube. The vinyl tubing will also be completely replaced with every user.

Because the mouthpiece itself is hard to reproduce at a large scale, we will be rotating about 5 mouthpieces around, letting them sit in a sanitizing solution before drying them off and letting them be used again.

App Development

This week, we improved the main menu and made it fully functional with the spirometer. We added a tutorial section (which is missing a video tutorial, but is coming soon) which is responsive to breath and cough output. This week we introduced a new bowling minigame, as seen in the demo video above. The archery mini-game was revised following the playtest, rather than the targets moving all around the user, they now only move within an arc as to not tangle the user within the wires of the headset. Additionally, some animations on the targets and a nice terrain were made for the archery game to better engage the user.

VR Emphasis

As seen in our demo video, our games use VR to fully immerse the patient. In order to aim their breath output, the player must be looking directly at the place they want to aim and provide a steady stream of air. Without VR, the aim mechanic would be less intuitive. With one of the user's hands on the breath sensor, a non-VR application would be very limited in its input mechanics and ability to engage the user.

Financial Sustainability

This week, we added a pricing plan to our website. We have two bundles and a subscription available for patients trying to buy directly from us. We plan to offer just the spirometry device and three minigames for a $49 fee, which is compatible with most existing VR headsets. If the patient is completely new to VR, we can offer the headset bundle, which has a white labeled VR headset on top of the aforementioned device and games. We want to make our technology accessible, so this is why these two options are simple one-time-purchases.

Finally, we have a subscription model for patients who want more access to minigames. We plan to release a minigame on a monthly schedule, for $25/month. This subscription includes the cost of the device and the headset over time.

We anticipate that hospitals will also be an important consumer of our product. We would like to offer a reduced rate when selling in bulk to hospitals, and provide the hospital with tech support from our team as well as new minigames each month. Depending on the need of the hospital, the price will vary, so we will provide a quote to the hospital when they fill out our contact form.

Week 2

Welcome to week 2 of SpiroVR development!

To start off the week, we connected the mouthpiece that we constructed last week to our Unity project using Ardity, a plugin that allows the engine to interface with an arduino.

Within our application, we developed a modular and complete menu system that allows for easy customization and templating. The menu options are represented as bubbles, and the user highlights them just by looking, and selects by breathing into the mouthpiece. This menu system will allow us to easily add consistent and intuitive UI elements across minigames in our app.

We also started prototyping minigames that take advantage of our unique control scheme, including a breathing-based archery mini game, which consists of different rounds of moving targets increasing in distance and speed.

Outside of the hardware and the application, the website went through somewhat of a redesign with a new color scheme, layout and “people” tab, listing the members of our group. The website is still incomplete, but is coming together fast!

On Friday, we met with Dr. Antonia Popova (Téa’s personal pulmonologist). Dr. Popova is a pediatric pulmonologist so we wanted to hear her thoughts on what we were making. Her answers were extremely insightful, but the most important piece of information that she gave us was her thoughts on the potential real-world marketing and distribution of the software.

A spirometry test, while a measure of lung strength and capacity, measures a lot of different statistics and data, much of which requires precise, carefully calibrated sensors. Because of this, there are a lot of guidelines and restrictions to follow, and since the tests are not taken often, there is limited need for upgraded spirometry equipment in medical settings. However, Dr. Popova also had suggestions for another possible market. Airway clearance is a vital maintenance tool for patients with pulmonary conditions such as cystic fibrosis and chronic obstructive pulmonary disease (COPD). Many of these patients need to sit multiple times each day and practice breathing exercises to keep their lungs clear. Dr. Popova believed that our application, with how easy VR could be to get set up at home, could create an appealing way to make the process of undergoing these breathing exercises much more engaging and make it easier to keep up with.

After this conversation, we determined that it may be more helpful to create a system that could, in the future, be test and/or device agnostic, and rather function as a general purpose lung health app. In the meantime, we will refocus our project on airway clearance, and create minigames that utilize the Huff Coughing Technique (to clear mucus).

The financial plan remains similar to that of last week, and while we still plan to contract with hospitals to provide a better testing experience, we now also envision our products at the homes of our users who frequently have to practice airway clearance. This can happen through the hospital or direct-to-consumer.

Week 1

Welcome to week 1 of SpiroVR development!

Video Demo

Our project has a couple of specifications required by our class, EECS 498: Extended Reality and Society. Each week for the remainder of development, we will try to address these specifications and how we have made progress in them. Here are the specifications:

1. Technical Sophistication: Does the software accomplish significant tasks with few bugs?

2. Novelty: Does the software accomplish something rare and non-trivial?

3. Social Impact: Does the software accomplish something impactful beyond the purely-recreational?

4. XR Emphasis: Does the software utilize VR or AR to its fullest extent in a way 2D couldn’t replicate?

5. Financial Sustainability: Does the software / website identify a clear path to long-term financial health?

Technical Sophistication

This week was mainly focused on the hardware side of our project. In order for our project to function, we needed access to a digital spirometer. These are pricey, so we decided to go the custom hardware route.

None of us have much experience with custom circuit design, so the first step of this was to get familiar with microcontrollers. For this project, we used an Arduino Nano (shoutout to Téa’s housemate, Dev, who let her borrow the circuitry needed to get the project rolling— it would have been impossible to do it without them!!).

Spirometer Design

There are a few DIY spirometer tutorials online. The ones we used were: Low Cost Spirometer : 5 Steps (with Pictures)Instructables › Workshop › Science DIY Arduino Nano SpirometerMaker Pro › arduino › tutorial › diy-arduino-nano…

We managed to get a device working this week that reads air pressure in pascals. Ideally, we need to convert this pressure unit into a volume unit, to measure lung capacity like a true spirometer, but a pressure measurement should work for now.


Here is a diagram of the reference circuit that we used:


Here is the circuit we came up with at the end. Note we did not include some of the components shown above, as we really only needed the data output from the pressure sensor, and not any of the bells and whistles:


Most of the components of this circuit are borrowed, but the vital component of this project is the differential pressure sensor, the MPX5010DP pressure sensor, which had to be bought online.

Finally, we needed to create the mouthpiece for the spirometer to attach to the pressure sensor. A typical spirometer has an intricate mouthpiece designed for accuracy of measurement. Due to cost limitations, we did not have a super intricate design. The mouthpiece ended up being two nested PVC pipes with vinyl tubing attached to the two ends of the PVC tube.

pic4 pic3

With that, the design of the spirometer was finished for the week!

Novelty & Social Impact

Our goal with this project is to bring some enthusiasm into something that is typically dreaded: hospital visits. Spirometry games already exist— this we know. But for patients who regularly visit the pulmonary unit, providing a unique and entertaining way to interface with a routine medical exam makes the overall experience at the doctor’s office less of a stressor in daily life.

We particularly see a benefit for pediatric patients who may be uneasy about going to appointments. We hope that SpiroVR can provide meaningful distraction to an otherwise stressful experience.

VR Emphasis

Unlike a regular spirometry game, our experience will have ways to spatially interact with the virtual environment— mechanics like aiming your breath output allow the VR emphasis shine.

Financial Sustainability

We would like to create a model where we can contract with hospitals to provide a better testing experience. With the contract, the addition of new minigames on a schedule would allow the content to be fresh and the cash flow to be sustainable.