Let's do this once more

For my "Do it once, do it again" project I want to dive deeper into a project I started working last semester: My squishy buttons

This project started from the idea of using the tangibility of a squeeze to activate a reaction. And what started as a LED in a balloon:

And for a Unity game inside a escape room experience.


All of these have been iterations on the same kind of sensor attached to the micro-controller in the same way: As an analog read getting a map of values that is then printed into the output.

This time around I would like to:

  • Explore wider capabilities of the sensor  (I'm just using three out of its six pins)
  • "De-attach" the sensor from the micro-controller
  • If possible place the sensor within the squish device.

I know there are similar products to this idea in the market, but what I'm trying to do is a pressure sensitive button not a ball that lights up.

Sustraction - The final

The start of the process that lead to this final was covered in my last skill builder post .

I am chasing the dream of building an "acordeon lamp". which has placed me in the big challenge of sculpting abstract figures and translating them into the real world.

This handicap of mine of being unable to imagine what I can't touch and see in the real world has meant that I have made various prototypes, and it seems like I will continue on this road until I figure out scale and functionality of my final project

Before I moved into the new shape (last in the row above) I had to actually do some hand wood work to open the slot for the arms because I really needed to see the way the whole arrangement looked together, since trying it out just with the cardboard arms was not giving me the feel of my piece.

Once I had the idea of the whole piece I went ahead and design what would be the shape of my final piece.

Yet I tried it towards the main part of the lamp and in scale it does not look proper. This means that now I need to divide my process in two: 

A) Re-design the dimensions of the main piece and the arms to fit the scale of the bulb

B) Re-imagine the production process and materials so I can get it right from a bigger piece.


This is subtraction final but not the final step in this project.

Last Skill Builder - The 4 Axis Mill with an interesting shape

So this happened in class and YES I got hooked too. And YES I wanted to play with it but. no, my project didn´t allow for it.

Since time constrains made me start working on my final project I had to use vector works to start prototyping my main piece for my final, which is hopefully going to be a telescopic desk lamp.

Samuel Chan lamps

Samuel Chan lamps

Aspiring to do this like almost any other project has proven to be INCREDIBLY hard. So from prototyping the first cardboard model all the way into designing the vector works and finally cutting the first model I have been redesigning the lamp.

After I had the proof of concept on cardboard I went ahead and designed the main part. It was around 4 hours of pulling and pushing shapes on vector works. Trying to find the way of making them allign perfectly, how to cut them, measure them in real life and then translate them into the 3D model. As you can see (from the struggle shown in this following video) dealing with Vector Works was an interesting challenge

After struggling so much with Vector Works getting it into the CAM was quite a breeze, specially since I was cutting a cylinder in round stock I didn´t even needed to think about tabs.

And then the beautiful moment of seeing the machine do its zen cutting for what seemed pretty rational of a time (30min):

Yet 4 hours of design and 30 minutes of cutting later

It did NOT came out as planned, the holes did not went through even though it showed it in the machine. So I had to add 2 extra hours of hand woodworking so I could prototype the acordeon with cardboard

So now it is off to re-designing the cylinder so it can fit the laser cut arms:

My new found love: 4 axis mill

This is such a beautiful machine to make beautiful organic wood shapes. My only issues is that I am yet to know how to properly design those shapes.

Once the design is done setting it up is EXTREMLY easy, even though I hessitated a little bit when it cam e to setting the 0s, in general terms it is pretty straight forward how to set it up, and I thinl that it has to do with the fact that the Roland Viewer is an extremely well design program that really walks the user through setting up the material in the perfect way and making sure the design is properly milled.

My shape is nothing really but a try on the machine's capabilities. My biggesti interest was seing how it managed circular forms...it is fantastic

Setting up I learnt a couple of things:

  • Always re-inserting the bit
  • Not tighting my material too much in order to prevent vibration
  • Making sure the tighting nut is reachable and not underneath over the bed. I do this by turning A

My piece took a while longer that what I would've expected (It's roughly a 2 by 2 piece) but that has to do with the fact that I was working with hard wood (no idea what exactly though since it came from a salvaged piece) and that the machine is really detailed when doing the job.

Wheb it comes to the process there is nothing to report because it went smoothly through it. I do have a to-do list of things to learn

  • 3D modeling of course.
  • Now that I did my first 4 axis piece I have a better idea of how to translate what I see on the screen into real object.
  • Experiment with more hard woods as they have really awesome capabilities on this machine.

If you are making it bad, make it REALLY bad. Angsty poems n' stuff

Don't get me wrong, I LOVE Python. I just feel Python doesn't love me...not for the last few weeks anyway.

