REDSTONEPEDIA › Circuits › Memory and counters

Counter: counts pulses and reacts on a set count

every 20th pulse · 25 blocks

The output's on/off pattern repeats every 20 input pulses: on for 10 of them, off for the other 10.

fits in 4×4×6

every 20th pulseCounter3D view loading (or not available in this browser)

Every size 39

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

sizeblocksnumbers
every 2nd3 blocks
every 3rd11 blocks
every 4th6 blocks
every 5th19 blocks
every 6th14 blocks
every 7th25 blocks
every 8th9 blocks
every 9th23 blocks
every 10th22 blocks
every 11th23 blocks
every 12th17 blocks
every 13th23 blocks
every 14th28 blocks
every 15th23 blocks
every 16th12 blocks
every 17th23 blocks
every 18th26 blocks
every 19th23 blocks
every 20th (this page)25 blocks
every 21st23 blocks
every 22nd23 blocks
every 23rd23 blocks
every 24th20 blocks
every 25th23 blocks
every 26th23 blocks
every 27th23 blocks
every 28th23 blocks
every 30th23 blocks
every 32nd15 blocks
every 33rd23 blocks
every 34th23 blocks
every 36th29 blocks
every 38th23 blocks
every 39th23 blocks
every 40th28 blocks
every 45th23 blocks
every 48th23 blocks
every 100th23 blocks
every 576th23 blocks

Try it

Hold IN under the view for a long press, tap it for a short one: the demo counts the 20 pulses for you: pick 100× in the speed dropdown and watch OUT change (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. Its count is the number of items in its droppers: they pass the items one way per pulse, and the numbers over them show how many each holds. Load another number of items (stone here) to make it react on that count.

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 1 stone in its containers: the download includes it; building it by hand, put it in first.

Blocks used: comparator copper bulb dropper glass hopper redstone wire stone

Details: how it works, measurements and properties

In depth

It counts input pulses: the output's state repeats every 20 input pulses: after each pulse it is on for 10 of them and off for the other 10. In other words, it divides the number of pulses by 20.

Use it to do something every 20th time, or to slow a fast clock down 20 times.

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 redstone lamp in that cell (the view adds it to show the output) lights 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).

press 3 200press 11 200press 19 200INOUTticks0100200300400500600700800900100011001200130014001500160017001800190020002100220023002400250026002700280029003000310032003300340035003600

Swipe the diagram sideways: the whole sequence lasts 3644 ticks (3 min 2.2 s).

