Toasty's blog

I have the right buttons, apparently

If you know me, you'll know I've wanted to tinker with hardware and embedded software for a long time. Until recently, this was just a dream, but earlier this year a friend started actually teaching me some things.

I started out writing programs for some Arduino components I'd bought on a whim, maybe a year ago. I wrote these programs using the Arduino IDE, and even though the hardware Did Things when running these programs, the experience felt very empty: I'd written some extremely basic code in a language (technically C++, but really they could have been written in any C-family language). I didn't even use the language freely: Arduino "sketches" define setup() and loop() functions, and I dutifully filled in these function bodies, but I didn't feel like I'd learned anything.

So when my friend offered to teach me some things on a lower level, I was quite excited. For a month or two I was learning about the AVR architecture, and writing plain C (occasionally C++) programs to run on my Arduino Uno.

I also bought a rag-tag collection of other components, without really knowing what I was doing. I wrote programs using potentiometers, a vibration motor, and a small OLED screen I was given (thanks reidrac).

The buttons

Among these components, I bought a pack of tactile switches. It was pointed out to me that I need a specific type of switch. A toggle switch—which would flip its state when pressed, kind of like the switch on a socket—would be no good. No, what I wanted was a button that you would press and hold, more like a keyboard or mouse button.

Anyway, I finally got round to testing the buttons out, and luckily they are the correct type.