Assignment 10: FLIGHT SUIT X — Final Project (Sean Kelly)

Screen Shot 2015-05-22 at 3.46.20 PM

I should start by saying Flight Suit X is not a single assignment, and it’s not only mine. Flight Suit X is a culmination of the last 9 assignments done in this class, and without any of them Flight Suit X would have been a different and undoubtably inferior project. Additionally, when I say that it’s not only mine, it would not have been possible without the help of Christian, Bruno, Matt, Sam, the Unity documentation, and coffee.

Flight Suit X started as a vision to have a game in VR where the user could explore without the use of controllers or impeded by complicated instructions or gameplay. The user has a heads up display which gives them all the information they need, and their controller is a single button. Audio and Visual cues dictate the users options and goals — fly through the green rings.

While the Unity code was improved, optimized, and changed somewhat since the first demo (see earlier posts) the biggest and most impactful change was the addition of the “flight control box” (I like to think of it as the X in the flight suit.)
DSC_0200

This is what the control box looked like pre-box, things were a little bit messy but I was ecstatic that I finally had the Arduino switching the fan on and off with input from Unity (and running through a high voltage 220V relay that was installed by a licensed electrician carefully.)

Photo on 5-22-15 at 4.02 PM #2

Here’s the final laser cut box.Photo on 5-22-15 at 3.56 PM

 

The clear acrylic doesn’t show up too well on photographs — but it provided the users to see what was behind their experience, and they enjoyed that.

And with more tweaks, but few major changes to the Unity game including quality sound and music, it was ready for demo day!
DSC_0218 DSC_0214

All in all, I had over 100 people try the finished product, and it was very satisfying to see long nights pay off and people to try a more complete game.

Assignment 9: 3D Printed Sensor Accessory

For our 3D printed sensor accessory, I wanted to create a controller that allowed the user to play Flight Suit X (see final) without being impeded by having to see the controller or be too confusing — the core of Flight Suit X is that I wanted anyone to be able to play it without any control explanations whatsoever.

So, that brought me to my design, which was only a button and a LED with an intuitive design that can easily be gripped even in the darkness of VR.

After some fooling around with Fusion 360, I eventually found a design that I thought would work:

Screen Shot 2015-05-05 at 4.58.54 PM

and in stainless steel: Screen Shot 2015-05-05 at 5.00.39 PM Screen Shot 2015-05-05 at 5.00.59 PM

The final render: Screen Shot 2015-05-06 at 6.49.17 PM

With the first design done, I got to printing!IMG_9157

I was pretty happy with how the size turned out, 10/10 people in the lab gripped it “correctly” without any guidance so that was encouraging to see a design work. The only problems I saw were that the wires near the top infringed on the user’s hands a bit, and the loop at the bottom to hold the wires was quite weak.Photo on 5-6-15 at 6.15 PM #2

 

Eventually, I made it to this final design. It beefs up the bottom loop, creates a channel for the wires to flow through, as well as minor fixes to button size.

almost_there_2015-May-12_06-33-20AM-000_HOME

And the finished print!DSC_0207 DSC_0206

Bonus: I did end up rendering a 24K gold and solid ruby controller, unfortunately only 14K gold was on hand so it was not printed.Screen Shot 2015-05-05 at 4.49.06 PM

Assignment 7: 123D Circuit Design

To design my printed circuit board, I chose to use 123D circuits over EAGLE mostly due to what I believe to be a superior workflow and ease of use with 123D circuits. Many of my classmates felt that 123D circuits was too limited for their projects, but for my purposes 123D circuits allowed me to quickly and effectively get what I needed.

 

For this project, I decided to simplify a prototyping breadboard I had been using that included two resistors, a button, an LED, and most importantly a connection to a high-voltage relay that will be used in my final project. After struggling a bit to find acceptable-sized pads for soldering, I found it to be pretty easy to design this quick print:Screen Shot 2015-05-22 at 2.34.29 PM

Screen Shot 2015-05-22 at 2.13.51 PM

And here is the schematic, again the components are easily found on 123D circuits (and they also make it very easy to switch between schematic and board view.)Screen Shot 2015-05-22 at 2.13.43 PM

Assignment 6: Surface Mount Soldering (Sean Kelly)

For the surface mount soldering project I made an FTDI adapter, which is especially useful because it can allow me to communicate with my new Arduinos (see previous post) via USB.

Photo on 5-22-15 at 2.27 PM #3

 

The small surface mount components were not easy to correctly put in place, and although the photo is not high enough resolution to be able to view the small close up FTDI adapter, you can notice that I burned and damaged the top white LED lights while trying to save a bad solder.

 

Photo on 5-22-15 at 2.26 PM #3To give you an idea of scale, here is a photo of the adapter against the woodgrain of the IMA work table, this thing is really tiny!

Despite the frustration of having to deal with small surface mount components, I enjoyed the challenge of precision and am glad I can communicate with my Arduino now!

 

