Redstone circuits/Piston

Why Pistons?
Simply, pistons do not fizzle out like redstone torches. It is therefore possible to create circuits with only pistons, redstone wire, and repeaters, as these can run at a third of the speed as traditional circuits.

The Principle
Power is transmitted in several ways that are useful to pistons. The first thing to note is that there are two types of solid block; transparent and solid. Transparent blocks are things such as glass or air, and solid blocks (the most common) are things such as dirt and stone. If a solid block is on top of a redstone torch, any wire connected to the block will be powered. If, however, the block is transparent, the torch will not power the wires.

When a repeater is directed at a solid block, it will pass power into that block in the same way redstone torches do. Power will not be transmitted by transparent blocks.

There is another related detail:

These two above will work. However,

will not work

= Simple logic gates =

If you don't understand these, look at Redstone circuits.

NOT Gate
The torch on the left is the input. The piston is sticky and the output is on the right and could be reversed. However, if you want to invert things, the easiest way is to change them from being a repeater into a block and a torch/wire under a block.

OR Gate
The three wires at the top are the input - you can have any number of them. The wire at the bottom is the output and can come from any direction. Again, the piston is sticky.

AND Gate
Note that the piston is sticky. If you are attaching an input to a clock, the top one is recommended, as it is faster and less noisy.

Multiple input AND gate Note that all the blocks along the top are inputs.

IMPLIES Gate
This is equivalent to an AND gate with one of the inputs inverted and is faster with pistons.

XOR Gate
The Piston XOR gate is much more efficient compared to an XOR gate without pistons. = More Complex Machines = These are very useful and very compact. In some cases, far smaller than standard redstone circuits.

Clocks
Here is a very simple gate. Each line leading out of a repeater is an output. It can also be switched on and off. (Better images should be used here if possible.)

RS NOR latch
R will reset the output, S will set it. The torch can be replaced with an input to be applied. Note that the pistons must be non-sticky. This design will only use one sticky piston. The top dirt block will toggle the output to the on state, whilst the bottom one will toggle the output to the off state. The output is on the lower right corner. [[File:Example.jpg]

Pulse limiter
Here is simple piston based pulse limiter size of 4x3x1.

T Flip-Flop
Uses a XOR gate with pistons to control a piston memory cell. Watch video

Alternative T Flip-Flop
Another way to create a T Flip-Flop with pistons requires two opposing pistons connected via two AND gates. Each time the circuit is activated, the pistons pass two blocks between each other, flipping the output states. To ensure only one piston is activated each time the input is raised high, two AND gates are used. The input must be brought low before the piston finishes pushing the blocks (hence the two redstone repeaters used as delays), otherwise the opposing piston will push them right back. This design is quite large, but it can be laid out in a few different ways and provides an inverted output.

Simple T Flip-Flop
Really simple piston based T Flip-Flop. Requires pulse limiter because it doesn't have edge detector. Also need to have redstone tourch under the glass.

Rings
A band is a ring of blocks attached to pistons at the corners so it can rotate. The blocks are usually a combination of solid and non-solid blocks. The pistons are often connected to a clock so that they will rotate the band. By using a band, you can create things like item sorting machines and other complex mechanisms.

Bands
When you add several rings together in a row, you create a band. A band is useful for even more complex things, as it can be used in a similar manner to punched tape. Examples include music machines, combination locks, and memory.