Input Devices
This week I have two main projects: the Anduino, a fabbable shield-compatible Arduino clone and a ADNS-9500 mouse sensor shield.
Anduino
Anduino revisions
The Anduino is a pretty streightforward clone of a Sparkfun Arduino Pro Mini and Ed Baffi's Fabkit. Just as Ed did, since there is no 8/16Mhz oscillator in the fab inventory, I used the internal oscillator.
I felt compelled to put together an Arduino clone because I have been developing quite a few shields recently, and needed a clone to prototype with. The Anduino is fully "shield compatible" (except for ARef).
For 5V in there is a two pin 0.1" header and a mini-B USB connector (because I have been powering projects recently with USB chargers). I removed the copper from around the Vin pins so you can graft a right angle header there if needed. On many of my prototypes, I didn't install the 5V regulator, choosing instead to power it with only the USB connector.
Errata
There are some errata, which is why I'm waiting to release the boards, but will reproduce the list of errata here for my notes (and I expect some of the problems to not be resolved)
-
No ICSP headerSee the ICSP shield below - No USB Serial converter - requires use of FTDI cable (I'll probably add a different version with a ATMega16U2 like the UNO)
-
RX and TX swappedFixed - AREF not connected
-
Reset requires jumper wireYea... - Vin voltage regulator is only 150mA, should probably be 500mA
None of those errata are show stoppers except for RX/TX swapped. This will be fixed in a near future revision. Fixed.
Programming
ICSP Shield
I built an ICSP shield to program the board with the FabISPkey (and to work around the lack of an ICSP header).
To use the Arduino environment with my Anduino, I followed Ed's notes - particularly those for OSX.
First, I placed a board description file boards.txt in ~/Documents/Arduino/hardware/anduino/boards.txt
Then, I selected my board from the list of boards, and used my FabISPkey to program it (select USBTinyISP).
Then, with the RX and TX pins swapped (fixed) connect a FTDI cable, and program normally.
Headers
It's kinda difficult to find headers that you can surface mount like this, I used these and heavily modified them.
Better choices for these headers might be:
They're pass through headers, so I aligned them by putting a header through the holes, then surface mounting the headers as the photos above show.
Doing it Yourself
To play along at home, you can grab a zip made 12/7/11 or check out the most recent version from my git repo.
ADNS-9500 Shield
9500 shield
Previously, I did a bunch of work to support the ADNS-3000 for sensing laser speckle. The 3000 was pretty nice, but for our purposes, cannot capture entire frames at a time. The 9500 is one of the highest speed gaming laser mice available today and fast enough for our purposes.
I have sample code, board designs, and libraries in my repo