Redstone circuits

Redstone circuitry is a feature introduced in Alpha which allows for intricate Redstone wire based mechanisms to be created by players.

Redstone circuitry is similar to the "WireMod" addon popular within Garry's Mod and to digital electronics (based on boolean algebra) in real life.

Redstone Wire
Redstone wire will carry a charge 15 blocks, the darkness of the wire will change the longer it is. To make Redstone Wire, with Redstone Dust in your hand, right click on the block you want it on.

Powering Blocks
Each block in Minecraft may be powered or unpowered. Think of a "powered block" as a cube of dirt or an empty space (though no truly empty Air block can be powered) that is invisibly electrified but safe to touch.

Power may be transmitted from a powered block to one or more of the six directly adjacent blocks. To transmit power, a block must be either: One must be careful to note that a redstone torch placed on the side of a block of dirt is actually part of the block next to the dirt, not part of the dirt block itself. Similarly, redstone wire that is placed on top of a block of dirt is part of the block above the dirt. However, if the block on which the redstone wire is placed becomes powered in any way, so does the redstone wire.
 * an active power source (a redstone torch),
 * the block to which a switch is attached (that is, the block under a pressure plate or the block on which a lever or button is mounted),
 * the block a switch is in,
 * the block above a redstone torch, or
 * an active power conductor (redstone wire that is immediately adjacent to a powered block).

Each actively powered block transmits power in several directions, depending on the contents of the block:
 * A redstone torch powers itself and the block directly above it, unless that block is air. Because of how redstone wires work, this also activates adjacent power conduits (redstone wire).
 * A pressure plate activates the block it is physically located in, as well as the block below (on which it is placed).
 * A lever powers the block in which it is located and the block on which it is placed.
 * A button powers the block in which it is located and the block on which it is placed.
 * Redstone wire Powers itself and the block below it, but only weakly powers the blocks horizontally adjacent to the ends of the wire.

Redstone Wire and signal strength
Whether a block is weakly or normally (strongly) powered affects how redstone wires interact with it. Blocks are strongly powered by redstone power sources; torches (from below), repeaters, levers, pressure plates etc. If a block is powered only by redstone wire then it is weakly powered. Redstone wire which is adjacent to, on top of or below a block that is strongly powered will become active. It will not become active if that block is weakly powered.

Powering Devices
A device, such as a door, a minecart track, or a block of TNT, is activated when an adjacent block is powered. As a simple example, placing a redstone torch next to a door will toggle the state of the door. Similarly, standing on a pressure plate immediately adjacent to a door will activate the door, plate powers itself. However, standing on a pressure plate two blocks away from a door will not activate the door, because the power does not reach the block next to or under the door.

To power devices at a distance, the power must be conducted from the active power source to the device; redstone wire is used for this purpose. As noted above, the redstone wire is part of the block it is physically located in, not the block to which it is attached. Redstone wire, or dust, has two states: on (lit) and off (unlit).

The simplest way to activate redstone wire is to put redstone torch or switch adjacent to the wire. It also works to have a torch or switch directly above redstone wire, attached to a wall. It also works to place a block above redstone wire, and then to put a switch on top of that block.

A redstone torch is itself a powered device; its default state is "on", but it will be turned off if it receives power from the block to which it is attached. This feature, along with the use of wire to transmit power in particular directions over distance, is the basis for the advanced redstone devices and circuitry below.

Care must be taken to follow the power rules precisely, or one might see unexpected results. For example, consider a pressure plate. Activating the plate will power the block underneath the plate as well as the block in which the plate resides. Nevertheless, redstone wire beneath this block will still be powered, because it is adjacent to the powered block above it. However, activating the plate will not turn off a redstone torch placed beneath the powered block -- in fact, placing a redstone torch under the block under the pressure plate will power it continuously, effectively disabling the plate.

Specific Powered Devices
Certain devices act in specific ways, for example:
 * If a block is powered, a redstone torch attached to it will be deactivated.
 * If a block is powered, a door on top of it or adjacent to it will toggle its state from open to closed or vice versa. (The actual state will depend, because doors were implemented unintuitively.)
 * If a block is powered, and it is a note block/dispenser, it will play/shoot once.
 * If a block is powered, and rails are above it, they will toggle shape. (You can still have the wiring power the rail directly.)

