Table of Contents

Here's a place to document my FabLab activity. At the moment it's just brainstorming :)


Develop simple tools and techniques for cheap, small-scale personal fabrication.


Top-down Approaches

A 'top-down' approach means some preexisting artifact is doing the ordering. This could be a printer, a plotter, a 3D printer, a hand, etc. Top-down approaches are the easiest to control, and thus the most straightforward way of working, however they don't scale very well if we want to make something by the billion.

Bottom-up Approaches

A 'bottom-up' approach has the components of the final product come together through various stages until the desired result is achieved. This could be chemical reactions, genetically engineered bacteria, biological molecules (eg. DNA), etc. Bottom-up approaches are difficult to get right, but once going they can make as much output as you want, as long as you keep pouring in raw materials.


Self-assembly is a bottom-up form of construction where a bunch of 'building blocks' coordinate themselves based on forces they exert. For example oil is 'hydrophobic', it would rather react with more oil than with water, so putting oil in water causes it to self-assemble into large blobs. More complicated molecules like detergents have a hydrophobic part and a hydrophillic (water-loving) part, which makes them form layers of hydrophobic bits shielded above and below by hydrophillic bits. These sheets can become large and form useful structures like bubbles. Even more complex molecules like DNA allow us to form any desired structures (see eg. Rothemund). We can either use self-assembly to build our final output, or we can attach bits of the output to a self-assembling system which then brings them together for us in a desired way.

Programmed Assembly

This idea, from MIT's Centre for Bits & Atoms, is that building blocks are strung together in such a way that they'll fold into the desired shape, much like the folding of protein chains as Ribosomes add successive peptides to the end.

For example we may put two blocks next to each other, attached via a leafspring. When left to their own devices these cubes will slide around until the tension in the spring is minimised. Having a large collection of these gives us building blocks that eventually form our desired output. This isn't as scalable as self-assembly, but is more easily controlled. Attachments can include magnets, springs, elastic, proteins, DNA, etc.


My ideas are split in two directions. The abstract ideas involve useful concepts which might, at some point, be realised by some physical mechanism. The concrete ideas are the opposite; they take existing physical systems and explore what they can be used for. Hopefully the two approaches will overlap at some point ;)


Wang Tiles

Wang Tiles are like a generalisation of the jigsaw puzzle. Wang tiles are shapes, usually squares, with coloured edges. They only fit together if neighbouring edges are the same colour.

Wang tiles can be thought of as cellular automata, where the automaton rules are implied by the edge colours of the available tiles. They are thus a Turing Complete computational model, which means they can form any pattern that a computer can represent.

To make Wang tiles we need some shapes which can fit together only in certain combinations (like a jigsaw). The material is arbitrary, but making the edges stick together only in certain combinations (the 'colours') is the tricky part. To be useful they must be able to self-assemble, which gives a few options:

At the nano scale we can make tiles from complementary sections of DNA (see Winfree, Seeman, Rothemund et al.).

On the larger scale we can embed magnets into the edges. The orientation of the magnets can repel unlike edges and attract complementary edges. We could use a simple binary representation and write a script to give us the optimal edge sequences.

Wang tiles have been found which, with a few electrical components inside, can self-assemble into NAND gates (which allows any digital circuit to be made) and op-amps (which allows analogue-to-digital converters to be made). Using this technique we can build any circuit we like by shaking around a box of wires! An illustration is below, but also see the Modelling Kinematic Cellular Automata paper at the bottom of the page.


Using Wang Cubes we could have solid-faced closed cubes and empty-faced wireframe cubes. The resulting combinations could either have the wireframes dissolved like scaffolding, or have the model filled in with the closed cubes excluding their volume from the melt.


