REDSTONEPEDIA › Circuits › Pulse shapers

One pulse on every switch (dual-edge detector)

16-tick pulse · 13 blocks

Every time the input changes, on or off, the output gives one short pulse of 16 ticks (0.8 s).

starts after 4 ticks (0.2 s) · needs an input of at least 30 ticks (1.5 s) · fits in 3×3×3

16-tick pulseOne pulse on every switch3D view loading (or not available in this browser)

Every size 12

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

sizeblocksnumbers
2 ticks (0.1 s)2 blocksstarts after 2 ticks (0.1 s) · needs an input of at least 2 ticks (0.1 s)
4 ticks (0.2 s)4 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s)
6 ticks (0.3 s)4 blocksstarts after 8 ticks (0.4 s) · needs an input of at least 8 ticks (0.4 s)
8 ticks (0.4 s)4 blocksstarts after 10 ticks (0.5 s) · needs an input of at least 15 ticks (0.75 s)
10 ticks (0.5 s)8 blocksstarts after 1 tick (0.05 s) · needs an input of at least 20 ticks (1 s)
16 ticks (0.8 s) (this page)13 blocksstarts after 4 ticks (0.2 s) · needs an input of at least 30 ticks (1.5 s)
18 ticks (0.9 s)22 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 40 ticks (2 s)
24 ticks (1.2 s)13 blocksstarts after 4 ticks (0.2 s) · needs an input of at least 60 ticks (3 s)
30 ticks (1.5 s)29 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 40 ticks (2 s)
32 ticks (1.6 s)13 blocksstarts after 4 ticks (0.2 s) · needs an input of at least 60 ticks (3 s)
34 ticks (1.7 s)27 blocksstarts after 6 ticks (0.3 s) · needs an input of at least 80 ticks (4 s)
40 ticks (2 s)13 blocksstarts after 4 ticks (0.2 s) · needs an input of at least 80 ticks (4 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: A 16-tick pulse every time the input turns on and every time it turns off, for inputs of 1.5 seconds or more, 13 blocks at any length (8 ticks per item in its first hopper).

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 2 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 stone

Details: how it works, measurements and properties

In depth

Every time the input changes (turns on or turns off), the output gives one short pulse of L = 16 ticks (0.8 s), 4 ticks (0.2 s) after the change. It handles every input pulse of 30 ticks (1.5 s) or longer.

Use it to react to any change of a lever, in both directions.

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 60-tick inputa 80-tick inputINOUTticks050100150200250300350400450500550600650700750800850900950

Swipe the diagram sideways: the whole sequence lasts 969 ticks (48.45 s).

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

Measurements

metricvaluewhat it means
L16 ticks (0.8 s)the length of the output pulse
delay4 ticks (0.2 s)the time from the input's edge to the start of the output pulse
min-pulse30 ticks (1.5 s)the shortest input pulse handled correctly (every longer one works too)

Notes from its designer

A 16-tick pulse every time the input turns on and every time it turns off, for inputs of 1.5 seconds or more, 13 blocks at any length (8 ticks per item in its first hopper). A copper bulb in the input cell changes state on both edges, an observer watching it toggles a second copper bulb, and while that 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, ready for the next edge. This one holds 2 items: 16 ticks. Detail: an edge that comes while the items are still moving toggles the bulb early and cuts that pulse short (min-pulse about 2 L: the run plus the items' way back).

Properties

StudyPulse shapers
KindOne pulse on every switch (dual-edge detector)
Blocks placed13 (not counting the input levers or buttons the view adds)
Box3×3×3 (27 blocks of space)
Made of (the blocks that change state)comparator, copper bulb, hopper, observer, redstone torch
Inputs / outputsIN (repeater) / OUT
Design filepulse-dual-hopper-oneshot-L16

The design file

on GitHub

Design file (34 lines)
# One pulse on every switch: 16-tick pulse · 13 blocks
# https://vjeux.github.io/redstonepedia/circuits/pulse/pulse-dual-hopper-oneshot-L16.html
name: pulse-dual-hopper-oneshot-L16
circuit: dual-edge
origin: 0 0 0
port input: 3 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]
  E minecraft:waxed_copper_bulb[lit=false,powered=false]
layer 0:
  ....
  G...
  ....
layer 1:
  SU..
  CF..
  YT..
layer 2:
  WX..
  .K..
  .BOE
nbt: 0 1 0 {Items:[{Slot:0b,id:"minecraft:cobblestone",count:2}]}