Common Errors To Avoid
The following are common errors to avoid:
 * Trying to power a block by putting activated redstone wire underneath it. Redstone wire powers blocks only horizontally at its ends.  To power a block from below, use a redstone torch.
 * Trying to transmit power through a block that doesn't have any redstone wire on it. While a generic block (dirt, sand, gravel, etc, excluding glass, which can transmit power) adjacent to the end of a wire can receive power, it will not transmit that power to wire on the other side, because it is not one of the blocks that can transmit power. If you have a block that you cannot move, send wire around it (including on top of it).
 * Switches on top of blocks are slightly buggy. If you put a switch on top of a block, make sure that it works properly immediately.  Depending on what order the redstone and switch are placed, and what direction you are facing, and what direction the switch is facing, some combinations of these options will cause the switch to not power the block underneath at all.  If it happens, to fix it, destroy the block, change positions, and try to put the block and switch down again.
 * If a block has redstone wire on top and a redstone torch on the side, then the block above the torch must be air (or glass). If you place any solid block above the torch, it will create a feedback loop and the torch will burn out.

Logic Gates
A logic gate can be thought of as a simple device that taking one or more inputs will return an output decided upon from the inputs according to the rule that the logic gate follows. For example if both inputs on an AND gate are in the 'true'/'on'/'powered' state the gate will return 'true'/'on'/'powered'. Much more in-depth information and a better explanation of this expansive topic is available on Wikipedia.

Below is a list of some of the basic gates with example images and MC Redstone Sim diagrams. There are many different ways to construct them other than those shown below, so use them as guidelines for creating one to fit your needs.

Circuit Symbols
Each symbol represents one or two blocks (one represents three), viewed from above. All descriptions are with reference to a "ground level".



From left to right:
 * 1) Air: air over air, i.e. two empty blocks, one above the other above ground level
 * 2) Block: air over a block (of any sort)
 * 3) Two Blocks: block over block, i.e. two solid blocks above ground level
 * 4) Wire: wire (with a block assumed to below the wire, below ground level)
 * 5) Redstone Torch: air over redstone torch (all torches are redstone torches in circuits)
 * 6) Wire over Block
 * 7) Torch over Block
 * 8) Block over Wire (i.e. the wire has an air block just above it; blocks cannot be put directly on wire)
 * 9) Block over Torch
 * 10) Torch over Wire (i.e. the wire has an air block just above it, the torch is above this)
 * 11) Bridge: wire on top of block, over wire (with the usual empty air block)
 * 12) Lever (aka Switch): air over switch
 * 13) Stone Button: air over button (button lasts 10 ticks)
 * 14) Pressure Plate: air over plate
 * 15) Door: 2-high
 * 16) Shadow
 * 17) Repeater: air over a repeater on any setting, also represents repeater on ground in vertical diagrams
 * 18) Repeater over Block
 * 19) Block over Repeater
 * 20) Dispenser
 * 21) Dispenser on top of a block
 * 22) A block on top of a dispenser

NOT Gate (¬)
A device that inverts the input, as such it is also called an "Inverter" Gate.

OR Gate (∨)
A device where the output is on when at least one of the inputs are on.

A simpler version of the OR gate is design A: merely a wire connecting all inputs and outputs. However, this causes the inputs to become "compromised", so that they can only be used in this OR gate. If you need to use the inputs elsewhere, version B is necessary.

Version C (not yet pictured) consist of a block with a repeater next to it as the output. With this design, it is possible to add a supplementary input via a wire from the top for a total of 5 inputs. This design is also faster because of the repeater instead of the torch.

Note that design B is a simple inversion of a NOR gate.

AND Gate (∧)
A device where the output is on when both inputs are on. This behaves in a manner equivalent to a Tri-state buffer, where input B acts like a switch, so that if it is off, input A is disconnected from the rest of the circuit. The discrepancy from real-life tri-state buffers lies in the fact that one cannot drive a low current in Minecraft. (See the Wikipedia article for details.)

An example application would be building a locking mechanism for a door, requiring both the activating button and the lock (typically a lever) to be on.

