Joystick Mouse by Sebastian Morales

If you are reading this post it is likely that you spend more than 4 hours a day in front of a computer. Depending on what you are doing this can create a lot of strain on your wrists, arms and shoulders. 

I remember a friend of mine would have a collection of mice on her desk, every couple of hours she would grab a different one, no matter how ergonomic the mice was she would eventually get tired of the position.  

I think this is because all of these mice are meant to be used in only one configuration, and no matter how ergonomic it is, the human body is meant to move. 

Inspired by this challenge, I wanted to create a mouse that didn't locked the user into a single position, one that could be used upside down, laying down or standing up far away form the computer.  

Welcome the Arduino Joystick Mouse!

Turns out that the Arduino Leonardo is perfect for this since it can out of the box access your mouse controls through USB. 

The prototype is quite simple, it has a 2DOF joystick plus a push button. I also added two more buttons as a regular mouse would. An additional idea was to include a 9DOF sensor to detect complex movements. 

This could transform the mouse into a 3D mouse, ideal for creating complex CAD models where you can easily move around your models with elegant precision. This however, requires additional programming that I didn't prioritize in these short weeks. 

An additional advantage of using such 9DOF sensor would be programming movement patterns, perhaps you could copy and paste by simulating the motion of spooning and pouring for example. 

A lot more complex behaviors could be programmed as desired, this means that the firmware inside the mouse should be able to update easily, this means that the brains inside of the mouse should be able to update simply thought the same cable. This made the ATMEGA32U4 the ideal candidate.

After simplifying my MVP for my first prototype I settled on having a simple mouse that could click (right and left), scroll  and move the cursor. Pretty basic but simple to modify if I ever decided to add the 9DOF sensor. 

Eagle 

Ripup, route, ratsnest... your 3 favorite commands while laying out the circuit 

Once I finally simplified my traces and thought it could work it was actually time to make it. 

I skipped a couple of pictures here but it involved printing on vinyl and transferring the ink by pressing it and heating it inside a hair iron. 

Then dropping it on acid.

The process didn't came out without its own problems. 

...like all my pads touching or even completely connected.

The solder is the right place but it looks lime the solder is a little too liquid.

Time to do a continuity check!

MUSIC EVERYTHING BEEPS!!!

So back to the microscope and try to make  things stop touching. Hard to see it but there is a knife trying to separate two paths that looks like might be touching. 

...test again... beeps again... f this...

Final thoughts

My final (not working) prototype is about (pretty much exactly) the same size as my original one. Making me reconsider if this was the right project to try this on. 

Gradients!!! by Sebastian Morales

For this weeks assignment I wanted to explore making gradients and smooth transitions without using the lerpColor() function. This to have total control on the gradient and shape. 

This prove difficult to achieve on the online editor due to a bug that will think I was running infinite loops. I filed the bug but in the mean time hosted my sketch on amazon s3. 

Rafael Lozano Hemmer by Sebastian Morales

I can no longer tell you when exactly it was that I fist discover his work. I have been trying to remember but I cannot tell you what piece it was either. I can tell you however that I was deeply moved and that he has been a rich inspiration since. Perhaps it was Pulse Room, a piece he did in 2006. 

Last year I finally was able to see many of his works live at the MUAC, in Mexico DF. 

Best Practices for Conservation of Media Art from an Artist's Perspective 

This past Monday I had the chance to attend a talk at NYUs Institute of Art given by Rafael himself. The talk was focus towards Conservation of Media Art and the challenges artists, preservations and collectors often have to face. 

Like many, if not all media artists out there, Rafael's work eventually stops working, perhaps it is the computer that died, a hinge that broke, or simply a lightbulb that needs replacing. Some of these problems might sound easy to fix. The problem really grows when you consider that his artwork includes technology, technology that in just a couple of years will go obsolete and perhaps difficult to fix. 

To address this Lozano and his team prepare a set of detailed instructions, anything from CAD drawings, source codes, assembly instructions to a list of suppliers and acceptable guidelines for replacing or fixing components. He says that this details are so descriptive that if they were shared one could build the artwork from nothing. At this point he made reference to Sol Lewitt, mentioning that his artwork is nothing but a set of instructions, this had led him to the challenge of creating un-replicablecertificates to ensure collectors or museums that they have an original work.

These thoughts more and more made me think of his work appropriate for this class, reason why I am choosing him for this week's assignment.

Tape Recorders

Tape recorders is a piece that they did back in 2011 for the MCA Sydney. It includes the use of a computerized tracking system (kinects), computers, cameras, a thermal printer and custom hardware and software.