But since I am not willing to keep on missing another homework I decided I was going to tackle this task FULL FORCE. I cannot do beautiful code, or beautiful compositions. So I'm going to do decent code and really bad, terrible compositions. 

My main inspiration for this task: Mr Ricardo Arjona


This is a very latin american reference...but he is, say not the best song writer in Spanish language. He is famous for writing with antonyms, synonyms and angsty sentences, and then sing his compositions with a sad tone in an attempt of making his songs sound deep and meaningful. So I did exactly that. All the code I use can be found in my repository.

But since these are english compositions I guess the output is more of a Cher Horowitz lyrical writting

As I have pointed out before python and myself haven't been in the best terms latetly so if it wasn't for the restaurants.py example in the class notes I could've never made tryagain.py which is my main code. Like the example code where it comes from it joins together randomly chosen words from a list of antonyms and synonyms to "quit", synonyms to "understand"  and a list of some angsty teen sentences. In there is a function that capitalizes the first letter of the selection, and another function to join them all together.

This is my favorite of all the profound teen poems I got:

Making toys...foosball toys

Eventhough my big goal at the lathe is to someday make a mexican cocoa shaker, this week I had to create a foosball character. Since I am training myself on the arts of the free circles I wanted h@m to have free circles on h@z body...sadly that was not possible, the reasons are various. 

First things first. The material I chose was a ply like log made out of MDF panels. I really wished I had thought of taking the picture of the scraped piece I worked with because the transformation is quite amazing. But I didn't so just imagine a recepie holder made out of MDF sheets

Well I took it apart, glued the panels together, waited 24hrs, cuted out the excess, sandded down the corners to make it smoother and finally got to work on it

Getting to my final product was a veeeery long process, I would say it took me around 48hrs to get to it. Plus it was also very tiering, but also very educational. These are the lessons learnt:

  1. Patience and constance is the answer to successful subtraction: I have sculpted on ceramics before, and I thought that that process needs a lot of patience because of the delicacy of the material. Actually EVERY subtraction project on any sort of tools needs patiences. Carving the material to show the shape it hides takes time, lots of it.
  2. PlyMDF is not the best ally for lathe sculpting: even though it turned into a very easy material once I got the dowel finely rounded, getting there was very hard because I had to fight with lots and lots of layers of material, and of course the glue layers I gate it myself.
  3. Again PlyMDF is not the best ally for lathe sculpting: holding the piece was VERY hard, the drive center kept on carving a little "pool" where it was supposed to be holding the material because of its softness, so I during the dowel turning and the final piece turning I had to change my piece's position once (interchange the spindle for the live center)


  1. In case you were wondering - PlyMDF is NOT the best ally for lathe sculpting: my piece ended up breaking when I was almost done, I was going for the last try on the loose ring and I guess I placed so much pressure on the ring I was trying to get loose that the head of my character broke (visible in the picture) and it went flying on the air...some wood glue fixed the problem.
  2. I am not good (enough) at math: eventhough Rita and Nate let me use their jig, my holes are still note 90 degrees apart from each other...

Stay tuned for game day: 28/5/17 9am EST

Winter is killing me, tropical weather deserves a song

The countries with the best weather in the world share a lot of things, like people with good mood, paradise worth calling spaces, but above all...cacao and coffee gets produced in their land. Specially due to coffee production these countries have come to be known as The Bean Belt countries. Among them, my beloved Mexico

Image by Candy Niemeyer

Image by Candy Niemeyer

All of these countries share also the characteristic of having within their territory some sort of Tropical Weather, or being "Tropical Countries".

I miss the tropics so much these wintery days that I decided to try and compose a song for them. All of the files I used for this can be found in my repository.

My three inputs were the lyrics to a beautiful Brazilian song "Pais Tropical", the list of countries that comprise "The Bean Belt" and an explanation of the Tropical Biome

background by freepik.com

background by freepik.com

The most laborious part to complete the process was to remove the numbers from the country list. Since I wanted to do everything just through python programs I had to make and test noNumbers.py several times. Once I had that done I ran wordchange.py which worked on the biome and the belt text and then composelyrics.py which ran with the new text from wordchange and the Pais Tropical lyrics to get my final songLyrics.txt. All these programs were made under the guidance of the class notes so what they do is they take parts of the text and randomly re-arrange them into new texts. This is why there are periods on my final song: because getting rid of all the periods in the country list was way to hard, so I ended up leaving them and I think they work quite well to pretend a rythm within this composition.

background by freepik.com

background by freepik.com

On my way to the cocoa shaker

yes, that is my goal, what is it? 

A mexican cocoa shaker

