Tuesday, June 20, 2017

DNA inspired baskets: Weaving Z- bent springs

Nanotechnologists are hard at work figuring out ways to self-assemble mechanical things from segments of DNA. The wire sculpture below gives an idea how they are able join several double-helix DNA molecules by strand-exchange. Such a structure can be self-assembled from a soup of single-stranded DNA if the single strands have uniquely complementary sequences, so that strands pair up as one intends.

The sculpture also reveals a mechanical weakness in using DNA in this scheme: strand exchange using double helices leaves a single-stranded section in the center of each strut where the splices are made.

Since, unlike DNA, at macro scale we are not limited to double helices, we can move up to triple helices. Triple helices can be joined with have a triple-stranded middle sections (see the octahedron in the top image) and splices near the ends of the strut where they cause less trouble mechanically.

Z-shaped segments can be used to make any mesh since every
edge has a unique clockwise neighbor at each end--automatically
giving a triple cover of each edge.

Monday, July 18, 2016

Making pinking ties

Building things from recycled material raises the issue of how to make attachments without needing to consume new fasteners. Pinking ties are fasteners you make from the same recycled material you are assembling. I have a short video here https://youtu.be/MqNFtUp2DYk .

In the video I am using polypropylene sheet from plastic file folders, pinking shears with five teeth per inch (5mm pitch), and a 3/16" inch diameter hole punch.

I hope to be presenting "Make a Resourceful Sculpture with Pinking Ties" at Silver Spring Maker Faire, September 25, and New York Maker Faire, October 1-2, 2016.

Some simple sculptures made from plastic file folders using pinking ties.

Thursday, November 19, 2015

Pager muscle improvements

I'm back to the larger 260 balloons to have enough structural strength for the approximately 6 g (with logic battery) Tinyduino controller and motor board.
Latest version details:

Safety pins:

for clevises: size 00 = 3/4"

for joints: size 1 = 1-1/16"

All knots:

Quadruple overhand stop knots

All elastic bands:

Loom bands (Rainbow, Cra-Z-Loom, etc.)

Motor leads:

36 gauge magnet wire (twisted pairs)


Qualatex 260Q Diamond Clear (tied and trimmed at both ends to give custom length.)


