REDSTONEPEDIA › Circuits › Pulse shapers

Signal stretcher (pulse extender)

at least 64 ticks (3.2 s) · 13 blocks

Even the shortest input pulse comes out at least 64 ticks (3.2 s) long.

starts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s) · fits in 5×3×3

at least 64 ticks (3.2 s)Signal stretcher3D view loading (or not available in this browser)

Every size 21

The best design for each size: pick one to see it.

sizeblocksnumbers
4 ticks (0.2 s)2 blocksstarts after 4 ticks (0.2 s) · needs an input of at least 2 ticks (0.1 s)
6 ticks (0.3 s)2 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 2 ticks (0.1 s)
8 ticks (0.4 s)2 blocksstarts after 8 ticks (0.4 s) · needs an input of at least 2 ticks (0.1 s)
10 ticks (0.5 s)5 blocksstarts after 1 tick (0.05 s) · needs an input of at least 2 ticks (0.1 s)
12 ticks (0.6 s)17 blocksstarts after 8 ticks (0.4 s) · needs an input of at least 4 ticks (0.2 s)
14 ticks (0.7 s)17 blocksstarts after 10 ticks (0.5 s) · needs an input of at least 4 ticks (0.2 s)
16 ticks (0.8 s)13 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
18 ticks (0.9 s)17 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
20 ticks (1 s)20 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
22 ticks (1.1 s)20 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
24 ticks (1.2 s)13 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
26 ticks (1.3 s)20 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
28 ticks (1.4 s)20 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
30 ticks (1.5 s)20 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
32 ticks (1.6 s)13 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
36 ticks (1.8 s)24 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
38 ticks (1.9 s)24 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
40 ticks (2 s)13 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
64 ticks (3.2 s) (this page)13 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
128 ticks (6.4 s)13 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
256 ticks (12.8 s)13 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)

Try it

Hold IN under the view for a long press, tap it for a short one: the box marked OUT turns red while the output is on. Press play under the view to watch a demo on a loop; touch any other control to take over.

How this design does it: Stretches any input of 4 ticks or more into one pulse of exactly 8 ticks per item in the first hopper (8 ticks to 24 seconds), always 13 blocks: a copper bulb remembers the input (a piston pushes an observer beside it, which fires once each time the input turns on); while the bulb is lit, its comparator locks the second hopper and unlocks the first, so the items pass one by one; when the first hopper is empty, its comparator goes off and a torch toggles the bulb off; then the items flow back.

Build it

Download .litematic Download the design as text

The .litematic opens in Litematica (Minecraft 26.3): every block of the design in one region. The text file is the same build written as plain text, block by block.

Comes loaded with 8 cobblestone in its containers: the download includes them; building it by hand, put them in first.

Blocks used: comparator copper bulb hopper observer redstone torch sticky piston stone

Details: how it works, measurements and properties

In depth

Any input pulse, even a 1-tick one, gives an output pulse of at least L = 64 ticks (3.2 s), starting 6 ticks (0.3 s) after the input turns on. It handles every input pulse of 4 ticks (0.2 s) or longer.

