How do I make a "Rotary hopper clock"?

I'm working on a project that requires a fairly long delay. I found the "Rotary hopper clock" on Minecraft 101, and I do like the compact design it has to it. However I'm not entirely sure how it works, and the article I found doesn't go very in-depth on it. I'm not really new to Redstone, but I haven't really gotten too far into it until now.

So, how exactly does it work (I'm not even sure where the output is), and how am I supposed to use it?

Here is a picture of it from the article: Rotary hopper clock


Solution 1:

The primary design I use for a configurable timer (as of Minecraft 1.5) is Etho's hopper clock.

Etho's hopper timer

(there's no hidden redstone and both pistons are sticky, and the hoppers are facing into each other)

Unfortunately, unlike the other design, this one is not completely silent; there's a piston pulse every cycle of the timer. But the same mathematical principles apply to this design too.

Hoppers transfer items at a rate of 0.4 seconds per item, which means 0.4 seconds per item per half-cycle (0.4 seconds with the redstone block in one position, 0.4 seconds in the other). So with Etho's design, the formula for the number of items is 0.8 * items = seconds. So if you want a pulse every 8 seconds, you need 10 items.

The design you show runs on the same principles, but with a repeater for each part-cycle, adding 1 redstone tick (0.1 second) per part-cycle. So the formula for this one is 1.6 * items + 0.4 seconds per full-cycle.

So assume only one hopper output is "on", and you want a signal of any length every 30 seconds. Doing the math gives a magic number of 18,5 items, so we'll use 19 and call it close enough. I did some in-game testing, and came up with 30 seconds, and it comes out to being about 15 on, 15 off.

The important bits:

  • With the design you show, (4 hoppers in a circle) you can calculate the number of items needed by (1.6 * items) + 0.4 = seconds
  • With Etho's design, shown above, you can calculate the number of items needed by (0.8 * items = seconds