Step by step (81 lines)
pulse 1: output 1 (level 15)
pulse 2: output 1 (level 15)
pulse 3: output 1 (level 15)
pulse 4: output 1 (level 15)
pulse 5: output 1 (level 15)
pulse 6: output 1 (level 15)
pulse 7: output 1 (level 15)
pulse 8: output 1 (level 15)
pulse 9: output 1 (level 15)
pulse 10: output 0 (level 0), changed
pulse 11: output 0 (level 0)
pulse 12: output 0 (level 0)
pulse 13: output 0 (level 0)
pulse 14: output 0 (level 0)
pulse 15: output 0 (level 0)
pulse 16: output 0 (level 0)
pulse 17: output 0 (level 0)
pulse 18: output 0 (level 0)
pulse 19: output 0 (level 0)
pulse 20: output 1 (level 15), changed
pulse 21: output 1 (level 15)
pulse 22: output 1 (level 15)
pulse 23: output 1 (level 15)
pulse 24: output 1 (level 15)
pulse 25: output 1 (level 15)
pulse 26: output 1 (level 15)
pulse 27: output 1 (level 15)
pulse 28: output 1 (level 15)
pulse 29: output 1 (level 15)
pulse 30: output 0 (level 0), changed
pulse 31: output 0 (level 0)
pulse 32: output 0 (level 0)
pulse 33: output 0 (level 0)
pulse 34: output 0 (level 0)
pulse 35: output 0 (level 0)
pulse 36: output 0 (level 0)
pulse 37: output 0 (level 0)
pulse 38: output 0 (level 0)
pulse 39: output 0 (level 0)
pulse 40: output 1 (level 15), changed
pulse 41: output 1 (level 15)
pulse 42: output 1 (level 15)
pulse 43: output 1 (level 15)
pulse 44: output 1 (level 15)
pulse 45: output 1 (level 15)
pulse 46: output 1 (level 15)
pulse 47: output 1 (level 15)
pulse 48: output 1 (level 15)
pulse 49: output 1 (level 15)
pulse 50: output 0 (level 0), changed
pulse 51: output 0 (level 0)
pulse 52: output 0 (level 0)
pulse 53: output 0 (level 0)
pulse 54: output 0 (level 0)
pulse 55: output 0 (level 0)
pulse 56: output 0 (level 0)
pulse 57: output 0 (level 0)
pulse 58: output 0 (level 0)
pulse 59: output 0 (level 0)
pulse 60: output 1 (level 15), changed
pulse 61: output 1 (level 15)
press 1 20: output 1 (level 15)
press 2 30: output 1 (level 15)
press 3 200: output 1 (level 15)
press 4 20: output 1 (level 15)
press 5 30: output 1 (level 15)
press 6 20: output 1 (level 15)
press 7 30: output 1 (level 15)
press 8 20: output 1 (level 15)
press 9 20: output 0 (level 0), changed
press 10 30: output 0 (level 0)
press 11 200: output 0 (level 0)
press 12 20: output 0 (level 0)
press 13 30: output 0 (level 0)
press 14 20: output 0 (level 0)
press 15 30: output 0 (level 0)
press 16 20: output 0 (level 0)
press 17 20: output 0 (level 0)
press 18 30: output 0 (level 0)
press 19 200: output 1 (level 15), changed
press 20 20: output 1 (level 15)

Measurements

metricvaluewhat it means
N20how many input pulses one output cycle takes
outputlevel every 20 pulseshow the output shows the count: toggles (flips every N), pulses (one pulse every N) or level (its state repeats every N)
countsone pulse per N
on10 of 20

Properties

StudyMemory and counters
KindCounter: counts pulses and reacts on a set count
Blocks placed25 (not counting the input levers or buttons and the lamp the view adds)
Box4×4×6 (96 blocks of space)
Made of (the blocks that change state)comparator, copper bulb, dropper, hopper, redstone wire
Inputs / outputsIN (repeater) / OUT
Design filecounter20-ring5-bulb2-sealed

The design file

on GitHub

Design file (50 lines)
# Counter: every 20th pulse · 25 blocks
# https://vjeux.github.io/redstonepedia/circuits/memory/counter20-ring5-bulb2-sealed.html
name: counter20-ring5-bulb2-sealed
circuit: counter 20
port input: 0 0 0
port output: -2 1 -6
nbt: -2 1 0 {Items:[{Slot:0b,id:"minecraft:stone",count:1}]}
origin: -3 0 -5
palette:
  A minecraft:dropper[facing=up,triggered=false]
  B minecraft:dropper[facing=west,triggered=false]
  C minecraft:comparator[facing=south,mode=compare,powered=false]
  D minecraft:dropper[facing=east,triggered=false]
  E minecraft:hopper[enabled=true,facing=south]
  F minecraft:hopper[enabled=true,facing=west]
  G minecraft:glass
  H minecraft:hopper[enabled=true,facing=down]
  R minecraft:redstone_wire[east=side,north=side,power=0,south=side,west=side]
  S minecraft:stone
  W minecraft:waxed_copper_bulb[lit=false,powered=false]
  d minecraft:dropper[facing=north,triggered=false]
  h minecraft:hopper[enabled=true,facing=east]
layer -1:
  .
  .
  .
  .
  .
  ..S
layer 0:
  .S
  .
  .S
  .
  hDhA
  dSR
layer 1:
  .C
  .W
  .C
  .W
  GCGE
  HBFB
layer 2:
  .
  .
  .
  .
  ...G
  G.G