Nicholas Sanchez’s IMA Arduino

Here is my IMA Generation I Arduino. Building this sweet piece of hardware was a blast, as it allowed me to practice my soldering skills while seeing just how easy medium’s like the arduino are to assemble. Plus, I made mine a custom Arduino, so the LED which is typically attached to pin 13 changes colors.

Custom Arduino

Nicholas Sanchez Final “Protoboard X”

Allow me to preface this discussion by stating that I love hardware. Tinkering with electronics to create new and usable devices is my passion. When prototyping and doing just this, we often rely on a breadboard (AKA protoboard) to help our initial designs come into fruition. However, the breadboard offers a plethora of issues. First, it does not hold onto jumper cables very well, and hence easily dislodges from power sources. Secondly, the power sources themselves are limited, as typically one must own and hookup and arduino to power the breadboard, or otherwise improvise “messy” ways to give it power.

Keeping these issues in mind, I derived two problems to achieve with my final project: The first, to modify the breadboard so that it had a permanent power outlet that would not be easily decimated. The second, to create a system whereby one can utilize commonplace power devices to easily power this breadboard. In doing so, I created a prototype which could easily satisfy these two issues. In addition, the “Power Tower” which housed this new protoboard (“Protoboard X”) allows for modular placement of the board in space, as well as integration into a protoplate.

The first part of this process was designing a board which would allow for barrel jacks, USBs, and batteries to power the protoboard. In addition, this board required a 5 volt regulator which would allow for these diverse sources to all bring an even 5 volts to the breadboard. So, over the course of a few weeks and several iterations, I designed just such a board. Although this step was filled with little mishaps (simple redesigns and bringing about the right parts), I finally designed a board I liked that could be easily modified and improved with minor changes.

The second step, modifying the breadboard, was easy. Using an IMA breadboard, we sawed off one corner and soldered power and ground wires to the board permanently. In doing so, we fixed the aforementioned initial issue.

The final step was designing a modular box which would not only house the various components (Protoboard X, the accompanying voltage regulator, and an arduino), but additionally designing it in such a way that one could easily rearrange the components and even take them out completely. This was a lengthy step, and I had several mistakes with the initial iteration. Nevertheless, this is easily modifiable.

The following is a video of “Protoboard X” and my setup during the IMA 2015 Spring Show:

NIcholas Sanchez Rapid Prototyping final project

To conclude, allow me to state some simple lessons I learned from this whole process. First, Prototyping is a long procedure, which does require diligence. Although these processes can be tedious at times, it is important to stick with it and always seek improvement. In doing so, make many interations of the prototype, as each helps develop the prototype to make it better than it was before. The next lesson is to never let inadequate parts slow you down. Attaining the proper parts was a constant issue with me during the building process. It is hence a prudent use of time to make sure that you have the right pieces from the get go. Thirdly, always use screws in construction, as hot glue looks messy and detracts from a prototype’s aesthetic. Finally, never give up, and continue to make improvements as you see fit.

Nicholas Sanchez’s Unity Post

Using unity was an interesting experience whereby I had quite a bit of trouble. Let me begin by stating just how much I enjoyed this platform; aside from designing videogames, I believe using the unity engine to test our driving prototype was an incredible idea, and a really neat experience when coupled with the occulus rift.

Home-made unity city

Home-made unity city

Spaceship car

Spaceship car

Car Dashboard with my headsup display

Car Dashboard with my headsup display

This said, I found this project particularly difficult because of a barrier with the language C#. Nevertheless, I did my best to design a small town, “spaceship car” as well as made several Photoshop copies of my prototype which I then placed into unity.

Nicholas Sanchez’s Paper Prototype User Testing

I would argue that making the Paper Prototype was perhaps the most rapid aspect of Rapid Prototyping, as it allowed for us to quickly design an idea for our heads up display. Furthermore, due to the temporality of this iteration, it could be easily modified, adjusted, or rebuilt to accommodate any usable changes. The following is a video of the paper prototype being user tested.
WeChat_1432112574

I would say that the most difficult part about the process of user testing is that it involves stepping back and trying to remain impartial. By this, I mean to say that one must release their ego and divorce the feelings of attachment to the paper prototype, which is difficult considering how much time one invests in the creation. Furthermore, one must try not to taint the test subjects when they are using the system. Naturally, the designer knows how to use it properly, but the point of the test is to see whether that would work with a random subject, or a customer. Therefore, biting one’s tongue and letting the subject fail or otherwise use the prototype incorrectly is a difficult aspect of remaining impartial.
Nevertheless, I learned a few things from this prototype. The first is that the design should remain consistent between icons. Currently, the icons are too various, and the layout is thus confusing. The next bit of criticism I received lies within the execution of the paper prototype. I say this to mean that the current setup is not too efficient, so rebuilding an efficient paper prototype would hence be prudent.
Another criticism was of the specificity. Within each transition of my model, I did not include a way to go back to the previous slide. Therefore, I need to be more diligent and create a more reversible system.