NOR Gate (⊽)
A device where the output is off when at least one of the inputs are on. All logic gates can be made from either this gate or the NAND gate. In Minecraft, this is the basic logic gate, implemented by a torch. A torch can have as many as 4 mutually isolated inputs (design B), but 3 can fit comfortably (design A), and all are optional. A torch with 1 input is the NOT gate, and with no inputs is the TRUE gate (i.e. a power source). If more inputs than 4 are necessary, one must resort to the non-isolated OR gate with a NOT at the end (at expense of isolation), or multiple NOR gates, according to the formula A ⊽ B ⊽ C = A ⊽ ¬(B ∨ C) (at the expense of speed, due to the nested gates).

NAND Gate (⊼)
A device where the output is off when both inputs are on.

XOR Gate (⊻)


A device which activates when the inputs are not equal to each other. Pronounced "exor". Adding a NOT gate to the end will produce an XNOR gate, which activates when the inputs are equal to each other. A useful attribute is that a XOR or XNOR gate will always change its output when one of its inputs changes, allowing for 2 switches to be combined to open or close a door, or activate another device.

XNOR Gate (≡)
In logic, this is more commonly referred to as "if and only if" or "iff" for short. It is a device which activates only when the inputs are equal to each other. In other words when either input changes, the output changes. This is achieved by inverting the output or one input of an XOR. An application of this in Minecraft would be to wire up two levers to the same door.

IMPLIES Gate (→)
A device which represents material implication. Returns false only if the implication A → B is false, that is, if the conditional A is true, but the consequent B is false. It is often read "if A then B."

Latches and Flip-Flops
Latches and Flip-Flops are effectively 1-bit memory cells. They allow circuits to store data and deliver it at a later time, rather than acting only on the inputs at the time they are given. Functions using these components can be built to give different outputs in subsequent executions even if the inputs don't change, and so circuits using them are referred to as "sequential logic". They allow for the design of counters, long-term clocks, and complex memory systems, which cannot be created with combinational logic gates alone.

The common feature at the heart of every redstone latch or flip-flop is the RS NOR latch, built from two NOR gates whose inputs and outputs are connected in a loop (see below). The basic NOR latch's symmetry makes the choice of which state represents 'set' an arbitrary decision, at least until additional logic is attached to form more complex devices. Latches usually have two inputs, a 'set' input and a 'reset' input, used to control the value that is stored, while flip-flops tend to wrap additional logic around a latch to make it behave in different ways.

RS NOR latch


A device where Q will stay on forever after input is received by S. Q can be turned off again by a signal received by R.

This is probably the smallest memory device that is possible to make in Minecraft. Note that Q means the opposite of Q, e.g. when Q is on, Q is off and vice-versa. This means that in certain cases, you can get rid of a NOT gate by simply picking the Q output instead of putting a NOT gate after the Q output.

A very basic example of use would be making an alarm system in which a warning light would stay turned on after a pressure plate is pressed, until you hit a reset button.

In the truth table, S=1, R=1 is often referred to as forbidden, because it breaks the inverse relationship between Q and Q. Also, some designs where the input is not isolated from the output, such as B and D, will actually result in Q and Q both apparently being 1 in this case. As soon as either S or R becomes 0, the output will be correct again. However, if S and R both become 0 on exactly the same tick, the resulting state could be either Q or Q, depending on quirks of game mechanics. In practice, this input state should be avoided because its output is undefined. In design E, S=1 and R=1 results in both Q=0 and Q =0.

RS NAND latch
Since NOR and NAND are the universal logic gates, a design for an RS NAND latch is just an RS NOR with inverters applied to the inputs and outputs. The RS NAND is logically equivalent to the RS NOR as the same inputs for R and S give the same outputs.

When S and R are both off, Q and Q are on. When S is on, but R is off, Q will be on. When R is on, but S is off, Q will be on. When S and R are both on, it does not change Q and Q. They will be the same as they were before S and R were both turned on.

D Flip-Flop
A D flip-flop, or "data" flip-flop, sets the output to D only on certain conditions. The basic level-triggering D flip-flop (design A), also known as a gated D latch, sets the output to D as long as the clock is set to OFF, and ignores changes in D as long as the clock is ON. Design B includes an edge-trigger, and will set the output to D only at the moment the clock goes from OFF to ON.

In these designs, the output is not isolated; this allows for asynchronous R and S inputs (which override the clock and force a certain output state). To get an isolated output, instead of using Q simply connect an inverter to Q.