1-lb test Berkley Fireline (5" untwisted length between stop knots)


Solarbotics TPM2 4mm diameter pager motor

Tapered bushing:

insulation from 22 gauge solid wire tapered by stretching above candle flame

Motor harness tape:

1/8" width of 3M 863 clear strapping tape

Monday, November 16, 2015

Pager muscles for balloon sculptures

A pager muscle is just a pager motor with a length of high-performance fishing line attached. The twisting of the line causes it to shorten and pull the two sides of the joint closer together.
Right now I am working on a practical way to actuate balloon sculptures or balloonbots if you will. A YouTube video shows how it works.

In the video the motor is being driven by a 9-V battery that is pulse-width modulated down to 80/255, or effectively a 3-V supply. The controller drives the motor for 150 msec in one direction and 120 msec in the other direction with 100 msec rests between changes of direction.

Here is the Arduino sketch used for the demo:

int motorDirPin = 2;      // Motor direction connected to digital pin 2
int motorSpeedPin = 3;    // Motor speed connected to digital pin 3
int motorSleepPin = A3;      // Motor sleep to analog pin 3
int forwardSpeed = 80;
int pulseLength = 150;
int reversePulseLength = 120;
int restLength = 100;

void setup()
  pinMode(motorDirPin, OUTPUT);       // sets the pin as output
  pinMode(motorSpeedPin, OUTPUT);     // sets the pin as output
  pinMode(motorSleepPin , OUTPUT);     // sets the pin as output

  digitalWrite(motorDirPin, LOW);     // sets the default dir to be forward
  digitalWrite(motorSpeedPin, LOW);   // sets the default speed to be off
  digitalWrite(motorSleepPin , HIGH);   // sets the sleep mode to be off

void loop()

  // Set the motor direction to forward
  digitalWrite(motorDirPin, LOW);   
  analogWrite(motorSpeedPin, forwardSpeed);      // speed forward
  analogWrite(motorSpeedPin, 0);      // 0 speed forward
  // Setndirection to reverse
  digitalWrite(motorDirPin, HIGH);    
  analogWrite(motorSpeedPin, (255-forwardSpeed));      // speed reverse
  analogWrite(motorSpeedPin, 255);      // 0 speed reverse

Tuesday, August 18, 2015

"Weird Earths" coming to Silver Spring Maker Faire

For Silver Spring Maker Faire, September 20, 2015, I'll be showing "Weird Earths: Make Your Own Riemann Surfaces."

A physical model of stereographic projection. Credit: henryseg on thingiverse.

In complex analysis, a Riemann surface is a surface composed of copies of the complex plane. Since the features of the Earth's surface can be associated with the complex plane by stereo graphic projection, a layperson may prefer to envision a Riemann surface as a surface that has been seamlessly decorated with copies of the Earth's surface—what we'll call Weird Earths. Participants will fold their own Riemann surfaces from pre-cut and pre-creased cardboard strips. The maps printed on the strips are Oscar Sherman Adams' "World in a Square II."

I am indebted to the Five Fold Way, a folding dog exhibited at Bridges Baltimore 2015 by www.tessellation.jp for this novel "folderoll" technique.

The Five Fold Way, a folding dog by www.tessellation.jp .

Wednesday, April 1, 2015

A bijection between plain-woven baskets and hypermap dual pairs

The facial walk of a hyperface, envisioned here as simple cycle. The black dots are hypervertices, the white dots are hyperedges. In the general case, for example, a facial walk that is a walk around a tree, hypervertices and hyperedges  may appear in the walk with multiplicity greater than one.

The canonical (Eulerian) triangulation places a dot of a third color in the center of the hyperface (inspired by Good n Plenty candy, we'll use pink,) and constructs lines (with multiplicity if needed) to each hypervertex and hyperedge in the facial walk.

The canonical (Eulerian) triangulation of a hypermap is constructed by placing a pink vertex in the center of each hyperface and construction lines (with multiplicity if needed) to each hypervertex and hyperedge in the facial walk.

The canonical triangulation is an Eulerian triangulation, meaning there are an even number of triangles incident to each vertex (whether black, white, or pink.) It is also a tripartite graph, meaning it can be colored in three colors such that no edge connects two vertices of the same color. We are clearly in the possession of one such black-white-pink coloring, but the other five permutations of these colors work just as well. Each color permutation is the canonical triangulation of another hypermap. Here are the six arranged in dual pairs. (Hypermap duals are related by a rotation of black and pink—an interchange of hypervertices and hyperfaces—in their canonical triangulations.)

A six-pack of hypermaps: the six color permutations (Lins trialities) of a hypermap when shown in its canonical triangulation. Black = hyper vertex; White = hyper edge; Pink = hyperface. Canonical triangulations that differ by an exchange of black and pink (hypervertices and hyperfaces) represent dual pairs of hypermaps.

A dual pair of hypermaps becomes a plain-woven basket in this way: re-color the Pink vertices Black, then delete all Black-Black edges. 

Clearly, each hypermap in a dual pair yields the same bicolored, quad-faced map. Given a weaving convention to map Black/White to Left/Right helical-handedness, a bicolored, quad-faced map explicitly describes a plain-woven basket. (Some may prefer the dual representation of a plain-woven basket: a chess-colored 4-regular map.)

Fragments of the three baskets generated by the three dual pairs above.

The inverse mapping (i.e., from a bicolored, quad-faced map to a dual pair of hypermaps) is accomplished in this way: diagonalize every quad by adding a Black-Black edge; there are now exactly two ways to recolor the Black vertices with either Black or Pink that do not result in an edge with two ends of the same color—these two colorings are the canonical triangulations of a dual pair of hypermaps.