Atoms interact via a few different forces. Those responsible for the 3 states of matter, solid, liquid and gas, are the so-called 'short-range repulsive, long-range attractive' forces. When 2 atoms are some distance apart, the strongest interaction they have is the Van der Waals force: slight irregularities in their electron distributions cause slight residual electric forces, these distort the electron distributions more, and so on until two 'induced dipoles' are formed. These irregularly charged atoms attract each other. When two atoms are close, however, their electron clouds can start to overlap. The Pauli Exclusion Principle gives the probability of two electrons sharing the same state as zero (they're Fermions), thus one has to occupy a different state. Since everything tries to minimise its energy, the ground state will already be filled, making the only available states require more energy. This makes it incredibly difficult for atoms to get particularly close, but only acts when they're near. The heat (motion) of the atoms determines how far apart they are (hot things expand), since they can't get close easily but can separate easily, and thus the phase of the material: solid when they're all in each others' way, liquid when they can move around but can't break free of each others' Van der Waals forces and gas when they're completely isolated from each other.

We could simulate such properties on a larger scale if we built 'meta atoms' (atoms made from atoms). These would be balls which attracted each other over long distances, for example via magnetism, but repelled each other at short distances, for example via a spongey covering. If we could manipulate the forces at will, for example by changing the current through electromagnets with a resistor, we could change their phase. We could make them liquid when we want to mould or sculpt them, then freeze them instantly when they're in the shape we want. If they're small enough (eg. like grains of sugar) then we'd have a lump that's like Play Dough when we want to make something, and hard like plastic or metal when we want to use it. One lump could be turned into any number of screwdrivers, hammers, cutlery, etc. as needed.


The energy of a bubble depends on its surface area. Following the Principle of Least Action bubbles try to minimise their energy, and thus their surface area. This makes the formation of bubbles quite predictable and reliable for simple structures and reasonable for complex structures (the more complex the structure, the more chance of getting caught in a local minimum).

For example, restricting bubbles to two dimensions forms Steiner Trees between the support structure.

376657900_36cfac30dc.jpg soapbubble.jpg

It may be interesting to see how we could produce bubbles of, for example, plastics, then freeze them in-place. Mass production of simple spherical bubbles and foams are discussed below.


Could we build a computer program which takes a 3D surface as input and outputs a folded 2D shape which will inflate to form that surface? Given such a 2D shape, we can cut it out in sections (eg. with a laser cutter), stick those together (eg. heat sealing them ), add a valve and inflate our desired 3D object.

Lots of work has been done in this area if we know where to look.

1ecf7a01239cf4de981a97e2e93e0471-orig 54cc861dfff44d5fa315400006900beb-orig 5b8cc5ae8b2e1ddb3d42e76cb0c3a338-orig 69bcf9969f30801574227d508e796bb7-orig


DNA is a fantastically versatile substance. Disregarding its use in nature as an information carrier, its actual chemical and mechanical properties make it an excellent building material. It is small (nanometres), it is precise (it binds only in two specific ways), it is self-assembling (just add heat), it can be designed automatically with a computer (see the work of Rothemund), it is self-replicating (given some enzymes and building blocks) and, most importantly, it is incredibly cheap and readily available. To get some DNA:

* Put a little salt water in your mouth and swill it around. * Spit into a cup containing a little water and a drop of washing up liquid. * Stir it a bit. * Get some vodka from the freezer and pour a little slowly down the side of the cup so that it settles at the top. * The DNA will gather as gunky blobs and fibres on top of the soapy water.

Get yourself a cup of enzymes and nucleotides and you can replicate that DNA into as much as you like!

Some of the amazing things DNA has been used to build can be found in my DNA essay at the bottom of this page. Examples include:

* 150 nanometre wide displays, each with a resolution of 4×4, with individually addressable pixels. These were created overnight by the trillion.


* An automatic process for building any 2D shape or pattern out of DNA from a computer drawing. For example nano-scale smiley faces and maps. These were made by the tens of billions.

348ce228-ae2c-11d5-7c2f13b792617ad3_1.jpg 1.jpg

* 3D structures including regular shapes and more useful structures

dna-origami-icosahedron.jpg dna-origami-electron-micros.jpg dnaboxes3.jpg

* Active devices including tweezers, walking robots, flapping wings, etc.

62425re1sm.jpg rotary_20dna_20machine_20story.jpg

This stuff has three stages: Work out how to do what you want (easy since it's computerised), synthesise the DNA building blocks (I'm still researching how to do this on the cheap) then let them build themselves (easy, just requires maintaining the right temperature and salt concentration). Since that middle stage is an unknown at the moment (basically I can't make head nor tail of this) I'm leaving this in the abstract category for now.

Electroactive Polymers

EAPs are materials which change their shape when a current is applied to them. They're often referred to as 'artificial muscles'. If we could find a cheap way to construct such materials in the FabLab then we would have a source of electric actuators which doesn't rely on us winding our own motors. The most promising EAPs are called Ionic Polymer-metal Composites, which work well even with small voltages like 2-3V, and can exhibit large deformations.

32699_0.jpg eap_hand.jpg


Cathode Ray Tubes

A CRT contains a stream of electrons which are deflected via electric fields. This beam hits a layer of phosphorus and makes it glow. A beam can be controlled with excellent precision and at high speed with a simple video signal. In a simple way it can perform a raster fill (scanning row after row from top to bottom) or, with some work, could draw vectors (lines in arbitrary directions). What could this directional power be used for?

If we suspend a CRT over a photosensitive substance we can build structures using the glowing phosphor. In the simple case we can use photographic film to literally take a 'screen shot'. We could use it to prepare a pattern for etching, as found in light-sensitive PCB etching masks. For the more ambitious we could deposit layer after layer of photosensitive powder and react each to a different image, thus forming a 3D printer (albeit with a limited selection of print materials).

In a more ambitious way we could harness the electrons directly. By replacing the phosphorus screen with a 'Lenard Window' ( ), ie. tin foil, the electrons would come spilling out and we could bombard a surface with them. We would have created a dirt-cheap machine for DIY electron beam lithography machine ( ) and possibly electron beam melting ( )


* Test the strength of metal foil/sheet against the desired vacuum. This doesn't need a CRT since we can cover a suitable hole in any cavity with the material, attaching a pump to another hole and gradually decrease the pressure. Once a candidate material is found we can test it against a more sudden pressure change by evacuating another (larger) chamber separated from the CRT-substitute using a simple rupture disc ( ). When the pressure in the larger chamber reaches a level such that adding the air from the CRT-substitute will create a total pressure in the two chambers comparable to the inside of a CRT, the disc ruptures, the air rushes out and we see whether our metal perforates.

* We then test various methods of creating holes in the glass surface. The most obvious one is to weaken the glass at the outline of our window by scoring it, ablating it (eg. with a laser), etc. Then, when the metal is in place we tap the centre of the window to dislodge the glass. Tests would have to be done on glass of comparable thickness and composition to the front of a CRT, with various aperture sizes (bigger = better, but weaker) and at progressively harder vacuums. This finds the optimal technique and hole size, in conjunction with the metal strength tests.

* We then need to test the adhesion of the metal to the glass, not an easy task. Epoxy would probably be a good first candidate, but this is completely open to ideas.

When these tests are completed we should know what size to make the hole, how to make it, what to cover it with and how to affix it. We can then try some tests on real CRTs. This should be done in a safe environment, eg. behind a protective screen either remotely via some mechanism or electronics, or with heavy-duty protective gloves through the screen. If we can get it to work, the resulting machine should be treated with care; for safety reasons we should expect it to implode at any moment. This means it should be in a sufficiently strong (eg. metal) enclosure at all times.

When operational, the first thing to do should be measurement and characterisation of the emitted radiation. CRTs give off X rays anyway, but once the electrons have escaped the tube they are effectively beta radiation, and accelerating them (turning, speeding up or slowing down) will give off more electromagnetic radiation. This should be negligible, but is important to know.

Flatscreen Photomask

Flatscreen monitors, like those in laptops, are partially transparent. It's well known that they can be used as makeshift projectors (eg. by suspending it over an Over Head Projector in place of an acetate sheeet). What if we put one on top of a photoreactive substance, displayed an image to form a mask, then shone down a light through the screen to the substance. Would this give us a fantastically customisable photo-mask system, for example for setting up PCBs for later etching? What about curing photoreactive powders layer by layer to make a 3D printer? Maybe we could even melt powder under the transparent areas and not under the dark areas.

Laser sintering

A laser is directed at a mirror, the mirror swivels in two directions, allowing us the aim the laser at any point on a 2D surface. By selectively turning on and off the laser as the mirror sweeps it over the surface, this can be used as a laser cutter or for laser sintering (fusing melted powder together). See here for an interesting project

Raster 3D Printing

Rather than depositing material like the RepRap, as a vector plotter, why not make a crude machine that just dabs it down. It can then follow a raster pattern, back and forth like an inkjet printer, rather than having complex circuits to control the plotting.

Paper Cutter

We can build up a 3D model with successive layers of paper and PVA glue (perhaps sprayed on with a cleaner-like nozzle). Cutting each sheet then laying it on top, like those 3D puzzles of busts. To keep it cheap, why not use toilet paper as the material? It's cheap, biodegradable and comes in handy rolls to feed into a machine. Cutting it may be annoying though, since it's so floppy. Maybe laser cut it?

Laser scanner

Lasers can be used to find the distance to surfaces in one of two ways:

The simple range-finding technique just measures the round-trip-time of a laser pulse to see how far it's travelled. By swivelling the laser beam into various directions (either directly or via mirrors) we get a circle of the nearest surfaces in our cone of vision. Physically moving the setup around (eg. via a circular track) gives us many shots, and thus allows an approximation to be generated in a PC. This is limited since it involves measuring distance via the time it takes light to traverse it. This is an incredibly small time, and thus is hard to measure, producing inaccuracies.

A more accurate technique is to still use the laser, but to mount a camera pointing at the surface. The position of the spot illuminated by the laser allows its distance to be determined, since we know the distance and angle between the laser and camera. A cheap Web cam would do. This technique can be incredibly accurate if needed.

Using these techniques we can scan objects to create 3D models. These models can be sent to the manufacturing facilities of the FabLab to copy objects: for example a plastic part, like a mounting bracket, may have broken, but someone else has one. We can scan the intact one and print a replacement for the broken one.

An issue that may arise is occluded areas and concave features. These MIGHT be overcome with some intensive computer vision hacking.

Bottom-up Scanning

A scanner can be top-down (eg. a laser range finder scanning over a scene), but a more interesting experiment would be bottom-up scanning. For example we could create a number of cheap, simple 'modules', joined together to form a sheet. This is draped over a surface and each module transmits data about its position relative to its neighbours. This is collated to build a 3D map of the sheet, and thus the surface that is supporting it.

A more ambitious plan may be to physically build the Marching Cubes algorithm and immerse objects to be scanned into a tub of such cubes, vibrating them until they settle, then extracting the neighbour information from the cubes.

Scatter-gather data aquisition

It is far easier for a FabLab to manufacture simple objects in large numbers than complex objects in smaller numbers. Thus we should consider massively parallel approaches to FabLab problems, since they can be solved by one of the FabLab's own strengths.

Large-scale communication is thus needed, which may get expensive if done naively. A simple way of gathering results from a distributed, parallel solution made of simple modules (for example the bottom-up scanning described above) is to transmit signals wirelessly via an LED on the module and a single Web cam observing the work area.

In a specific-use scenario we can have modules wired up to transmit via a simple mapping: eg. a sensor is hooked up to a capacitor and the LED, such that the capacitor fills and discharges more quickly or more slowly depending on the sensor's resistance. This affects the speed of the LED's blinking, which can be measured (along with that of all of the other modules) via the Web cam and decoded with software.

A more ambitious approach would give each module enough processing capability to transmit Internet Zero over its LED, which allows any data to be sent to the host PC.

Conductive Printing

Conductive inks can be printed via an Inkjet printer. This allows the creation of (literally) Printed Circuit Boards without long, messy, bulky steps like UV curing, sulphuric acid etching, etc. These conductive inks are generally organic (carbon based) and very cheap compared to metals. It would be prudent to research/test which inks work in an inkjet before we break the nozzles ;)

If we wish to use a material/ink which is not compatible with any inkjet then we may still be able to use the inkjet to get our PCB pattern down: if we print the negative of the pattern, and do it with wax rather than ink, we can then fill the non-waxy parts of the paper with our material, either via spraying and wiping off, or via chromatography, etc.

Edge-following robot

It's quite straightforward for robots to follow edges of objects (for example see ). We could build a tiny edge-follower and attach the mechanism from a computer mouse to track its movements. This would give us a trace on a PC of an object's outline, without having to get involved in hard topics like computer vision.

We could also use a robot as a scanner: make a line following robot and attach the mouse mechanism for tracking.

Could also remove the PC from the equation and use a pantograph mechanism to couple the motion of the input robot to something else, like a plotter, laser cutter, etc.


Mass production of scaffold material would be incredibly useful for the FabLab. The simplest candidate is the Great Invention Kit which can be cut out of any material at any scale. typicalgik.jpg micrometer_size_gik_parts_on_a_nickle.jpg biggik.jpg

Other potentials are Lego, K-NEX, Mechanno, etc. (expensive to buy: could we print them?) An approach which should gel nicely is the Open Source hardware "Mini T".

A useful project would be to algorithmically generate a scaffold design to support a given 3D object. Could be done the hard way (PROLOG to ensure no intersection, etc.) or the easy way (hook up a genetic algorithm to a correctness checker and physics simulation (eg. ODE)).

Dot-matrix printers

Dot-matrix printers can be found in cash registers, printing the receipts, but can also be rather more sophisticated. The idea is that there's a sheet of paper parallel to a ribbon covered with ink. A metal pin, normal to the paper and ribbon, can push forwards, through the ribbon and the the paper behind. This leaves a spot of ink on the paper. The paper is fed through the machine like other types of printer, whilst the print head moves left and right. The ink ribbon is gradually unwound like a cassette tape.

Donkeys' years ago the only printer in my house was a “Citizen ABC” dot-matrix printer, which I may be able to scavenge That thing has 24 pins, a ribbon separated into various colours and quite a high resolution (can't remember it at the moment though). Given 24 individually controllable metal pins mounted to a 2D movable head, potentially in front of a spool of some material, what could we do with it?

