I'm not gonna do a full teardown yet, but you'll never guess what microcontroller is at the heart of this digital tape measure.
It's an ABOV MC96F6432Q.
which is an 8051!
Punch out another hole on your rewards card.
Rotary encoders are always beautiful.
The sacred geometry of electronics!
@foone Is this a gray code, except for the innermost?
@foone Or, no... Gray codes normally have their last row go like that eh? Interesting.
@rainwarrior @foone I believe the innermost row - combined with the next one - is a direction encoder. So you can tell which direction the thing is spinning by comparing the phases of the two.

@TomF @foone What I realized is that a quadrature direction encoder is also the upper 2 bits of a Gray code, so it's actually the same thing.

I don't have a great intuitive reason for why it "looks" like the pattern breaks in the last row, but thinking about every column needing 1 bit to flip: the "extra" flip in the top row fills in the gap where everything else has gone to 0 to fill out the sequence of 2^6 values.

@rainwarrior @TomF @foone My mind was blown when I first realized this
@rainwarrior @foone No no you're right - both the last two levels have 6 set bits and 6 clear bits - the final inner ring is NOT part of the gray code - because if it was, you can't tell direction from it.
@rainwarrior @foone Hmmm... or maybe you're right that IS part of the Gray code.

@TomF @foone One way to prove it, is that if you look at one complete wedge in 1/6 of the wheel, then cut it in half by taking only the half where the inner ring is black, the pattern will be self-similar, and you can repeat this until you reach the last 2 rows.

The top row is always "half" the pattern it would be if there were another row on top, which ends up giving its pulses the same width as the second last row.