http://www.lozano-hemmer.com/showimage.php?img=Sydney_2011&proj=257&type=artwork&id=2

As people walk through the gallery, the Kinects pick up the location of the expectators, map their position and project the measuring tapes upwards.  

http://www.lozano-hemmer.com/tape_recorders.php

Eventually the measuring tape collapses on itself, point at which it recoils back to its initial position. 

Finally, every hour, a statement is printed with the total time spent by the audience looking at the artwork. 

Here a video:

Lozano-Hemmer has a website where you can find all of his works as well as projects that he and his team are working on. However, I find that Bitforms has a much cleaner page and it is a nicer experience if you want to explore and discover his work. 

Finally, I couldn't finish this blogpost without showing the picture to the right, Melissa, Sejo, Rafael and myself.

Populating the Board by Sebastian Morales

Creating the solder stencil

Once the board has been printed, milled or etched. Once the board is ready to be populated, there are a couple of steps that one needs to do first. 

In order to facilitate the process, it is best to apply a uniform layer of solder paste in all the pads where components will be solder. To do this a good practice is to laser etch a sheet of acetate to make the mask.

The settings might vary depending the film used as well as the laser selected. The recommended settings where 10 power 10 speed and seemed to be working fine for my first tests. 

Applying the solder mask

seconds prior to applying the solder paste

seconds prior to applying the solder paste

Before you even start this make sure all your components are out, once you apply the paste you don't have much time so you don't want to waist it looking for that 1uF capacitor.

It is best if the board is constrained while the solder is applied, that way you don't risk the stencil to move and the solder will be applied on the pads.

After locking the board and positioning the stencil, apply some solder paste at the top or bottom of the stencil. In one uniform (maybe two, max 3) movement apply the paste by gliding a plastic spatula (credit card) over the board.

Carefully remove the stencil, carefully to not smudge the solder paste on the pads.  

 

If everything went according to plan you should have something that looks like this!

Placing components

Perhaps one of my favorite steps in the process. If you followed the instructions you already have everything you need out. Using the manual pick and place make sure to delicately place the components in the right location and orientation. Don't worry if they are slightly crooked, they will magically aligned once the solder flows. 

Melting the solder

Here a picture of the settings used in case they are useful. 

I guess the only other thing to mention is to allow for the machines to heat up before using them.

 

 

I think it is ideal practice to heat all the board a little before focusing on one specific area. Move the heat gun around the entire board, soon you will see the solder change color, transforming from a matte gray to a very shiny silver. You will also see how the solder groups together.

Test before you power

To my naked eye, the board looks great, there seems to be some two resistors bridging (top left). This is not really a problem since they are where already connected in parallel in the schematics. 

Perform some basic continuity tests to make sure only what is supposed to be connected is connected. This can save you some severe damage to your computer (in case you would connect this to your computer).

Programming the board

So you did everything right?

Congratulations, you are almost there. The class website has some great resources, as well as links to more resources. Go there and learn how to properly use the burn the boot loader to later be able to upload arduino sketches. 

Structured Glitch art by Sebastian Morales

Instructions:

1. Open facebook and download both your profile picture and your cover picture.

2. Open both pictures side by side in a text editor

3. Scroll down a random amount on the second text and copy a chunk of text. Scroll down a random amount and past (or replace) the text.

4. Check the original image and evaluate changes.

5. Repeat process

6. If the change is too drastic or undesirable simply undo the changes in the file and save again.

7. Again, if the change is too dramatic it might happen that the computer no longer recognizes the file. Simply undo changes and save. 

8. Continue the process.

9. Once the image has been modified to your taste save one last time.


UPDATE:

This is a response by the comments:

At the beginning I had stricter rules of what to change or what to remove. I first started searching for specific letters or dates and removing them. This made the image way too corrupted and I could no longer open it. It is clear that I don't understand what the code means as I am modifying it, therefore I take a more exploratory approach. 

Here a video of me redoing it and getting a very different result.

I am making decisions as of where to add/subtract/change code, as well of if continue that path or go back. Still since I don't understand what I am doing I really don't have any real control. Often my goal in the process is to see how far I can go before the computer tells me I went to far and refuses to open the file. Not sure if I am cooperating with the machine or against it.

 

Finally, something strange that happened to me was that even that my computer was able to properly display the image, once I uploaded it to my website it could't be displayed. In another moment my glitch actually got unglitched...

There are other methods I have used to generate glitch visuals. One of my favorites cannot be found.