I find them not only crazy  beautiful, but incredibly useful...I mean foamed cocoa, what else would anyone need in life.

So before I aspire to even try and do one of those I went and did the skill builder in the wood lathe aiming to learn how to do the rings first.

I started off with a piece given by Ben, I have no idea what kinda wood it is, but it is very very hard wood

First ring was a a good success, it took me around 20 minutes to get it loose

After this first ring though I noticed that as I tried to work the wood it kept on stoping on me. So I sharpen the tools several times...worried I was doing something wrong because wood was still not being properly chieseled.

Then as I was still pushing into the piece the lathe stopped completely, terrified that I was doing something wrong I checked the whole set to discover I had been kicking the connection and finally got it unplugged.

But that was not my problem. As I incorporated myself I grabbed on my piece and discovered it was loose. That was the problem!! A little adjustment on the live part of the lathe and I was good to go. I did a big ring, worked the rest of the cubic part in the middle into a cylinder and did another ring that sadly broke.

So I would say I have the feel of what it takes to make a ring, but I am a LONG way away from making a decent one, and I say that moving forward I need to find a proper wood to work with, I do know that the mexican shakers are made out of ocote pine which is quite soft.

Stay tuned for the next atempt

Doll size automata == Sustraction midterm

Automatas are fun, not just because of what they can do, but because building them requires a lot of wit.

I've been obssesed with making a butterfly, so I figured that having the possibility of creating fairly small part would allow me to build a butterfly automaton that could work through a small music box.

This meant that I decided to use the Other Mill, following basically the same steps as I did for the skill builder. Using this time: plywood and MDF as materials.

Working on the Other Mill gave me not only the capability of creating really small parts, but also became an excellent tool for quick iterating. Something very important since my time contrains were very high due to the fact that I spent a really long time researching how to do my automata.

This meant that I went over the same shape several times, trying to understand how to calculate the sizes of my design on the CAD, because even though I was using the digital caliper all the time it is still very hard for me to imagine how much my piece would loose on its contour.. Since Other MIll's CAM is incredibly straight forward redesigning on Illustrator was the only time consuming part of the production.

These iterations let me test the weakeneses of the design, which I will try and improve, starting by the mechanism doing exactly what I want it to do instead of just an approximation.

Joints, its all about the math

Three things I learnt:

  1. That thing I said about vectorworks, Forget it! It is a PAIN, it makes no sense what it does to the designs
  2. When your instructor sais you should start working early, start working early
  3. Joints are all about math

So I started off as early as I could and with the easiest design I could imagine. two rectangles that were going to meet with a simple square. Apart from loosing my 0 point in MasterCam the cutting process went quite easy, but then it was the problem of the fact that I did not calculated the sickness both of my pieces had to sum up to.

Since the first try went fairly well I decided to make my final joint a "Halving with Elliptical Tenon" so I went for the design of a flat cube which will join in one of its "faces" with a circle.

And it was ANYTHING but easy.

I went through seven different digital designs, one cut that was way to large (my material couldn´t provide enough space for it), one design that was badly cut and finally my piece which due to its size needed to get a little bit of sanding.

After these two CNC experiences I come to be more and more convinced that the trick with CNC is all in the software side of it. My great battle this time was translating my design from one program to another into what I wanted it to be.

I tried a lot of times, and every time Master Cam translated my design into a set of lines and not many figures together. So I ended up moving to ilustrator to do the CAD, and since I had changed the origin point so many times it was really easy to translate my Illustratod design into MasterCam and then FINALLY the CNC Router.

Here I had one more mistake: I realeased one of my figures before I did the central cut, so of course the piece got barely poked but it did not got properlly cut.

So it was all about going back to mastercam and rearrengin the order of the operations in order to get my desired piece. 

CNC - a lesson

Three things I learnt in this skill builder:

  1. I love Adobe Illustrator but VectorWorks is not that bad - it has enough youtube documentation-
  2. Plan you designs with the amount of material that will be lost due to the bit. I ended up with a super thin useless wheel - useless for my purpose at least-
  3. Seeing how perfectly figures get cut out is soooo satisfying

BONUS...do not play with the bit's end...you will get cut and cover all your work in blood

So for this project I wanted to do a lamp shade for my brand new hanging lamp but nothing went according to my plan.


Following the process in the instructions was fairly easy, I just ran into two problems

  1. Once I clicked start the screen on the CAM requested a said Tool 1 == "Load Tool 1" flashed in red letters. John told me it meant that the machine was asking for a machine change, so he just clicked 'RESUME' and the process started.
  2. One of my pieces moved and was not cut properly, I was able to sand the cutting afterwards, but it could've been not good at all.


