Button, Button, Who’s Got The (One) Button?

We often think that less is more, but what can you do with a device that has only a single button? [Danko Bertović] wondered the same thing and he built an Arduino with a single button and a display. After doing some obvious things  (like a counter or stopwatch) he decided to make a calculator for his latest Volos Projects video.

You can find the source code online and he used a library from GitHub to handle the reaction to single presses, double presses, and long presses. Is it ideal? Probably not. But if you only have a limited amount of space or pins, it can make the difference between a feasible project and one you can’t finish.

His original projects also included a Flappy Bird clone. The OLED display is only 64×48 so that’s not a lot of room. The packaging of the tiny Arduino, the battery, and the display in a good looking case, was pretty impressive. So the device might be usable for something.

Of course, the library will work with any program and there’s no reason you can’t have more than one button and simply multiply their functions with the same strategy. There’s a sample on GitHub that shows how you can create two OneButton objects connected to different hardware devices.

By the way, the little box may have only one button, but it also has a power switch. Turns out, you can use it as an input in certain circumstances. If the OLED display strikes you as too luxurious, try the DUO BINARY.

17 thoughts on “Button, Button, Who’s Got The (One) Button?

  1. Apple has marketed their ‘one wheel’ so thoroughly that I cannot completely separate the idea from Apple in my brain. The cult following and anti-maker closedness of Apple products has completely soured me on the idea of such minimalist user interfaces.

      1. Nope. I will be thinking of it now though. Gotta love the Onion!

        I was just thinking of the old-school iPod from before it became just an iPhone without the cellular modem. Also of course I was thinking of that old classic, the one button mouse.

  2. I suggest that you consider modifying your program to automatically cycle by rows, perhaps one row per 500 milliseconds. A button press selects the row, and begins to cycle cell by cell across the row. The next button press selects the desired cell. This approach is commonly used by assistive software to speed input and be easier for the user.

  3. Right, jonmayo! I run my fairly complex home automation system with one button, and I use Morse. Amazing how Grandchildren can figure out a few letters, especially the one for their name. With Voice Synth out, you can get a message or alarm around corners while you’re doing something else. AND it works well lying on your back in bed in the dark with your eyes closed. (Multiple switches / keys in the house, in parallel). Mine is run with an Arduino Mega and a Emic 2 Text-to-Speech module. And lots of optically isolated In/Out stuff. My first version of this in 1980 had an IBM AT and the IBM Voice Communications adapter, written in PASCAL.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.