BSc Dissertation

Prototyping an electronic input device for mapping a single digit joint position to a 3D environment

Electronics Setup

Electronics Setup

Digital Setup

Digital Setup

Key Details

Made using C++, OpenGL and Arduino.

My BSc university dissertation.

Graded as a high 2:2.

Required researching current methods of hand tracking in a 3D environment.

Required writing a 10,000 word report on the process I took and my results and conclusions.

Click here to read my dissertation

Source code on GitHub: Console

Source code on GitHub: 3D

Online version of the documentation: Console

Online version of the documentation: 3D


As part of my final year at university I had to do a dissertation. This dissertation requires writing a 10,000 word report and creating an artefact. This report had to contain a literature review on the current existing methods and devices that are available for the topic chosen, along with the process I took during the dissertation and the results and conclusions that can be formed from them. I decided that I would attempt to design an electronic hand device that tracks the position of the joints in the hand in order for their positions to be mapped into a 3D environment. I also decided to build software for the device to be able to interact with C++ and possibly even with pre-existing game engines. Unfortunately, a lot of things went wrong during the dissertation, the main one being that the components I was originally going to use did not work as they were expected, which required me re-designing the project. This coupled with the other assignments and exams during the year severely limited the time I had to put in to the project. In the end, I managed to produce a small prototype 3D application using C++ and OpenGL that used a thread to continually listen out for a 6-bit value and rotate the 3D object accordingly. I also created an Arduino program that took in data from a component (such as either a potentiometer, force-sensitive resistor or a linear hall-effect sensor) and translate that value into a 6-bit position. This is then sent to the PC via USB which could be read using PuTTy, as I ran out of time to actually have the 3D application read in the data from the port but the data was the same as expected. The dissertation was graded as a high 2:2.

© 2024 Jamie Slowgrove