Week 5: electronic origami cranes

My goal was to create a personalized communication device between two people. One crane lights up when the other crane is pressed, so that light is exchanged between the two cranes as a gentle reminder that someone is thinking of them. The original goal was to have the cranes connected to two different computers via radio, and then have the computers connected via internet, so that the cranes can be across the world from each other. The two cranes I made are linked by two beaded wire threads (until I figure out wireless networking!)

Eagle files: helloFTDI.brd and helloFTDI.sch

C code: origami_e_crane.c

STEP 1: circuit design

in Eagle, I added a push button and two LEDs, with 2 500 ohm resistors to limit the current flowing through the LEDs.

Since I was planning to vinyl cut the circuit, I made sure to spread the traces out a bit more than in the given file. Specifically, I rerouted ground so that it did not need to pass under the chip.

STEP 2: vinyl cut circuit

I vinyl cut two sets of copper traces (using a 85 force, 1 mm/sec for the speed, and a 0.2" diameter offset in the png_path fab module) and stuck them onto drafting vellum. The drafting vellum was pre-folded into cranes and then unfolded so that I can later fold the crane while leaving the middle (where the circuit is) relatively unfolded.

Stuffing the board proved tricky since the vellum tended to melt pretty easily. I found that the larger pieces like the 2x3 header tended to torque, causing the traces to lift off. For the first circuit I fixed this by encasing the entire circuit in hot glue. In my second version I tried sticking all of the components down with super glue, instead of relying solely on the traces to hold. The superglue was pretty effective, but eventually I encased my second circuit in epoxy.


STEP 3: programming

Programming was an adventure for me! First I installed WinAVR, updated the make file, and then tried to go ahead and program. No such luck. I was using Cygwin and basically ran into one error after another when I tried to make the file:

  1. error: This application has requested the Runtime to terminate it in an unsual way. Please contact the application's support team for more information. make: ***[led.out] Error 3

    solution: add export TEMP=/tmp to ~/.bashrc (thanks Natalie!)

  2. error: Could not find USBtiny device (0x1781/0xc9f)

  3. solution: Oops! Forgot to install the Windows USBtinyISP driver here

  4. error: intilization failed, rc =-1 Doublecheck connections and try again, or use -F to override this check.

  5. solution Oops! My fabISP cable was flipped in the wrong direction.

STEP 4: making a switch

Instead of using the pushbutton, I wanted to create my own switch so that someone could squeeze the bird's wing instead of press a button. To do so, I extended two legs of the pushbutton using copper foil so that when the two copper pieces touch, the circuit is closed (basically a pushbutton in another form). The vellum is springy so I just put the two foil pieces on opposite sides of a crease, so that the vellum naturally holds the two foil pieces apart. I also had to take care that the exposed copper pieces would not accidentally short with each other (or other parts of the circuit) as the crane was folded up.

When the switch is open, the LED turns off. When the switch is closed, the LED turns on.

STEP 5: communication

The cranes are, for now, physically connected using two conductive threads. One thread runs from the ground of one crane to the ground of the other. And the other thread connects the two switch inputs. This way, when one crane is pressed, the other crane also gets the signal.

I've set the cranes up so that they always alternate (when one crane is on, the other is off).

STEP 6: fold the cranes!

I basically refolded the cranes while taking care to keep the central portion, where the circuit is, as flat as possible since with repeated bending the copper traces will break.



Back to index