Skip to content
This repository was archived by the owner on Oct 12, 2020. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .vs/ProjectSettings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"CurrentProjectSetting": null
}
6 changes: 6 additions & 0 deletions .vs/VSWorkspaceState.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"ExpandedNodes": [
""
],
"PreviewInSolutionExplorer": false
}
Binary file added .vs/blog/v15/.suo
Binary file not shown.
Binary file added .vs/slnx.sqlite
Binary file not shown.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ author-social:
```yaml
---
layout: post
title: Intro to GitHub
title: Intro to GitHub
date: 2017-10-22 12:25:00
categories:
- git
Expand Down
36 changes: 36 additions & 0 deletions _posts/2018-04-17-Custom-USB-Joystick.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
layout: post
title: "Custom USB Joystick"
date: 2018-04-17
categories:
- 3d printing
- PCBs
description: Custom-built USB Joystick for use playing fighting-genre games
image: https://csh.rit.edu/~torirossini/fightstick.png
image-sm: https://csh.rit.edu/~torirossini/fightstick.png
author: Tori Rossini
author-image: https://avatars2.githubusercontent.com/u/31526939?s=400&u=a7b420679bf03d1c0ea8f70fa3cdec5cf402ecf0&v=4
author-bio: First Year Game Design and Development Student at Rochester Institute of Technology
author-email: torirossini@csh.rit.edu
author-social:
github: https://github.com/torirossini
---
Background
---
Coming up with my first project idea was a struggle in and of itself. I had very little technical knowledge, beyond the basics of Java and C#, and some menial handiwork skills. I wanted my project to be something I was passionate about, but I didn't want to make another game when there was so much more I wanted to learn. I also wanted my project to have a practical use after I completed it. Eventually, I stumbled across the idea of building my own USB joystick! Going into it, I didn't know what I would need, or how I would do it, but I knew I had to start before I could really answer any of those questions.

The Process
---
I bought a PCB online, complete with buttons and the joystick. It seems dumb now, but I was terrified of the thing. I didn't understand how to hook anything up to it, and I was so afraid I would break it while trying to attach all the wires. Once I grew comfortable with it, finishing the wiring there was a quick process.

After that, I began working with my Arduino. I wanted to make some animated LEDs which could shine inside of the case. I thought I could 3-D print a case which would be translucent enough for the light to diffuse and shine through. This proved to be significantly more difficult since I had never learned how to wire LEDs. With the help of quite a few people and several hours, I was able to wire together a strip of LEDs which I could animate using the Arduino.

The most complicated part, surprisingly, ended up being the casing. I originally was going to make the top and larger sides out of wood, and 3-D print the last two sides. This idea went out the window when I couldn't cut holes in the wood for the buttons. My next plan was to 3-D print the entire case. This seemed like a great idea! The R&D Director taught me how to 3-D print, and I picked an ABS filament for my print and started.

However, this filament failed me multiple times, costing me many days and lots of broken prints. Even so, failing with my prints so many times got me very comfortable with working with the printer, and knowing what I had to do in order to increase the probability that my print would come out nicely. I changed over to an opaque, PLA filament, which ended up working much better for my case. In the end, the case was too thick and opaque of any lights to shine through; I ditched the animated LED idea. But the case was finished! All that was left was to put it all together.

"So what have you learned?..."
---
I learned that PCBs aren't that scary. I learned that woodshops are.

In all seriousness, I learned how to 3-D print, and how frustrating (and long) it can be to finish a project this way. I also found it endlessly enjoyable and satisfying to have my prints work out! I also learned how to animate LEDs and program Arduinos using python. I also learned quite a bit about workshop safety, and how to have healthy levels of caution when working with tools. The cuts on my hand can attest to that.