WeChat_1432112573

Xiaoyue’s Air Butler

My Air Butler project for the final project is also my submission to Autodesk Smart Home Design Challenge.

DSC09284

During winter break, I was looking into air purifiers on Amazon. The prices for the really high quality ones are outrageous. I thought about the number of rooms in my home and realized I couldn’t afford to purchase one purifier for each room. Even if I could, it would waste so much electricity if I leave all the air purifiers on, or it would be a waste of capital if I don’t leave all the air purifiers on.

That is why I wanted a more smart, cheap, diligent air purifying system at home. Hence, I devised Air Butler, an air purifying system that can purify the air in all locations at the lowest cost, with the highest efficiency and provide you with more transparent knowledge of the real time air pollution distribution at home.

At first, the thought of building an air-purifying system that involves a wireless sensor system, an web app and a robot that can talk among each other seems almost overwhelming.

I started out designing the grove connectors shield. I used Autodesk to design a PCB board to connect the three sensors that I planned to use–air quality sensor, dust sensor, PIR motion sensor–to Arduino Yun. I needed to look into the datasheet to learn about the connection of the different pins of the sensors.

The first time I cut out the PCB board with the help of Global Pre-doctoral Fellow Vivian Xu, I didn’t pay attention to the layers. The orientation of the layers is pretty tricky. I think it is very necessary to print one first to understand more about the orientation of different layers of the specific software you are using. I guess different softwares might differ.

Screen Shot 2015-05-12 at 5.38.38 PM adruinoshieldbyxiaoyue arduinoshieldforgrovesensors Screen Shot 2015-05-20 at 4.09.36 PM Screen Shot 2015-05-20 at 4.09.51 PM

Another problem was that the grove connecter part on 123D Circuits was too small. After printing my first PCB board out, I realized that the holes and the pads were way too small to be useful for my project. So Matt taught me how to fork the parts on 123D Circuits. I forked the original grove connecter part and made the holes bigger and adjusted the size of the pads to ensure safe connections. Now there is a part called “Grove Connector” under my name.

Screen Shot 2015-05-20 at 4.31.29 PM

So I made the second one. Then I soldered the grove headers and Arduino pin headers onto the PCB board.

PCB comparegrovepcbsoldered

After a while, I realize I had to modify the second one too. So I just conveniently cut one of the copper line on the board and soldered a short piece of wire to connect what needed to be connected instead.

modifyingmypcb      rewiringmypcb

Then I attached the PCB board to Arduino.

goveshieldpcbonarduino

I tested the sensors with Arduino Uno first. After the Arduino Uno codes for the sensors make sense, I brought the codes for the three sensors one by one into the Bridge codes to make them work on Arduino Yun.

After my codes work on Arduino Yun, I built a web app Air Butler using jQuery Mobile. To read the data obtained by the sensor, I also used ajax and javascript in the codes and modify the Arduino Yun codes by changing the datatype correspondingly.

air butler

Then I began to work on the robotics part. We tested three motors in total. Similar to the process above, I tested the codes on Arduino Uno first and then moved it to Arduino Yun with adding the modified the Bridge codes. I went home and got a robot I made in middle school, hacked it, substitute a new motor into it and 3D printed wheels. Then the motor doesn’t seem to be strong enough to move. I used an H-bridge to supply extra power for the motor and it worked! My robot is now able to move back and forth controlled by the web app Air Butler.

IMG_20150509_170925

robots

IMG_20150515_144309

After the most technical things have been done, I went on to modify my wind chime. I want to design a boat that can hold my Arduino shield with 3 Grove sensor when it is on the table and it can also be hung and work like a wind bell. I used Fusion360 and sometimes in combination with Tinkercad to build most of my models. Here are a few models I built

.xiaoyueoriginaldesignboatfail

xiaoyuetrials

This is the first Wind Chime I made with UP! 3D Printer.

soapbox

Usability Testing: I just used some 3D Printing filament as the “string” and it turns out pretty cute!!!

windcham2 windchamxiaoyue

However at that stage, I don’t have my mobile batteries yet and the design barely prepares any space for the extra battery. So I made two more iterations of design with the industry software Rhinoceros.

rhino2 IMG_20150520_162233

My last design with Rhinoceros adds an extra hole onto the side of the wind chime so that the USB wire to the battery can go through so that it actually saves space.

IMG_20150515_200748    IMG_20150515_200844

I made an iteration of wind chime with CNC machine. Even though I liked the wooden texture, CNC might not be the perfect option for me. The dimensions of the machine that we have are limited and just not the best choice for my design.

drillingcncwithtoobigadrillbit

So many people that have seen Air Butler told me that it is so useful, that they want it and that they will buy it. I can see a future for Air Butler. My next steps are to make Air Butler easier to customize for each home, to enable more functions, modes and data visualization on the web app, and to give more intelligence and control to the robot. Then it will be time to move from prototyping to fabrication.

DSC09122