nkk switches

time to complete

September 2018

external links

None to display


NKK switches sponsored a hackathon to show off use cases for their new OLED smart switches. The goal was to find a use case where the buttons would outshine any other solution.

what use cases are buttons better in

The thing about these buttons are that they come very close to being touch screens, which is fine, but they’re expensive. A set of two NKK buttons costs $179, while a 7 inch raspberry pi touch screen display is $65. Why bother with the buttons at all? At the time, I was reading “The Design of Everyday Things” by Donald Norman. His book goes into great detail about feedback loops and describes how users should always have some immediate feedback when interfacing something. I realized that the only time a touch screen is definitively worse is when the user can’t look at it, since the only feedback a touchscreen can give is visual. Buttons have a tactile response though, so we focused on interactions that had to be done without looking.

what we built

We decided on a modular bike lock that can interface your phone. It could pull song data, allowing the user to change the volume, play, pause, or skip songs to their heart’s delight, all without actually looking at the thing, since the buttons gave a tactile response. To complete the task, we used an arduino mega and four of the NKK smart buttons.

what I did

The bike lock is a lock, first and foremost. So, it had to have some sort of digital passcode to lock and unlock the bike. I wrote the passcode software, which worked by displaying four images across the four buttons we had. If the user pushed the buttons in the correct order, the bike unlocked and the main user interface, which I also wrote, appeared. The lock had a few different menus, all with different images and different actions. I wrote the code that updated these menus and changed the outcome of pressing the buttons based off the current menu the user was in. I did not write the bluetooth connection, as we used the Adafruit bluetooth adapter, which came with a library that had all the functions we were going to use. We ended up winning, which was very cool.