Even though the process went fairly ok. My design was very poorly made, to the point that my main piece came out useless due to the fact I did not plan ahead for the thickness of the bit and how much material I was going to loose, and after everything was cut I realized I needed a pocketing that I did not perform in the useless piece but that I could've planned for in the piece that I ended up using.

So the things I would like to learn going forward are:

  1. If while on the Master CAM I realize that two shapes are too close to each other, how can I move them apart
  2. If while on the Master CAM I realize there is a small shape missing from my design or a dimension is not working, is there a way to modify it?
  3. I am not a designer so I really do not know how to go about a design process, I tried playing around with cardboard, but the planning and measuring was increasingly demanding that I went for the simplest form I could imagine. And even then I do not feel satisfy with the result.

A ladder to the sky

Since the introduction to python included thinking about how arithmetic operations work I was immediatly reminded of the author of my favorite book Lewis Caroll who had a special like on creating math and word games. 

Upon looking for word games I could apply for my assigment I ran into Caroll's word ladders and since I was following the class notes to guide me in the assigment I realized I could make my text look like an actual ladder.

All this ladder thinking  made my mind land on "La Bamba" which is not an origianl song by Richie Valens, or the name of your neighborhood´s hard-shell "taco" joint. "La Bamba" is a traditional "Son Jarocho" a mexican music genre from Veracruz.

(Here are over a jaroch@s breaking a world record while dancing said song)

But I'm getting off track here. 

The reason I landed in La Bamba was because part of its lyrics go: "Para llegar al cielo se necesita, se necesita una escalera larga, una escalera larga ay arriba y arriba" ("To get to the sky a long ladder is needed, a long ladder and up an up"). And since I was planning of going up there I thought that the first person I would visit in the sky it would be my grandfather.

So I decided to develop a program that would build said impossible ladder through Carrolls technique of transforming one word into another, and since land has one too many letters and is way too overated as a place to dwell, I decided to start my climb up from the sea.

Because this ladder would be ultimately connecting my grandfather and me. I picked one of his favorite authors and one of her best poems: Emily Dickinson´s "The brain is wider than the sky" and one of my favorite poets and an adequate (and incredibly beautiful) poem of his: Pablo Neruda´s "The Sea"  

So I used four very basic programs written in python:

lineCopy.py - which prints all the lines that have less than 10 characters

diezletras.py - which prints the first ten letters of a sentence (perfect for form giving to the text)

swap.py - I did various iterations of this one in order to build Caroll's ladder process of exchanging the letters in sea and sky .

And two main .txt files for each of the poems. I tried to write a complex python program to try my talets but it turns out my talents are not quite up there yet. So I designed a process that went like this:

1. $ python swap.py < sky.txt > skydos.txt :

for line in sys.stdin:
    line = line.strip()
    print line.replace ('k', 'e')

2. $ python swapdos.py<skydos.txt>skytres.txt:

for line in sys.stdin:
    line = line.strip()
    print line.replace ('y', 'a')

3. $ python swapthree.py < sea.txt > seados.txt :

for line in sys.stdin:
    line = line.strip()
    print line.replace ('e', 'k')

4. $ python swapcuatro.py < seados.txt> seatres.txt:

for line in sys.stdin:
    line = line.strip()
    print line.replace ('a', 'y')

5. $ python linecopy.py < skytres.txt > skycuatro.txt:

for line in sys.stdin:
  line = line.strip()
  if len(line) >= 10:
      print line

6. $ python linecopy.py <seatres.txt > seacuatro.txt

7. I tried to use a .py cat imitator but it didn´t work to print both archives together. So just for this process I used unix´s cat

$ python cat.py< skycuatro.txt seacuatro.txt > escalera.txt:

for line in sys.stdin:
  line = line.strip()
  print line

$ cat skycuatro.txt seacuatro.txt>escalera.txt

8. $ python armar.py < escalera.txt > escaleraalcielo.txt

for line in sys.stdin:
    line = line.strip()
    first_five = line[:5]
    last_five = line[-5:]
    print first_five + last_five


the be sea
for - side
the ontain
with eside
the be sea
for   blue
the obsorb
as spts do
the bf god
for  pound
and tea do
as sasound
i nkks mk,
i donnkss,
if  iknck,
or onining
thk flkkp,
in sovk in
thk uyvks.
it?s nchkd
ys iflynkt
wkrk kyth;
no, imknt,
thk ssylt,
ynd tnful.
whyt synd.
it sk myn,
to hyfirk;
thk ccold,
thk gstyr,
thk s wyvk
thk q surk
ys y pths,
ynd mntly:
ys i mknt.