Design C is a one block wide version of A, except for using a non-inverted clock. It sets the output to D as long as the clock is ON (turning the torch off). This design can be repeated in parallel every other block, giving it a much smaller footprint, equal to the minimum spacing of parallel data lines (when not using a "cable"). A clock signal can be distributed to all of them with a wire running perpendicularly under the data lines, allowing multiple flip-flops to share a single edge-trigger if desired. The output Q is most easily accessed in the reverse direction, toward the source of input. Q can be inverted or repeated to isolate the latch's Set line (the unisolated Q and Q wires can do double duty as R and S inputs, as in design A).

Design E provides a more compact version of A, while still affording the same ceiling requirement. The design to the right in the image however requires 1 more block ceiling allowance, but allows the edge trigger to act on a high input. This additional ceiling requirement can be circumvented by simply moving the vertical NOT gate, to a lateral position 2 blocks downward. There is also the option of simply providing a NOT gate on the clock for your data bank, thus preventing the requirement of a gate for each flip flop.

Design F holds its state while the clock is high, and switches to D when the clock falls low. Note the presence of blocks above the top wire, to cut connections. They are indicated by yellow hashing on the image. The repeater serves to synchronise the signals that switch out the loop and switch in D. It must be set to 1, to match the effect of the torch.

JK Flip-Flop
A JK flip-flop is another memory element which, like the D flip-flop, will only change its output state only when the clock signal C changes from 0 to 1 xor 1 to 0 (edge-triggered, design A and B), or while it holds a certain value (level-triggered, design C). When the flip-flop is triggered, if the input J = 1 and the input K = 0, the output Q = 1. When J = 0 and K = 1, the output Q = 0. If both J and K are 0, then the JK flip-flop maintains its previous state. If both are 1, the output will complement itself — i.e., if Q = 1 before the clock trigger, Q = 1 afterwards. The below table summarizes these states — note that Q(t) is the new state after the trigger, while Q(t-1) represents the state before the trigger.

The JK flip-flop's complement function (when J and K are 1) is only meaningful with edge-triggered JK flip-flops, as it's an instantaneous trigger condition. With level-triggered flip-flops (e.g. design C), maintaining the clock signal at 1 for too long causes a race condition on the output. Although this race condition is not fast enough to cause the torches to burn out, it makes the complement function unreliable for level-triggered flip-flops.

T Flip-Flop


T Flip-Flops are also known as "toggles". Whenever T changes from 0 (off) to 1 (on), the output will toggle its state.

A useful way to use T Flip-Flops in Minecraft could for example be a button connected to the input. When you press the button the output toggles (a door opens or closes), and does not toggle back when the button pops out. (Designs C and D do not have an incorporated edge trigger and will toggle multiple times unless the input is passed through one first.)

It is also the core of all binary counters and clocks, as it functions as a "period doubler", turning two input pulses into one output pulse.

Design A has a large footprint, but is easy to build. It (and B, which is a slightly compacted version of A) is essentially a JK flip-flop with the inputs for J and K removed so that it relies on the edge trigger (right side of the diagram) to keep it in the stable state and only allow a single operation per input.

