REDSTONEPEDIA › Circuits › Pulse shapers
One pulse on every switch (dual-edge detector)
32-tick pulse · 13 blocks
Every time the input changes, on or off, the output gives one short pulse of 32 ticks (1.6 s).
starts after 4 ticks (0.2 s) · needs an input of at least 60 ticks (3 s) · fits in 3×3×3
Every size 12
The best design for each size: pick one to see it.
| size | blocks | numbers |
|---|---|---|
| 2 ticks (0.1 s) | 2 blocks | starts after 2 ticks (0.1 s) · needs an input of at least 2 ticks (0.1 s) |
| 4 ticks (0.2 s) | 4 blocks | starts after 6 ticks (0.3 s) · needs an input of at least 4 ticks (0.2 s) |
| 6 ticks (0.3 s) | 4 blocks | starts after 8 ticks (0.4 s) · needs an input of at least 8 ticks (0.4 s) |
| 8 ticks (0.4 s) | 4 blocks | starts after 10 ticks (0.5 s) · needs an input of at least 15 ticks (0.75 s) |
| 10 ticks (0.5 s) | 8 blocks | starts after 1 tick (0.05 s) · needs an input of at least 20 ticks (1 s) |
| 16 ticks (0.8 s) | 13 blocks | starts after 4 ticks (0.2 s) · needs an input of at least 30 ticks (1.5 s) |
| 18 ticks (0.9 s) | 22 blocks | starts after 6 ticks (0.3 s) · needs an input of at least 40 ticks (2 s) |
| 24 ticks (1.2 s) | 13 blocks | starts after 4 ticks (0.2 s) · needs an input of at least 60 ticks (3 s) |
| 30 ticks (1.5 s) | 29 blocks | starts after 6 ticks (0.3 s) · needs an input of at least 40 ticks (2 s) |
| 32 ticks (1.6 s) (this page) | 13 blocks | starts after 4 ticks (0.2 s) · needs an input of at least 60 ticks (3 s) |
| 34 ticks (1.7 s) | 27 blocks | starts after 6 ticks (0.3 s) · needs an input of at least 80 ticks (4 s) |
| 40 ticks (2 s) | 13 blocks | starts 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 32-tick pulse every time the input turns on and every time it turns off, for inputs of 3 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 4 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 = 32 ticks (1.6 s), 4 ticks (0.2 s) after the change. It handles every input pulse of 60 ticks (3 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).
Swipe the diagram sideways: the whole sequence lasts 1615 ticks (1 min 20.75 s).
Step by step (14 lines)
in 2 ticks (0.1 s): +4 for 32 <- not handled in 3 ticks (0.15 s): +4 for 32 <- not handled in 4 ticks (0.2 s): +4 for 32 <- 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 20 <- not handled in 30 ticks (1.5 s): +4 for 30, +36 for 11 <- not handled in 40 ticks (2 s): +4 for 32, +44 for 8 <- not handled in 60 ticks (3 s): +4 for 32, +64 for 32 in 80 ticks (4 s): +4 for 32, +84 for 32 in 120 ticks (6 s): +4 for 32, +124 for 32
Measurements
| metric | value | what it means |
|---|---|---|
| L | 32 ticks (1.6 s) | the length of the output pulse |
| delay | 4 ticks (0.2 s) | the time from the input's edge to the start of the output pulse |
| min-pulse | 60 ticks (3 s) | the shortest input pulse handled correctly (every longer one works too) |
Notes from its designer
A 32-tick pulse every time the input turns on and every time it turns off, for inputs of 3 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 4 items: 32 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
| Study | Pulse shapers |
|---|---|
| Kind | One pulse on every switch (dual-edge detector) |
| Blocks placed | 13 (not counting the input levers or buttons the view adds) |
| Box | 3×3×3 (27 blocks of space) |
| Made of (the blocks that change state) | comparator, copper bulb, hopper, observer, redstone torch |
| Inputs / outputs | IN (repeater) / OUT |
| Design file | pulse-dual-hopper-oneshot-L32 |
The design file
Design file (34 lines)
# One pulse on every switch: 32-tick pulse · 13 blocks
# https://vjeux.github.io/redstonepedia/circuits/pulse/pulse-dual-hopper-oneshot-L32.html
name: pulse-dual-hopper-oneshot-L32
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:4}]}