One thing that springs to mind is giving the pins a much sharper tip, then using them to perforate the paper rather than print to it. These perforations could then be used to ease later tearing or origami.

Another idea is to put small particles on the ribbon rather than ink. These could be, for example, tiny electronic components. Rather than using a pick and place machine, we could print circuit boards to paper by using an inkjet with conductive ink to put down the tracks, then populate it with a dot matrix pin pushing the components off a striped ribbon on to the page.

Other applications may be, for example, biological in nature: using the pins as needles to inject a page of cells.

Sphere generation

To make large numbers of near-uniform spheres we could use a tank of molten-but-nearly-frozen plastic (or other material), in which we immerse an insulated pipe connected to a source of compressed gas. Releasing some gas into the pipe will cause it to expand and cool. This cold gas will then bubble up into the molten material. The material around the bubble will solidify since the gas is so cold, and will follow the bubble up to the surface. By floating a column of low-density liquid (eg. cooking oil) on the molten plastic directly above the tube's outlet we can collect these solidified bubbles, giving us a quick source of uniform spheres (which can then be used in some other process). We could even utilise them as containers for the gas, for example targeting delivery of the gas to sites at temperatures high enough to melt the plastic.

Playing with the temperature and pressure controls we could keep the surface of the bubbles molten long enough for them to make contact, so that when they solidify they form a foam. Such a plastic foam could be a useful material for hot-wire cutting for example.