Use it to make a brief signal (an observer's 2-tick pulse) last long enough for a slower part.

How to try it

Press play under the view to watch the demo on a loop (the badge reads demo with the step it is on; the same sequence is drawn as a timing diagram below). Touch any control to stop it and try the circuit yourself.

To try it: press and hold the IN button of the bar (or the cell tagged IN) to power that input; a quick tap sends a short 2-tick pulse.

Inputs are tagged in lime; the output is tagged OUT: the orange glass marker next to it glows while the output is on (the output strip by the demo badge shows its last 40 game ticks, 2 seconds). Drag to look around, pinch or scroll to zoom, step one game tick at a time with the step button.

Inputs and output over time

The input follows this schedule (the 3D view's demo plays the same). Lime: an input is on; orange: the output is on (taller = a stronger signal, 1 to 15). Time runs left to right in game ticks (20 ticks = 1 s).

a 30-tick inputa 40-tick inputa 60-tick inputa 80-tick inputa 120-tick inputa 160-tick inputa 240-tick inputINOUTticks010020030040050060070080090010001100120013001400150016001700180019002000210022002300240025002600270028002900300031003200

Swipe the diagram sideways: the whole sequence lasts 3293 ticks (2 min 44.65 s).

Step by step (16 lines)
in  2 ticks (0.1 s): +6 for 64
in  3 ticks (0.15 s): +4 for 64  <- not handled
in  4 ticks (0.2 s): +6 for 64
in  5 ticks (0.25 s): +6 for 64
in  6 ticks (0.3 s): +6 for 64
in  8 ticks (0.4 s): +6 for 64
in 10 ticks (0.5 s): +6 for 64
in 15 ticks (0.75 s): +6 for 64
in 20 ticks (1 s): +6 for 64
in 30 ticks (1.5 s): +6 for 64
in 40 ticks (2 s): +6 for 64
in 60 ticks (3 s): +6 for 64
in 80 ticks (4 s): +6 for 64
in 120 ticks (6 s): +6 for 64
in 160 ticks (8 s): +6 for 64
in 240 ticks (12 s): +6 for 64

Measurements

metricvaluewhat it means
L64 ticks (3.2 s)the length of the output pulse
delay6 ticks (0.3 s)the time from the input's edge to the start of the output pulse
min-pulse4 ticks (0.2 s)the shortest input pulse handled correctly (every longer one works too)

Notes from its designer

Stretches any input of 4 ticks or more into one pulse of exactly 8 ticks per item in the first hopper (8 ticks to 24 seconds), always 13 blocks: a copper bulb remembers the input (a piston pushes an observer beside it, which fires once each time the input turns on); while the bulb is lit, its comparator locks the second hopper and unlocks the first, so the items pass one by one; when the first hopper is empty, its comparator goes off and a torch toggles the bulb off; then the items flow back. This one holds 8 items: 64 ticks. Detail: the bulb's comparator powers the stone above the second hopper (locking it) and turns off the torch on that stone, which locked the first hopper; the first hopper's comparator powers the block whose torch lights the bulb from below when that hopper empties.

Properties

StudyPulse shapers
KindSignal stretcher (pulse extender)
Blocks placed13 (not counting the input levers or buttons the view adds)
Box5×3×3 (45 blocks of space)
Made of (the blocks that change state)comparator, copper bulb, hopper, observer, redstone torch, sticky piston
Inputs / outputsIN (repeater) / OUT
The same build is also64-tick pulse · 13 blocks (the same blocks, listed as another kind)
Design filepulse-extender-hopper-oneshot-L64

The design file

on GitHub

Design file (34 lines)
# Signal stretcher: at least 64 ticks (3.2 s) · 13 blocks
# https://vjeux.github.io/redstonepedia/circuits/pulse/pulse-extender-hopper-oneshot-L64.html
name: pulse-extender-hopper-oneshot-L64
circuit: pulse-extender
origin: 0 0 0
port input: 5 2 2
port output: 1 2 1
palette:
  G minecraft:stone
  S minecraft:hopper[enabled=false,facing=east]
  U minecraft:hopper[enabled=true,facing=west]
  C minecraft:comparator[facing=north,mode=compare,powered=true]
  F minecraft:stone
  Y minecraft:stone
  T minecraft:redstone_wall_torch[facing=east,lit=false]
  W minecraft:redstone_wall_torch[facing=west,lit=true]
  X minecraft:stone
  K minecraft:comparator[facing=south,mode=compare,powered=false]
  B minecraft:waxed_copper_bulb[lit=false,powered=false]
  O minecraft:observer[facing=east,powered=false]
  P minecraft:sticky_piston[extended=false,facing=west]
layer 0:
  ......
  G.....
  ......
layer 1:
  SU....
  CF....
  YT....
layer 2:
  WX....
  .K....
  .B.OP.
nbt: 0 1 0 {Items:[{Slot:0b,id:"minecraft:cobblestone",count:8}]}