Vicci Ho is a writer, film programmer and producer. She has written for Variety and worked for film festivals across the globe, including Toronto International Film Festival, Zurich Film Festival and directed the Hong Kong Lesbian & Gay Film Festival.  She is the President of Janitor Interactive: a production company specializing in games.

This is her personal page.

Mid-term Project

The mid-term project, as documented earlier, was to code a NES controller to play tunes. Upon receiving feedback and wanting to ensure I can complete the prototype in time, I decided to build a speaker for the controller... Taking Benedetta's advice of not building a box if I can buy one, I found a wooden box online that would fit the speaker that I have. This will be the beginning of a necessary lesson in fabrication: it is NEVER as easy as it seems.

Though it is probably my own fault for thinking fabrication with a pre-bought object will be easy. The first thing I realized is that I needed to figure out a way to mount the speaker onto the box, which means I need to figure out a way to cut a hole big enough to mount it. It was much more difficult than I thought it was going to be, especially for someone such as myslef who has never even done any woodwork before.

After seeking help from Ben, a resident,he gave the most practical suggestion: make a hole that is messy, and laser cut a panel to mount the speaker on. With that, I can glue it over the messy hole, hiding it and making look much more presentable.

But when the box is so big, even cutting a messy hole isn't that easy:

when everything just doesn't quite fit...

A valuable lesson learned is 1 - even something as simple as "cut a hole in a box" is actually a lot harder than it seems, and might require more specific tools than you realize. It wasn't until I got a drill bit that allowed me to drill a hole then slice sideways, did I finally manage to cut a hole. Something I thought would only take me a couple of hours ended up taking 2 days!

But, thankfully, I now have a hole in a box:


Ben suggested a simple way to cut 2 small holes through the panel I can pull up for power and wires to come through, so I used the saw and cut this:

badly cut holes

It did allow this to happen inside the box, where users cannot see:

how I hid the arduino and bits...

So, the prototype looks like this after all the fabrication:

prototype 1prototype 2

As for the coding: I couldn't quite hack it to be more flexible, so I coded the tunes into the controller. It is probably not the smartest way to go about it, but it sounded ok. So I dug up 4 theme songs: Super Mario Bros, The Legend of Zelda, Tetris and Final Fantasy. The Start / Select buttons are bass notes, and A / B buttons are chords.

Here's Seiya playing with it:

the NES speaker. from Vicci Ho on Vimeo.

So, it looks finished and I am happy that it looks presentable, but I wished it wasn't so limited in its functionality. I still couldn't make it play 2 keys at the same time (I was told "Interrupt" might solve that problem, but that's a battle for another day). Once I coded the tunes in, I wished I had a way to manipulate it in some ways, maybe adding analogue sensors to play with the output more...

So, I feel what I got out of this exercise is never to under-estimate the time to fabricate the prototype. I should probably buy extra boxes in case I break it while fabricating...I also could plan more functionality in advance. I also feel I need to spend an extra 3 months learning how to code the arduino better.

But, for now, I am happy that I made something that looks completed.

Final project thoughts

Tangible, all the way