Hot-wire cutting

A simple manufacturing tool, the hot-wire cutter uses a piece of wire stretched tight between two points as a cutting tool ( ). Current is sent through the wire which heats it up, then by moving the ends of the wire it can move through the given material (usually a foam) to slice it in the plane perpendicular to the wire. Moving each end of the wire independently allows this plane to change during a cut.


Instructables has a guide for a computer controlled hotwire cutter here

Biological deposition

Given a scaffold covered with something tasty like agar, yogurt, etc. we can get nice colonies of bacteria, mold, fungi, etc. to grow. When they die they'll leave behind various waste products. If we cultivate them on impure food then they'll deposit the impurities in their waste. This can form structures over our scaffold much like coral. Also see carbon-capturing, limestone-making protocells by these people .

Directed plant growth

Plants “grow towards light”. In a dark box with one light source, a plant will “grow towards” that light source (the chemical reactions that crystalise air into plants are powered by light, thus they occur more rapidly at the points with more illumination). We can use LEDs, or even direct sunlight through optical fibres, to crystalise our plants into the shapes we want. Given multiple directed light sources, we can branch off new growths to create tree structures, and use techniques like inosculation ( ) to join them to form directed graphs. These can be grown into 3D meshes over long periods of time by automatically controlling the position and angle of the light sources.

