Evie’s Arduino Lesson #3

Hey all – below you’ll find my code & videos from Arduino Lesson #3.

Let’s start with the simple ones.

Digital Input – Button

Wahoo – the button! I followed the steps in the tutorial to change the code to have the LED start at OFF instead of ON – this is a video of that.

Serial Monitor

This one was pretty cool to me. It’s like my laptop and Arduino board were having a chat with each other – but I was the mediator.

Turn LED On/Off with 2 Buttons

Writing my own code was definitely a bit challenging at first. Although I have some experience with front-end web dev, I was never particularly good at Javascript (and I find Arduino code to be quite similar to Javascript with if/else functions, etc.). I used some of the existing Arduino examples as guides just to make sure I had the logic down.

During my first go, I had a ton of errors, due to omitted semicolons (ugh!). I added them back in and everything was fine and dandy—except the buttonON state worked, but the buttonOFF state did not.

For the longest time, I couldn’t figure out what was wrong with my code. Everything made sense. Turns out…nothing was wrong with my code. I had forgotten a wire on my breadboard 😖 But I fixed it!

Here’s the video:

And here’s the code:

//Two Buttons ON/OFF with 1 LED

//CONSTANTS
const int buttonOn = 3;   //the number of the ON pushbutton pin
const int buttonOff = 5;   //the number of the OFF pushbutton pin
const int ledPin = 12;       //the number of the LED pin

//VARIABLES
int buttonState1 = 0;         //variable for reading the pushbutton status
int buttonState2 = 1;         //other variable for reading status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the ON and OFF pushbutton pins as inputs:
  pinMode(buttonOn, INPUT);
  pinMode(buttonOff, INPUT);
  

}

void loop() {
  // read state of the pushbutton value:
  buttonState1 = digitalRead(buttonOn);
  buttonState2 = digitalRead(buttonOff);

  //check if pushbutton is pressed.
  //if it is, the buttonState is HIGH:
  if (buttonState1 == LOW) {
    //turn LED on:
    digitalWrite(ledPin, HIGH);
  }
  if (buttonState2 == LOW) {
    //turn LED off:
    digitalWrite(ledPin, LOW);
  }

}

Side note: I think I definitely need to trim my resistors. They are getting quite cumbersome as we add more fun things each week.

90s Throwback: N64 Controller Teardown

Two Saturdays ago, I wandered over to the Gowanus E-Waste Warehouse. It was awesome looking through their prop library of old gadgets; there were so many things in there that I wanted to take apart! Unfortunately, those items there were just for borrowing 🙁

But! I ended up picking up an N64 controller instead for this teardown project. Here, you’ll find a photo of the controller (with a few friends from Super Smash Bros. Such nostalgia, hehe). Below is a quick tutorial of the tools and steps needed to take this device apart.

n64

My Toolkit

n64-toolkit-2

Prior to teardown, I gathered up a few of my tools. There are the ones that I thought I would need, though it turns out I actually only needed two of these tiny screwdrivers to take apart the controller. Pictured here are Phillips Head Screwdrivers (2), Needle Nose Pliers (1) and a Box Cutter (1).

Step 1: Take the Shell Apart

n64-step1

The first step here was to take the shell apart by using two different size precision screwdrivers. There were seven screws on the backside of the shell and two in the top. When the shell is taken apart, the Left/Right buttons will automatically come out.

Step 2: Remove the Joystick Portion

n64-step2.jpg

Once the shell is open, use a precision Phillips Head Screwdriver to remove the 3 screws from the joystick portion of the controller. I had some trouble with the bottom screw, as the head was a bit busted, so I ended up unscrewing the ones on the left and the right and pulling it off, which came apart easily.

Step 3: Detach the Circuit Board, Joystick Portion, and Buttons

Once the circuit board and joystick are removed, you’ll see various little rubber padding strips that look like legos. Remove these and you’ll have a shell with some of the button still attached. They’ll be easy to pop out one by one.

Step 4: Take Apart the Joystick

The joystick is easily the most complicated part of this controller. There are several moving pieces to it, including a spring and little wheels that enhance movement. It was surprising how many components were needed to create this joystick motion; you can see that there are 7 parts to that one capability.

Here are all the parts removed:

n64-parts-labeled

And another photo without parts labeled…

n64-parts

Timelapse Recap Video of Teardown:

**edit** Sept 27 2017 @ 9:43am

Adding in information on the technical parts inside the N64 controller – apologies for not doing it before!

Circuitboard CFS8120-200010-02 – It looks like this printed circuit board may be specific to Nintendo and this controller.

MX1720FC C9721 MD67470 – specific Nintendo chip for this controller, made in Taiwan

YG-H2 – There are several of these chips in there, one for the left button, one for the right, and one for the Z directional button on the back of the controller. I couldn’t find too much information on them, but I am guessing they are for directional changes on the controller.

CFP8109-110010-01 – I unfortunately couldn’t find any information on this specific chip through several Google searches, but judging from its attachment location to the circuitboard, I think it may have had to do something with the joystick movement.

Evie’s Arduino Lesson #1 (with a soundtrack…)

Hey hey, it is 11pm and I am doing these Arduino exercises at home and probably having way too much fun with them. Here’s the first Blink exercise with multiple red LEDs.

1/ Arduino Blink

2/ Arduino Blink (Fast)

…and a bit faster with rave music included because it seemed appropriate.

3/ Arduino Fade

…set to the tune of Kanye West’s “Fade,” aka the best workout song ever.

4/ Arduino RGB

…with no soundtrack 🙁

5/ Arduino RGB Umbrella Party!!!

…featuring Duke Dumont’s “I Got U” and some fun drink umbrellas

Hey there, I’m Evie ✨

Processed with VSCO with b5 preset

Hey hey, lovely to meet you all! I’m Evie. I grew up in Maplewood, New Jersey (home of SZA, Ibtihaj Muhammad, and Zach Braff!), but have been largely shaped by my bicultural upbringing and travel experiences on six continents. I have a BA in Psychology from Pitzer College, but landed in the startup marketing world right after graduation.

For the past few years in NYC, I’ve worked in content marketing and brand strategy across various industries including hospitality, education, beauty, and advertising technology. I joined Products of Design to get away from the digital world, and plan to create products that foster compassion between strangers and encourage sustainability—especially in today’s political climate.

You can usually find me at the latest music venue, in the middle of a photoshoot, or on a quest to find the best noodles in Brooklyn. Keep up with my adventures on Instagram @eviecheung or view some of my work at www.eviecheung.com.