Human Interface

Use Switches, Encoders, Displays, LED and More to Create Awesome Looking and Functional User Interfaces for Your Devices

In this section I am reviewing the Human Interface components I like and use in my projects.

Input Devices

One of the most versatile and powerful input user device is the Rotary Encoder. It requires not much space yet allows users to control even sophisticated menu structures.

Because of this, Rotary Encoders are common-place these days in cars and on all kinds of devices.

Output Devices

To provide feedback to the user, the most simplistic output device obviously is the LED.

If you’d like to provide more (and possibly textual) information, the next best thing are OLED displays that come in various sizes and resolutions. They are typically controlled by I2C so they do not require precious GPIO pins, and displays up to roughly one inch are very reasonably priced.


Please do leave comments below. I am using utteran.ce, an open-source and ad-free light-weight commenting system.

Here is how your comments are stored

Whenever you leave a comment, a new github issue is created on your behalf.

  • All comments become trackable issues in the Github Issues section, and I (and you) can follow up on them.

  • There is no third-party provider, no disrupting ads, and everything remains transparent inside github.

Github Users Yes, Spammers No

To keep spammers out and comments attributable, all you do is log in using your (free) github account and grant the permission to submit issues on your behalf.

If you don’t have a github account yet, go get yourself one - it’s free and simple.

If for any reason you do not feel comfortable with letting the commenting system submit issues for you, then visit Github Issues directly, i.e. by clicking the red button Submit Issue at the bottom of each page, and submit your issue manually. You control everything.


For chit-chat and quick questions, feel free to visit and participate in Discussions. They work much like classic forums or bulletin boards. Just keep in mind: your valued input isn’t equally well trackable there.

  Show on Github    Submit Issue

(content created Feb 27, 2024)