[Research] Kinematic Data Capture Using Smart Devices

This summer I worked on kinematic data capture framework for KICR (Kinematic Information Capture and Reporting) system. This research is funded by Bucknell Program for Undergraduate Research, under supervisor of Professor Michael Thompson.

Figure 1: My workspace

The KICR project‘s main goal is to develop a system that collects a ADHD patient’s movement data from mobile computing devices, which is then aggregated, analyzed, and delivered to a clinician as relevant, quantitative information. As part of the KICR project, my main job is to develop data capture app that collect sensor data of smartphone and have those data ready for analysis. We expected that the app is going to run for long time on the phone, so it is needed to optimize the app so that it use reasonable amount of phone resources. Although the framework is specifically designed for the KICR project, it can act as the tool for researcher to explore motion sensor data of mobile devices.
I developed the app on two different app development framework: PhoneGap, a multiplatform framework using HTML5 and Android native app development framework. PhoneGap platform is somewhat limited and also consume a lot of resources, so in the end I only focus on making the native Android app. To optimize resources, I put all sensor activities into background service so that it can still record even when the phone is sleeping. I also add some customizable features such as choosing sensor, leveraging sensor capture rate and email log files. The final output of the app is sensor log files in form of csv file, which is convenient for analysis.

Figure 2: Human subject capture test

I did some analysis on app performance and the consistency of sensor log files, and the result is that the phone can capture data well. The app that I developed is used in fidget movement capture test with the purpose of understanding human’s movement data captured by the phone.

More details of my work can be found on Bucknell Website: Hang Ha ’18, electrical engineering, research

Figure 3: My research poster

[ENGR251]Final Project – One Dollar Glasses Bending Tool

For final project, we focused on eye care for third world countries. A German company started an initiative known as onedollarglasses.org to provide inexpensive glasses for those in impoverished areas. On-site production of these glasses is enabled by the company’s creation kit, a small bending machine that forms spring steel into a basic, round glasses frame. However, the purported price of the box is over $2500 USD, which severely limits distribution to only significantly invested or incredibly motivated entrepreneurs. 
To eliminate this significant barrier to entry, the goal of our project is to produce a more economical design for the bending machine that can recreate or emulate the style and structure of the glasses frames built by the One Dollar Glasses organization, making efficient designs and material choices to reduce the total cost of the optician’s kit and make the fabrication process more intuitive.

Figure 1: A child wearing the one dollar glasses


Figure 2: The one dollar glasses


Figure 3: The first bending tool


Figure 4: The second bending tool

To determine the efficiency of the bending box, a model of the bending machine was reverse-engineered from specifications from the training manuals on the One Dollar Glasses website.

Figure 5: The reverse engineered bending machine

With the knowledge and experience from the reverse-engineered model, some fundamental concepts for design were established for creating a more intuitive and inexpensive system.

Figure 6: Concept sketch of one of our ideas


Figure 7: Dubro EZ Wire Bender

Commercially available at $24.95, the DU-BRO E-Z Wire Bender provided the most effective design for making precise 90o bends. Because the wire is placed between two ridges in the casted die, the bend is not only secured on both sides, but is also guaranteed to bend to exactly 90o due to the angle of the ridges accounting for springback of the wire. This repeatable system of making 90o bends without guesswork or slipping makes this product the most efficient system for making wireframe glasses, reducing the occurrence of irreparable mistakes in the frame fabrication process. In line with the fundamental concepts of design for the project, the final design for the bending machine was based off of this design, with minor adjustments made for the dimensions of the ridges to match the notch lengths of the wireframe design.

Figure 8: SolidWorks design of final prototype (Dubro EZ Wire Bender)

In the end, for this project, we dis a lot of analysis and try to find out the best possible solution for this. It is unexpected that there is an existing commercialize product that perfectly solve our problem, and we glad we found it.

[CSCI 204] “Iron Mario” Game

“Iron Mario” is my biggest project for CSCI 204. It is originally a Mar Rover game but in the final phrase I re-skin the game into a “Mario” game to make it more coherent and interesting. The making of this game applied some fundamental tool and concept in computer science: object oriented programming, linked list, stack, queue…


The above screen is the openning screen of the game. The rule is that player use arrow button to move Mario around the map, collect items to inventory and use those item to perform tasks.When Mario step on a pipe, he is teleported to a new map with more items.

When got lost player can click “show the way back” button. The portal that Mario last entered will change color and player can use that to come back to main map.
When player collect enough item for a task, he/she can hover Mario above the part needed to fix and click “Perform Task”, the robot part will turn into Iron Man part. The picture above show the finished game with the whole Iron Man suit appeared.

The code of Iron Mario can be found at my GitHub: csci204_ironMario