It's an arduino-nano-sized micro-controller, with an on-board BLE interface. It also has a micro-USB port for easy programming. "I can work with this," I thought.
I ordered one and it sat on my kitchen table for weeks. Then one weekend I wasn't racing or visiting relatives, and I just decided it was time to start hacking. First, I started by just arranging some components on my desk sorta like tangrams.
I tinkered with this idly for a week or two. Especially while sitting in on conference calls in which I had nothing of value to contribute. Eventually I realized that I wasn't going to be able to get the design right on the first go. Also, there was the question of whether or could I pull off my idea in software. I am a skilled software engineer, but sometimes there are technological limitations that can't be overcome. So, I decided to knock something out so I could get started hacking.
The screen is an Adafruit break-out board for a Nokia 84x48 pixel monochrome graphics LCD. I chose it because:
- It's cheap ($10)
- It's a passive LCD that can be seen in direct sunlight.
- It's small (~1.6 inches diagonal, 1.2 inch by 1.2 inch viewable area).
- Adafruit wrote a really nice graphics library for it that handles the necessary RAM buffering.
- I've worked with them before.
- Only requires 6 pins on the micro.
It was easy enough to wire everything up. Adafruit actually has a great little starter guide. I could have figured all this out without it, but I'll take all the help I can get. My background is in software, not hardware.
I will have to do another post to cover the software end of things. I had to take some time to write a small GUI framework, but once that was done, I had a decent UI after an evening or so of hacking. You can see in this picture (sorry for the orientation) a play/pause indicator, volume indicator, network indicator, and the source / artist / track metatdata. I drew all the icons in binary, in emacs. Oh yeah, I'm having fun now.
No comments:
Post a Comment