Sophia’s Status Report for 2/11/2023

What I did this week:

I spent this week researching what advantage the STM Nucleo boards give us so we don’t end up buying something we won’t benefit from. It turns out that the board will not be as useful as we thought. We are looking to increase the number of PWM outputs while the STM only expands the current outputs to allow for more pin connections. We need to run at least 10 different motor pairs and the Arduino Uno only has 6 built-in PWM pins. After figuring this out, I started to research ways to drive the necessary number of motors. I ended up finding the “Adafruit 16-Channel 12-bit PWM/Servo Driver – I2C interface” which gives us the additional motor controller we need. There are also videos of it being used to successfully use higher power motors than the ones we have. After that research, I focused on ordering parts. 

Adafruit 16-Channel 12-bit PWM/Servo Driver

This week, I also researched accelerometers, Bluetooth transceivers, and hardware controllers we would need for the physical input we want to add to our game. This was after our interview with Mimi and the feedback that a physical input option would be great (talked about more in the team status report). I found there is a relatively inexpensive IMU on Sparkfun that can connect to Arduino, and found a Bluetooth transceiver which is used in multiple project demos across the internet, and found the Arduino Micro or Nano to be small enough to fit on the physical input “stick”.

Sparkfun IMU I2C device
Wireless Bluetooth RF Transceiver

Update on if the project is on schedule:

On the schedule, I believe we are going to be a couple days behind. This is due to the fact that I had created my schedule thinking I would have time to research parts on Monday and hopefully order by Wednesday. With class time dedicated to watching project proposals this week, parts ordering got pushed back to Thursday. With the way the parts ordering works, I am unsure if I have to wait until next Tuesday before the order goes through. This could lead to further delays as I had planned to get our parts in by the middle of next week. 

One consideration that will help me stay on schedule is that in the original schedule, I had also planned to make a PCB to control the motors. With the Adafruit servo driver, I do have some wiggle room. To stay on schedule, I plan to start creating the code to control the motors and I2C device so I will be ready to test by the time they come in.

Deliverables for next week:

By the end of this week (I’m writing this Friday morning), I hope to do one last review on the parts for the physical input and order them. Next week, I plan to get started with writing an algorithm to activate multiple motors at the same time. This will include drawing out an outline for how I want to take in data and design the overall architecture for accomplishing my part of the project. 

I will also have to work with Bethel and Amelia on our design presentation deliverables.

 

Team Status Report for 2/11/2023

The most significant risk that could jeopardize the success of the project is not receiving our parts in time, which would push our planned schedule back. We also have to consider researching the best motors for our chosen haptic feedback points before ordering (this is going directly out of our budget so we don’t want to spend excessively on motors we won’t end up using). However, we have to consider that ordering one type of motor at a time would delay our project if it turns out that the chosen motor type does not meet our requirements. To mitigate this risk, we have our own personal motors/Arduinos that we will be using for testing while we wait for our parts.

On Sunday, we had an additional meeting with Mimi Sung, the president of CMU Esports (student-run gaming organization). She brought up a valid point that even if we provide excellent haptic feedback, the fact that the gamer is still confined to a keyboard may diminish the full feedback experience. This inspired us to consider adding a physical input device so that the user can control their in-game actions without the use of a keyboard. 

This physical input device we first thought to build is a wireless joystick modeled after the nunchuck controller joystick (as shown in Figure 1 and 2). The joystick in the player’s left hand will control the movement of the player, while the joystick in the player’s right hand will include buttons (as shown in Figure 3) that can control the player’s actions (i.e. forceful jump, attacking an enemy, diminishing health and getting hit).

Figure 1
Figure 2
Figure 3

 

Another avenue we could take to achieve a keyboard-free experience could be taking a regular wireless Xbox controller and configuring it to the monitor the game is being played in (as shown in Figure 4). We would have to find a way to configure the X-Y-A-B keys on the controller to W-A-S-D keys on the keyboard, and get that information to the game itself. It’s a possible avenue, but definitely needs more research before we decide to go with it or build our own nunchuck controller.

Figure 4

In consideration of our meeting with Mimi, we changed our project proposal and gantt chart to reflect creating the keyboard-free experience. We allotted time to research, develop, and test this system. 

Our project includes considerations for the welfare, safety and economic capability of our intended user. A driving force of our project is to make our haptic suit cheaper than the industry standard which runs around $500-$3000, our solution will run for less than $200. We also aim to design our system around all sizes, in order to promote body inclusivity and comfortability from wearing our vest.