I received the display (no pics yet :'( ). It is teeny, but the contrast is really nice. Last but not least, I just finished the routing of the PCB and should be sending it out for fab at BatchPCB by Friday.
I haven’t been working on the Pocketwatch much because I am waiting for the display, and I have been rather nervous about constructing the encoder/switch with my limited mechanical abilities. But tonight I was putting off starting the last Harry Potter book (Don’t tell me! I haven’t read it yet! *fingers in ears* NAH NAH NAH) and I decided to head into the lab and fiddle around. I ended up picking up the pocketwatch and constructing the switch mechanism. It actually turned out rather well, nice and smooth, not wobbly. It still needs finishing, but here it is:
The tiny disc magnet is glued into a slot in the plastic shaft on the left. The bushing is made from a drilled out and turned down 2-56 nylon standoff. Pressing down on the shaft engages the tactile switch with a satisfying *CLICK* and spinning the shaft will cause the hall effect sensors to sense the rotation.
The encoder started as a sketch:
Then Prowler50mil on the Steampunk Tactile forum suggested using one magnet and two hall sensors. Great idea! I built up a demo to try it out:
Lo and behold, it works!
I ordered the OLED last friday. The US distributor was out of stock, so I had to order from Australia. Here is a 1:1 mock-up I did to get an idea of the display size:
I spent quite a while on Sat. night grabbing pics of pocket watch dials from eBay and resizing them.
I went to the local antique fair today and found this pocket watch case for $5:
I have also started a power budget:
The good news is that I found a 300mAh battery that fits in the case along with the electronics, so I should get 4.7 hours of runtime and/or 18 days on standby before I need to recharge the battery.
I am having so much fun with this PDA/Tricorder project! Although the 128 X 64 mono LCD is cool and all, I just had to buy the 128 X 128 color LCD from Sparkfun that I’ve had my eye on. I wired it to my ATmega128 breakout board and powered the whole thing with my STK500 set to 3.3V
Voila! I had a nifty color LCD for my project. Here are a few screenshots:
I also picked up a few Hammond electronics enclosures ( I love electronics enclosures! I collect them…) from Allied. I get a great deal through work, plus free shipping. I got the 1553B and the 1455J1201. Of course I am also considering putting the electronics into an actual tricorder case. I bought a scratch-build kit from GMProps (look him up on the tricorder props forum), but it proved to be too much for me. Maybe I’ll try a Playmates Tric from Ebay.
I have been struggling for a while with the lack of user input on the PDA project. I had considered adding an interface through the RF transceiver, but that would mean I would need to be near a PC. I have been unable to find any pushbuttons that I like to install on the face. So I did the next best thing. A sharp sideways tap on the right side of the enclosure brings up a menu, with a small circle next to the selected item:
Tilting the unit in the y direction moves the selection circle, and another tap selects the item. It still needs a bit of tweaking. It seems much easier to tilt in the x direction, because I tilt the unit towards my face when looking at the screen, and that makes the selection circle move down the llist.
Here are links to a few thing I found during my research into tiny user interfaces:
- TiltType: An Accelerometer Based Text Entry Method
- Sensing Techniques for Multi-Device Interfaces (PDF)
- Shake Them Up! A Movement Based Pairing Protocol
- Bringing Sketching Tools to Keychain Computers with an Acceleration-Based Interface
- GUI Development: Embedding Graphics Part I Part II
- Variability in Wrist-Tilt Accelerometer Based Gesture Interfaces
- Detecting Freefall with Low-G Accelerometers,Measuring Tilt with Low-G Accelerometers
While waiting for my RF boards to arrive from Sparkfun, I started another project (ooh, look! Something shiny!). I have always liked building things that I could carry around with me, so I decided to build my own PDA. I had the graphic LCD and plenty of processors laying around. I figured adding an RF link back to the PC would not only make it more functional but also help produce code that would be useful for the Spoka project. I also figured that I could combine it with my Tricorder project (notebook pages 3-12) and add as many sensors as I could fit in this little OKW enclosure.
The processor is an ATMega32. I have added a 128 X 64 graphic LCD, a 2.4GHz RF Transceiver, battery-backed real time clock, 2 axis accelerometer, linear Hall effect sensor, and a white led flashlight. The IR receiver is not connected yet. I still plan to add an RGB color sensor and an IR transmitter.
The source code was compiled with WinAVR and is available here. The library for the graphic LCD is from Gregor Horvat (http://www.indata.si/grega/) for the compatible HD61202 controller. After updating a few deprecated commands, it worked first time! I can’t remember where I got the library for the DS1307 clock that I converted for the DS1305. If anyone recognizes it, please let me know. The defines for the NRF24L01 came from S. Brennen Ball.
As you might be able to see from the screenshot, I am currently reading the battery voltage (upper left), magnetic field strength (upper right), x and y acceleration (lower left), and the current time (lower right). The cross-hairs and “bubble” in the center of the screen form a 2-axis level. See the picture of it in my hand for an example with the unit tilted on one axis. The RF transceiver is working well and capable of exchanging data with a PC base unit that connects via serial at 115200 baud.
(BTW, my order arrived from Sparkfun, but I’m having so much fun with this project, I may not get back to Spoka)