First Design Sprint: The Encoder Exploder

The Encoder Exploder

Rethinking the rotary encoder


One of the main interaction paradigms in the automotive space is the use of the rotary dial. This type of interaction is quite handy in interface design as it fits into two seperate mental models quite easily. This type of control affords the opportunity to move left and right through item selection, and also up and down in a list of items. 

Demonstrating the versatility of a rotary encoder.

Demonstrating the versatility of a rotary encoder.


This first sprint was setup as a way to start investigating and reproducing components. It was also as a way to start getting a grip with the interaction patterns associated with automotive design and start to building a framework for design principles.

What I did

I started by taking a simple rotary encoder that can be purchased just about anywhere, mine came from Elektrokit here in Sweden. 

These are different from a potentiometer, in that instead of measuring resistance across a set range in order to measure position, these can rotate infinitely. 

They measure the movement and the direction of rotation by sending a series of on and off signals to a micro controller, this is called gray code.  

The microcontroller can then decode the sequence in which the signals have been recieved in order to work out which way the encoder is being turned. Once a signal sequence is complete, a value can be increased or lowered by working out the direction. 

I wanted to see if it was possible to replicate this signal creation, and make my own encoder. I started by pulling one apart to workout exactly how it worked. This type is a mechanical encoder, and they are based on two signal pins being linked to the ground by a brush that is in the knob.

Exploring  Components


I took close up photos of the mechanism in the encoder and I found some interesting things. There are actually two different circuits that operate independently. One for the encoder and one for the pushbutton. In my head I thought they would somehow be related to each other, however they are completely independent. 

In addition the clicky feeling of the encoders rotation is actually a mechanical component. The click has nothing to do with the operation, and is simply to offer some greater precision when making a movement, and so accidental movement can be minimised.

I then started to prototype based on this principle. Firstly with a paper device, which didn't really work as maintaining contact with paper alone was difficult. I was able to make the connections work without rotation using a multimeter to check if the circuit was completing in the correct order. This encoder sends the signal in the pattern of Signal A - On, Signal B -On, Signal A -Off, Signal B Off. 

From this first prototype I was able to tell that the concept was working, and I decided to scale up to MDF for a second prototype.


I lasercut an MDF profile of the circuit mechanism at round 20:1 scale. I thought this would be good as a way to really be able to see if it was working, and also as it would be easy to manipulate if it didn't work. 

I laminated aluminium foil to create some conductive components. Doing this meant I was able to recreate the two channel circuit of the rotary encoder.



What I learned

I think this first sprint was a great way to start to engage with hardware as a design tool. By taking things apart and working out how they work, it is possible to take things that might seem like they are too difficult to build and see them as what they should be, which is tools we can use to build things. 

I think as interaction designers we can sometimes get a bit disconnected from the technology we are designing. I often times hear people saying "I'm not a engineer, so i can't do that", or "I'm not a coder so I don't need to worry about that."

I think that that mindset creates a distance from the tools of design. To establish a concept of expression with digital components and controls, we need to see them as tools in our belt, or paint for our brush.