Other Projects


Back-of-Device Joystick Input for Android Software Hardware Firmware

Technologies Used Android Studio, Arduino, AVR Microcontroller, DipTrace

Modern smartphones are wonderful pieces of technology that let you do so much through a single input device -- the touchscreen. Despite all of their amazing features, there are some features that we've lost in the transition to capacitive touch screens. Namely, we've lost the input mechanisms that made use of our sense of proprioception and provided tactile feedback, such as physical buttons or the Black Berry trackball. There is unutilized space on the backside of every smartphone, and so this project investigated the technical challenges involved with adding buttons and a low-profile joystick to the backside of an Android phone.


Fiero Car Club Web Site Design

Technologies Used HTML, CSS, JavaScript, Bootstrap, ASP Classic

I do web design occasionally, but I hadn't done anything significant for several years. There are certain expections of a modern website now, and my skills were a bit out of date. I manage the website of the Lower Mainland's Fiero car club, and it was quite out of date, having been designed in 2007. Since they could benefit from a new design, I used the opportunity to learn some new web technologies. I used the Bootstrap framework to create a responsive website.



Digital Auxiliary Gauges for the Pontiac Fiero Hardware Firmware

Technologies Used Arduino, AVR Microcontroller, EAGLE CAD
  • Replaces the stock oil pressure and voltage analog gauges with a pair of digital ones.

For the final project of a digital electronics class offered through the UFV physics department, I chose to take what I had learned and apply it to the creation of digital versions of two auxiliary gauges in the centre console of my car. I chose to do this with the Arduino platform, which was not taught in class, but I found it easy to pick up based on the topics I had learned.

The project went through several revisions. The version I completed for the class consisted of two separate display PCBs with 7-segment displays -- one for each digital gauge -- with the rest of the the electronics being an Arduino Uno and a breadboard with some voltage dividers. The "final" version (if I don't revisit the project later) had all of the electronics on one PCB, abandoning the Arduino hardware for a standalone ATmega 328 microcontroller. This final version also included provisions for a 16x2 character OLED display. The reason for this is because I was interested in the MPGuino at the time and wanted to see if I could integrate it into my gauges.

Details ยป


Accessible Mouse Hardware

Technologies Used Solid Edge, Z Corporation Spectrum Z510 3D Printer
  • Mouse buttons designed to be clicked by the thumb and index finger.
  • Unlike normal mice, the fingers doing the clicking also provide enough support to accurately move the mouse around.

During high school, I had access to a Spectrum Z510 3D printer as part of the drafting and design classes. In my final year, I had the option to participate in a district scholarship competition. I elected to participate and take full advantage of the ability to rapidly prototype physical objects by designing a mouse that would be accessible for a friend of mine with a partial hand amputation.

During the course of the project, I learned a lot about how to design something that you intend people to interact with. Understanding how people hold a mouse, and how disabled people end up adapting to their situation was a key factor in successfully completing the project.

I also decided to take things a step further than necessary and add the PCB from an old mouse into my prototype shape in order to create a mostly-working prototype.

As part of the project, I spent a day at the local mall presenting my project to the public, as well as to the judges who came by at random points throughout the day.