Design C has a smaller footprint and an easily accessible inverse output, but lacks an edge trigger. If the input is kept high, it will repeatedly toggle on and off, cycling quickly enough to burn out its torches. For example, if the button mentioned above is wired directly to its input, the device can toggle several times before the button shuts off. Even a 4-clock is too slow to reliably result in only one toggle. Adding an edge trigger by routing input through a separate pulse generator (design B' seems to work best) will prevent this problem, as will any other means of sending it a short (2-3 tick) pulse of power.

Designs D and E are much taller than the others, but only a single block wide, making them good for situations where floorspace is limited. D is level-triggered like design C, which can save space when distributing one input pulse to multiple flip-flops. E has a single block wide edge trigger added on, making it easy to daisy-chain multiple units to create a binary counter or period-doublers for a slow clock. As of 1.6.6 the design for E requires a 4-delay between the edge trigger and the latch--In the column to the right of the Q in the middle, replace the bottom wire with a repeater facing right set to 4. These designs are based on the vertical gated D latch (design C) with the inverse output looped back to the input.

Design F makes use of repeaters to make the circuit more compact, however, it does require the repeaters to be set to the levels specified in order to function correctly.

Design G is a T Flip-Flop design. Repeaters need to be set to the levels specified to work correctly. (Otherwise it will blink or it won't work) Layout of the G T Flip-Flop.

Design H uses timing - the repeaters exactly match the torches. The core of the design is a loop with two torches that acts as the memory cell. When the input is received, it temporarily substitutes in a loop with only one redstone torch - a not gate. This flips the input. The input must be held high and driven low with an edge - a suitable circuit is simply a torch and a repeater set on 4 in parallel. Without this, it will oscillate and burn out the torches, so lay the circuitry to hold the input high before putting in the loops. In addition to being small, the design is fast - the output flips almost as soon as the input goes low. It seems to be the smallest now, if we do not include an edge detector on the input (the suggested edge detector is 3x4x1). Note that three blocks are needed above the redstone to stop cross-connections. In the diagram, these are shown with yellow hashes. You can put a fourth one in over the repeater for symmetry if you wish. These blocks do not add to the height of the unit - they are at the same layer as the two upright torches.

Design I is, a T Flip-Flop design, it do not uses repeaters, The input is the Down block, the output can be the top left corner torch. The Output blinks when toggled. Layout of the I T Flip-Flop.

Design J is the smallest design of T Flip-Flop on this page. It is a compact version of the H design and has an edge trigger. Depending on a combination of game mode (SMP or single player), orientation, and game version, the repeater delay may need to be adjusted to eliminate output flickers on state changes. In some situations, it will not work at all unless the repeater delays are adjusted. It has been reported that for proper operation in some cases, the repeaters have needed to be set to 2-1-4 or even 4-2-4.

A demo of this flipflop working correctly can be downloaded at. It is a zipped world from a local installation of the minecraft server (v1.6.6).

Design K is another T Flip-Flop design that utilises repeaters. It has a built-in edge trigger, and consists of an RS NOR latch and two shortened AND gates, with both of the AND gates wired up to T at one input and to the RS NOR latchs' output on the other input, and for one T Flip-Flop the input is inverted. This design may possibly be compacted further, but this design is small enough to be useful and not get in the way too much. This hasn't been tested on SMP yet so you may need to play around with repeater levels if it doesn't work or flickers a bit.



''NOTE: Some of the illustrated T Flip-Flops to the right don't include the typical Q outputs. If you want to use the Q then just add an inverter to Q.''

NOTE: Using design E you may require a delay in the connection between the edge trigger and flip-flop in order to maintain a high input long enough to toggle the flip-flop

Repeater/Diode in Beta 1.3

 * See the Redstone Repeater article for full details.

As of Minecraft Beta version 1.3 you can craft a Redstone Repeater block from 3 stone, two redstone torches and one redstone dust. It can be used to compactly extend the running length of a wire beyond 15 blocks, or apply a configurable delay.

Traditional Repeater/Diode
Using two Redstone torches in series can effectively extend your running wire length past the 15-block limitation. As of 1.0.2 (the July 6th update), there must be a strip of wire between the two Redstone torches. Repeaters makes it possible to send long-distance signals around the map, but in the process, slows down the speed of transfer. To reduce delays, you can stretch out the repeater so that some areas of the wire are consistently in the opposite state, but as long as the amount of Redstone torches, or, effectively, NOT Gates is even, the signal will be correct. In more advanced circuits, repeaters can be used as a semi-conductors; to isolate in- or outputs.

Note that since 1.3 there is a one block Redstone Repeater built into the game that can be crafted from 3 stone, two redstone torches and one redstone dust, and which can be set to different delay times(The second setting is equal to one Traditional Repeater.The fourth setting is equal to two Traditional Repeaters).

Rail T Flip-Flop
the Rail T Flip Flop is a T Flip-Flop that instead of using only redstone you use rails and redstone. it dosent work as fast as redstone but it takes up less space then a normal Flip-Flop and it also is easy to access the input and output.

http://i54.tinypic.com/nvtq49.png Example of the Rail T Flip-Flop. The wooden squares at the rail corners are pressure plates, which will switch the conventional RS-NOR latch at the bottom.

Two-Way Repeater
A while back, I created a new type of redstone circuit (as far as I can tell) which acts as a two-way repeater, essentially serving as an elongated strip of redstone. Unlike normal repeaters, which only work in one direction, this circuit allows a signal to be sent through it from either side. It does not have a traditional input or output, but rather two spots which serve as both input and output, depending on what is attached to them. Whenever either one of them is receiving power, the other one is also receiving power. Whenever one of them is off, both are off.

Also, this circuit even tells you the direction the signal is flowing. Of the two torches which appear unlit in the diagram, whenever the circuit is powered, one will be lit. It will be the only lit torch in the circuit, and it will face the direction the power is moving. Thus, if there is an input from A, the bottom-right torch will be lit. In short, the primary purpose of this circuit is to simulate the function of redstone wire without restricting signal direction like a repeater, but it also happens to indicate which direction the signal is flowing.

The North/South Quirk
A specific arrangement of torches which would normally be expected to behave identically to a traditional 2-torch repeater, causing a 2-tick delay in signal transmission, instead causes only a 1-tick delay. (See figure 1.) When constructed with the torches facing east and west, this arrangement causes the expected 2-tick delay, but when facing north and south, the second (top) torch changes state at the same time as the first, after only a single tick.

The quirk can cause unexpected bugs in complicated circuit designs when not accounted for, but it does have several practical uses. For example, double doors require opposite power states, but inverting one signal delays that door's response by 1 tick. Prior to Beta 1.3 and the introduction of the Redstone Repeater, the only known way to perfectly synchronize them was with this 1-tick repeater. Another application is in creating a clock circuit (see below) with an even pulse width and period.

Finally, as a generalization of the double-door use, the North/South Quirk can be used to obtain two signals which are always inversely related without the additional 1-tick delay a NOT gate normally causes in the second signal. (See figure 2.) This can be especially useful in circuits where precise timing is important, such as signal processing that relies on the transition of an input from high to low and low to high (on to off and back), for example by sending each of the inverse signals through separate edge detectors (see pulse generators below) and then ORing their outputs.

Delay Circuit


Sometimes it is desirable to induce a delay in your redstone circuitry. Delay circuits are the traditional way to achieve this goal a compact manner. However, in Beta 1.3 the single-block Redstone Repeater was introduced, which can be set to a 1, 2, 3 or 4 torch delay, effectively rendering these delay circuits obsolete. The historical circuits are shown here for completeness, and will still work should you choose to build one.

These two delay circuits utilize torches heavily in favor of compactness, but in doing so the builder must be aware of the North/South Quirk. For maximum signal delay, construct these designs so that the stacked torches face east and west. For a fine-tuned delay, adjust the design to rotate one of the alternating-torch stacks to face north and south, or add an additional stack in that orientation.

Design A gives a 4 tick delay, while design B gives a 3 tick delay.

Clock generators
Clock generators are devices where the output is toggling on/off constantly. The simplest stable clock generator is the 5-clock (designs B and C). Using this method, 1-clocks and 3-clocks are possible to make but they will "burn out" because of their speed, which makes them unstable. Redundancy can be used to maintain a 1-clock, even as the torches burn out; the result is the so-called "Rapid Pulsar" (designs A and F). Slower clocks are made by making the chain of inverters longer (designs B'  and C'  show how such an extension process can be achieved).

Using a different method, a 4-clock can be made (design D). A 4-clock is the fastest clock which will not overload the torches.

A 4-clock with a regular on/off pulse width is also possible as seen in design E. This design uses five torches, but can be constructed so that it has a pulse width of 4 ticks by employing the North/South Quirk. It is important that the orientation of this design (or at least the portion containing the stacked torches) be along the north/south axis.

The customary name x-clock is derived from half of the period length, which is also usually the pulse width. For example, design B (a 5-clock) will produce the sequence  on the output.

Designs F and G are examples of possible vertical configurations.

Repeater Clocks
With the addition of Redstone Repeaters in the Beta 1.3 update, clock generators can be simplified to at most one block, one redstone torch and from one to any number of repeaters chained together.

Very rapid clocks with even pulsewidth can be designed out of only Redstone Repeaters. By increasing the delay on each repeater or by increasing the number of repeaters in the loop, the clock can be slowed. These clocks act as variable clocks, but have higher maximum speeds, but these can't be used as it soon burns out the torch, you have to set the repeater on its third setting to stop it burning out.

Piston Clocks
After their addition in the Beta 1.7 update, Pistons can be used to create new types of clocks with modifiable pulse delay wihtout the use of pulse generators. This allows other pistons to be clocked in a fashion that only leaves the arm extended for the time required to push an adjacent block, which in turn facilitates the creation of more complex and faster piston contraptions.

Variable Piston Clocks
A variable piston clock is a more streamlined piston clock, requiring only one piston and a varying number of redstone repeaters. These clocks are also toggle-able because they are only active when supplied with a redstone signal. The speed of the clock is determined by the number of redstone repeaters used. An almost unlimited number of clock speeds is possible. These clocks were not viable until the Beta 1.7.2 update, when self terminating redstone-piston loops were fixed. This video demonstrates how to build a basic variable piston clock.

Controllable Clocks
Are a combination of a 5 Clock and a AND or a NAND gate. The output ends in the first inverter of the clock, one of the AND inputs is the output of the 5th inventor of the clock

Toggle-able Clock
By adding an inverter instead of a repeater at any point in an average clock, and then wiring a lever to the main block of this inverter, a clock which can be toggled on and off can be created. It is important to either use 3 or more repeaters, or delay if less are used, as it seems to burn out otherwise.

Pulse Generators
A device that creates a pulsed output when the input changes. A pulse generator is required to clock flip-flops without a built-in edge trigger if the clock signal will be active for more than a moment (i.e., excluding Stone Buttons).

Design A will create a short pulse when the input turns off. By inverting the input as shown in B, the output will pulse when the input turns on. The length of the pulse can be increased with extra inverters, shown in B'. This is an integral part of a T flip-flop, as it prevents the flip-flop changing more than once in a single operation. Designs A and B can be put together to represent both the increase of A and the decrease of A as separate outputs, these can then be read to show when the input changes, regardless of its state. Redstone Repeaters can be used to change the length of the pulse, by placing one or more in series in the delay circuit between the two redstone torches (referring to design A). NOTE: This design no longer works with the 1.6 update. In order for any pulse to be sent through a there must be at least one more torch of delay between the first off state and the second. Adding a repeater on the first setting will add the minimum one additional torch of delay without breaking the pulse generator.

A pulse generator which causes a short pulse of low power instead of high can be made by removing the final inverter in design B' and replacing it with a wire connection. This is the type used in designs A and B of the T and JK flip-flops (when J=1 and K=1) to briefly place these devices in the 'toggle' state, long enough for a single operation to take place.


 * These circuits seem to burn themselves out, in singleplayer and apparently in SMP, with the 1.6 update. (confirm?) (confirmed singleplayer)

Pulse Limiter


A pulse limiter limits the length of a pulse. It is useful in sequential bit activation to prevent multiple bits from being activated by the same pulse. The construction expects a default "on" input (left) and by default gives an "on" output (right).

When the limiter receives an off input, it generates a pulse with a length equal to the delay of the right repeater plus the delay of the torch minus the left repeater (make sure that this yields a positive value) or the length of the initial pulse, whichever is shorter. For example: in the picture, the pulse is calculated as .1 + .1 - .1 = .1 or one tick, assuming the activation pulse is >= 1 tick. Be aware of the North/South quirk, as this can affect the delay of the torch. When the input is turned back on, the limiter will not emit a second pulse.

Monostable Circuit


A device that turns itself off a short time after it has been activated. Basically, it consists of a RSNOR-latch and delay hooked up to its reset. The trigger input activates the latch's SET input, and after a delay set by the repeaters, the RESET activates, turning the output off again. The delay (e.g. the length that the output is high) can be set to any value by adding repeaters into the chain.

As a pulse will often have a shorter duration as it passes through complex circuitry, monostable circuits are useful for relengthening the duration, as the output always lasts the same amount of time, regardless of input duration.

It can also be used to delay a signal by using its reset signal as output.

A compact version of the circuit fits neatly into a small space (3x5x2).

Alternatively, a (1x8x3) vertical device can be built to fit neatly against/into a wall. As in the other cases, the length of time that the output is high can be adjusted by adding or removing repeaters. (N.B. the repeaters should be flat on the floor, in the positions shown). This design lacks the RSNOR-latch of other designs and will only be useful in constant-input circuits. For momentary circuits, this design will not lengthen an input signal like the other designs, it will only cut the signal early.

A compact yet simple 2-X-1 device can also be built if you're constricted to long hallways with little room for width. However, due to the design, this only works with pulsed inputs and not with constant-input circuits. Unlike the previous designs, however, it can deal with 1-tick pulses. Design A shows the a basic device that lengthens the incoming pulse by 1. Design B shows how you can expand this to lengthen the pulse by 3. Design C, which lengthens incoming pulses by 6, shows how you can make the device more compact by lengthening the delay of the repeaters; unfortunately this particular design only works properly if the incoming pulse is at least two ticks long. Design D shows how you can skirt around this problem without terribly affecting the compact nature of the device; it lengthens pulses by 7 and works with any length pulse. Note that the number of ticks the device lengthens the pulse by is equal to the sum of the delays on the repeaters in the design, not including the first one.

Vertical transmission
Sometimes it's necessary or desirable to transmit a redstone state vertically, for example to have a central control or status for several circuits from a single observation point. To transmit a state vertically, a 2×2 spiral of blocks with redstone can be used to transmit power in either direction, and the spiral is internally navigable (i.e. one can climb or descend within the tower).

If repeaters are necessary, there is a 1×1 design for transmitting a state upward, and a 1×2 design for transmitting a state downward. For this to be effective you MUST NOT finish the top torch ON only OFF will switch the current when needed. Internal navigability of these designs inside a 2×2 tower interior can be maintained using ladders.

Blink device
This device creates energy in an irregular sequence. It is a variant of the "Rapid Pulsar" design shown in the Clock Generators section above.

You can build this device by placing a block with one redstone torch on every side. Place some redstone on top of the block, and place a new block on top of each torch. Then wire it up to different circuits.

It is also possible to make a double blink device if you put redstone torches on top of the blocks the other torches are under but it may take a little bit of time for the top ones to work.

This device will stop working after the server restarts (multiplayer)

By connecting all the torches together, this device will keep going, because although the torches burn out, they are all connected. Giving you a 1 tick timer.

Multiplexer
A multiplexer (mux) is a device that selects one of two or more inputs and outputs the selected input. This multiplexer can be chained together with itself, allowing for 3 or more bit multiplexing.

Note: The inputs are (NOT A), B, and C.

-Inputs A and B are on the bottom (left=(NOT A), right=B).  -Output is on the top. C (Control) is the uppermost layer of redstone. Any connection to it will work. Dimensions: 4x3x3 Redstone: 16 (12 wire, 4 torches)

Mechanical to Electrical Conversion


Making use of a quirk involving the update function on blocks near a water or lava source, it is possible to convert the "mechanical" energy of updating a nearby block into a redstone signal. To do this, create a water or lava rig that will shift when the desired block updates (for more info, read this thread). Then position a redstone torch or powder trail so that the water/lava will wash/burn the torch or powder. Do this in such a way that the missing redstone component will change the input to your circuit.

Once this setup has been rigged, the next time an update function is called in an adjacent block to the water/lava source, it will trigger your mechanism. Update functions include: an adjacent block is placed by a user, gravel or sand falls into an adjacent block, grass grows, wheat grows, an adjacent block receives power, an item resting on an adjacent block changes state (such as a door being opened).

This setup can only trigger once before needing to be manually reset.

Electrical to Liquid Kinetic Conversion
It is possible to use the same quirk described in the Mechanical to Electrical Conversion section to make water or lava flow as desired. In order to do this, simply follow the instructions in this thread and run a redstone wire to the block adjacent to the water/lava source. Whenever the redstone wire toggles state, the water/lava source will update. If arranged properly, this can be used to redirect water or lava whenever the desired input is given via redstone circuit.

Detecting Short or Long Signals
Some times it is useful to be able to detect the length of a impulse generated by a Monostable Circuit. To do this we use an AND gate with redstone repeaters attached. These will only allow the signal to pass through if it has a signal length longer than the delay of the repeaters. This has many uses, such as special combination locks, which require you to hold down the button. It can also be used to detect Morse code. This uses the fact that a dot will not make it through the gate but a dash will.

Related pages

 * Redstone
 * Redstone (wire)
 * Redstone (ore)
 * Redstone (dust)
 * Diode/Repeater/Delayer
 * Redstone Torch
 * Advanced Electronic Mechanisms
 * Mechanisms
 * Traps
 * CraftBook (mod) adds integrated circuits and programmable logic chips to SMP