Many electronics projects need some kind of user input. For those where you need scrolling functionality, in a menu for example, or enter numerical values like a timeout, rotary encoders are very convenient. They are cheap, easy to use and require minimal to none additional components. However, interfacing them requires little more work on the software side than with regular buttons. In this tutorial I present everything needed to use a rotary encoder with a microcontroller. While I used an ATmega uC it should be easily portable to other platforms
In this small tutorial I will show you how to start programming Atmel microcontrollers under GNU/Linux, Debian in particular. It covers all steps starting with the software prerequisites, setting up a minimal circuit to actually flashing the microcontroller with the obligatory “Hello, World!” program. There are a few stumbling blocks that I hit along the way and I will explicitly point them out and show what to do about them. Hopefully this will save you some frustration.
If you like experimenting with electronics sooner or later you’ll want to create an etched PCB with your own circuit. For testing purposes there’s of course the breadboard and simple circuits can be easily built on a stripboard but as soon as the complexity grows designing layouts in some electronics software is the natural way to go. And an etched PCB always looks much more professional than any stripboard. 😉