Using rotary encoders

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

Continue reading


Getting started with Atmel AVRs on Linux

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.

Continue reading


DIY PCB Exposure Unit

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. ­čśë

Continue reading


Suspend via DBus

My new keyboard did not have a Suspend key that MATE automatically recognizes so I wanted to add a custom keyboard shortcut to bring my computer to sleep. I know the “pm-suspend” command-line utility but unfortunately it requires super-user privileges and is not suitable to be used from a shortcut. Fortunately DBus can be used for this purpose.

Bringing the system to standby is as simple as running the following command, either from a terminal or a keyboard shortcut in your Desktop Environment of choice:

user@host ~ $ dbus-send --system --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

That’s it!


Fixing system reboots with Steam games

For quite a while I had problems with a few Steam games that I was unable to play. Every time I started them my computer would simply reboot either before the game was even loaded yet or a few seconds within in the game. The games showing this particular error were:

  • Duke Nukem Forever
  • Portal 2
  • Call of Duty: Modern Warfare 3

Continue reading