Positioning robot

Using a mobile robot for tool-head positioning has advantages over the driven axes of machines like the RepRap. There are no rails/runners to get in the way, the angles (theta and phi in spherical polars) can be changed easily, there is effectively unlimited build size (if the robot is allowed to walk as part of the positioning), etc. Examples can be found here Programming can be done either formally, via a Prolog-style constraint following system (ie. give me a path which takes me from A to B but doesn't intersect volume C) or we can use a quicker but less reliable genetic algorithm solution such as


3D knitting can make convoluted structures quite easily, and can be computer controlled. Would make an interesting alternative to hard materials like plastic and metal.



Origami has been turned into a rigorous discipline by computer modelling. Any shape can be algorithmically turned into a sequence of folds, printed and then hand-folded. Maybe we could make a machine to do the folding too, but that would be difficult.

post-1626-1189575073.jpg large-origami-display.jpg

Plotter-like deposition/subtraction

A plotter moves according to vectors and curves, rather than the raster, pixellised nature of printers. An example of a plotter is a RepRap, however much simpler plotter-style mechanisms can be constructed. For example, the pantograph linkage was developed to produce copies of diagrams whilst allowing arbitrary scaling. A stylus attached to the pantograph is moved in a certain pattern, for example tracing over a picture, whilst another implement attached to the pantograph traces out the same pattern, possibly at a different scale.

As well as simple duplication (attaching a pen to the mechanism) other uses of the pantograph include engraving (attaching an engraving tool to move instead of a pen). A promising use of such a mechanism would be to attach the print head of a RepRap, especially a lightweight version such as the bowden cable designs. Sticking a a knob to control the extrusion rate and a crank mechanism to lower the print bed would replace a lot of the complex parts of a RepRap; substituting cartesian axes and electronic control for linkages and manual control. Each layer could be supplied as a scaled-up ink-on-paper design (printed, plotted or otherwise created). The printing process would then become one of tracing the design with a stylus in one hand, controlling extrusion with the other (perhaps line thickness can be used to indicate extrusion rate). Then, after a layer has been completed, the page is removed to reveal the next layer.

Whilst not as accurate as an electronically controlled version (although using the pantograph to down-scale would help in this respect), this could be used as a RepStrap tool: rather than having to gather parts for a RepRap, only the extruder is needed along with some wooden/metal/plastic/whatever bars and pivots, a lowerable table to print on and a set of layers to trace.

Research Material

Nanotechnology in Biology by Chris Warburton. My own research in the area of self-assembling and self-replicating structures, machinery and computers built out of DNA.

Autonomous Self-Extending Machines for Accelerating Space Exploration by Hod Lipson & Evan Malone. NASA study on launching robot factories into space, rather than prebuilt robots, to reduce the time taken for each mission.

Modelling Kinematic Cellular Automata by Tihamer Toth-Fejel. In-depth NASA study of self-replicating machines. An emphasis is placed on the more detailed aspects being much simpler than the large-scale aspects, in other words the issue of “how could we actually build this thing?” is more central than “what could we do if there happened to be such a thing?”.

Kinematic Self-Replicating Machines

NASA and Self-Replicating Machines

Advanced Automation for Space Missions a NASA summer study from 1980 about the use of AI and other technologies in space exploration. It quickly became focused on self-replicating machines.