# Week 10: Output Devices
I worked on trying to make a TFT module work.

For this week, I decided to use a TFT module, which is basically a screen that has colors.
<!-- I wanted to make sure I actually had something for this week, so I decided to use Neil's traces/outlines first and then use a board that I designed. -->
<!-- Here are thehttp://academy.cba.mit.edu/classes/output_devices/index.html -->
I milled the board using the traces/outline that I found on the class website.
Traces: http://academy.cba.mit.edu/classes/output_devices/OLED/hello.SSD1306.45.traces.png
Interior: http://academy.cba.mit.edu/classes/output_devices/OLED/hello.SSD1306.45.interior.png
<!-- I milled with the origin at (x, y, z) = (103, 1, 0). -->
This file has a SAMD21E17 as the microcontroller, and has a connection header that lets you connect to the TFT display.
My first board did not turn out very well, so I remilled it. Here is the result:
I realized that something was wrong with mods so I just reloaded and milled again. It worked. I washed it with the soap in the molding/casting room.
I used the tweezers to roll and pull off the USB connector.

I realized that the 2x4 connector that alternated had legs that were too long so I cut them off with the wire strippers (it turns out these are not ideal; using an actual wire cutter works.)

I could not find the footprint in the fab library (I wanted to use them for my own design but couldn't find it so I used the 5x2 header instead); I asked Chi-li and he said he just drew them on Illustrator, which seems like a lot of work.
<!-- buy solderi![Uploading file..._xgyjl4fn1]()
ng paste from amazing -->
<!-- TS391SNL -->
I found all the parts in the library and stuck them on some cardboard.

I also went to Edgerton and stole some male/female jumpers, since I asked Shah and it did not seem like there were any in the archshops (he actually thought I was asking for help to jumpstart my car so I'm not sure I asked the question correctly but I think that there are none. I also don't have a car.)
Then I soldered for a while (read: a long time, given my inability to solder.)

My first attempt did not work. I feel like I probably got lead poisoning or something from the amount of fumes coming out (I had the fume vacuum going but it didn't seem to be doing anything.) I messed up the board soldering and had to remill it.
My second attempt did not work. I think my soldering was wrong. Chi-li helped me program it, which seemed to work, but I think something was actually wrong. I remilled it again.


My third attempt did not work, either. Chi-li helped me immensely by helping me debug (which did not work but it was very helpful) and lending me his solder paste, which is significantly easier and faster to use than the lead solder in the lab that I was using. He had this thing that he made that makes the USB connection better (a better solution is to modify the USB header in Illustrator or Photoshop or something because the lines are not usually long enough but this works in a pinch), but it did not help either.


<!-- I also am not sure what is up with the file (why is there a 0 ohm resistor going nowhere? http://academy.cba.mit.edu/classes/output_devices/TFT/hello.ILI9341.SW.D21E.png). I will probably try and get a different output device file to work instead. -->
<!-- Unfortunately I got stuck this week on milling/soldering/getting the PCB to actually work. I did take a look at the Arduino library: https://github.com/olikraus/ucglib, which seems nice. -->
<!-- I am not even sure if the file provided works. -->
<!-- (what is the 0 ohm resistor for??) -->
<!-- SAM D21 E17A -->
### Debugging
I checked all the microcontroller connections with the soldering iron. It still didn't work but I got it to program.
Then I checked the D- connection with a multimeter. It seemed fine. Then I checked the voltage regulator by plugging it into ground. After debugging for a while, it still did not work.
## Haptic Metronome
I ended up instead of trying to make one of the boards on the website work, connecting a vibration motor to the ESP32 breakout board that I made for my final project.
It works really well, and I think it looks cool :)
(This is documented under the final project documentation.)