1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/README.txt Sun Mar 24 01:01:32 2013 +0000
1.3 @@ -0,0 +1,131 @@
1.4 +Introduction
1.5 +------------
1.6 +
1.7 +The ben-arduino-usb distribution provides a test program that runs on the Ben
1.8 +NanoNote and controls USB Host shields designed for the Arduino that employ
1.9 +the MAX3421E USB Peripheral/Host Controller. To connect a suitable Arduino
1.10 +shield to the Ben, the 8:10 port which is typically employed to access microSD
1.11 +cards is instead used to hold a suitable breakout board that exposes the 8:10
1.12 +port's connectors to other circuits. These connectors are in turn connected to
1.13 +specific connectors on the Arduino USB Host shield as follows:
1.14 +
1.15 + Sniffer UBB Shield
1.16 + ------- ---- ------
1.17 + |----------------------------------- DAT2 DAT2 9 (INT)
1.18 + | |------------------------------ CD DAT3 10 (SS)
1.19 + |-------------+----+------------------------------ CMD CMD 7 (RESET)
1.20 + | | | VCC VDD VIN
1.21 + | | | |-------------- CLK CLK 13 (SCLK)
1.22 + | | | | GND GND GND
1.23 + | | | |---------+-------------- DAT0 DAT0 11 (MOSI)
1.24 + | | | | |----+-------------- DAT1 DAT1 12 (MISO)
1.25 + | | | | | |
1.26 +
1.27 +RX ... 7 8 9 10 11 12 13 GND AREF (shield labelling)
1.28 + RESET GPX INT SS MOSI MISO SCLK (shield connections)
1.29 +
1.30 +Unlike Arduino-based usage of the shield, the GPX pin is not used purely
1.31 +because the 8:10 port does not expose enough connections.
1.32 +
1.33 +To power the shield, a 5V supply needs to be supplied to the shield's VIN
1.34 +connector and when used in conjunction with an Arduino Duemilanove or other
1.35 +5V-capable Arduino, the Vin connector in the POWER block of pins will provide
1.36 +this power. The GND connector on the shield can be connected to the Gnd
1.37 +connector next to the Vin connector on the Arduino board.
1.38 +
1.39 +If an Arduino is to be used to provide power, it is important that it receive
1.40 +power from a sufficient power source itself. It is not sufficient for the
1.41 +Arduino to rely on USB bus power from a host computer in order to pass it on
1.42 +to the shield, especially where a Sparkfun shield is concerned. However, a
1.43 +suitable power source can be plugged into the "power jack" on the Arduino
1.44 +board instead of using USB bus power, and the hardware specifications for the
1.45 +specific shield in question should be consulted so that the correct voltage is
1.46 +chosen.
1.47 +
1.48 +For an Arduino Duemilanove, a power supply of 7V-12V is apparently acceptable
1.49 +for input into the "power jack", and this solution has been tested with a
1.50 +power adaptor supplying 9V, with the tip of the adapter's "male" connector
1.51 +being the positive terminal.
1.52 +
1.53 +Warning!
1.54 +--------
1.55 +
1.56 +Do not supply 5V power to any of the connectors used by the Ben. Check that
1.57 +the shield you are using employs 3.3V power in the controller-related
1.58 +functions of the board. Connecting the Ben to a peripheral is done at your own
1.59 +risk.
1.60 +
1.61 +Hardware: USB Host Shield
1.62 +-------------------------
1.63 +
1.64 +This software has been developed using the Sparkfun USB Host shield which is
1.65 +available as product DEV-09947 from various retailers and from Sparkfun:
1.66 +
1.67 +https://www.sparkfun.com/products/9947
1.68 +
1.69 +Various revisions of this board have been made, but only those labelled with
1.70 +"5-28-10" on the rear of the board can be assumed to function with the
1.71 +configuration described above.
1.72 +
1.73 +Although the Sparkfun board functions in the above configuration, it may not
1.74 +be reliable in use with a power supply based on USB bus power coming through
1.75 +an Arduino board. In addition to this apparent defect, in order for the
1.76 +Sparkfun board to be usable in Arduino-based solutions (where the software
1.77 +runs on the Arduino, not the Ben), Sparkfun have relied upon software provided
1.78 +by Oleg Mazurov who has designed his own USB Host shield based on the
1.79 +MAX3421E.
1.80 +
1.81 +Although Oleg's shield and Sparkfun's shield may be distinct designs, Sparkfun
1.82 +clearly benefit substantially from Oleg's work and yet compete with him
1.83 +directly in sales of hardware. Thus, for apparently better reliability under
1.84 +certain usage conditions and to support Oleg's work, I suggest purchasing a
1.85 +USB Host Shield product from Circuits At Home:
1.86 +
1.87 +http://www.circuitsathome.com/arduino_usb_host_shield_projects
1.88 +
1.89 +Hardware: 8:10 Port Breakout Board
1.90 +----------------------------------
1.91 +
1.92 +To connect the Ben NanoNote to the USB Host shield, a suitable breakout board
1.93 +is required to expose the connections inside the 8:10 slot. To achieve this,
1.94 +the Sparkfun microSD Sniffer has been used:
1.95 +
1.96 +https://www.sparkfun.com/products/9419
1.97 +
1.98 +This board is apparently intended for eavesdropping on communications between
1.99 +a "host" device with a microSD slot and a microSD-based device that can be
1.100 +inserted into a slot mounted on the board (instead of being inserted directly
1.101 +into the host device). However, the board-mounted slot can be ignored and the
1.102 +exposed connections routed to the USB Host shield instead.
1.103 +
1.104 +Another board that achieves the same purpose is the Universal Breakout Board
1.105 +(UBB):
1.106 +
1.107 +http://en.qi-hardware.com/wiki/UBB
1.108 +
1.109 +The UBB is somewhat more difficult to work with as its connectors are very
1.110 +small and, compared to the microSD Sniffer, awkward to attach things to. The
1.111 +microSD Sniffer employs connectors situated around holes with 0.1 inch
1.112 +spacing, meaning that commonly available connection headers can be soldered
1.113 +onto the board.
1.114 +
1.115 +Although the labelling of the connections is different between the microSD
1.116 +Sniffer and UBB (see above), the layout appears to be identical.
1.117 +
1.118 +Contact, Copyright and Licence Information
1.119 +------------------------------------------
1.120 +
1.121 +The author can be contacted at the following e-mail address:
1.122 +
1.123 +paul@boddie.org.uk
1.124 +
1.125 +Copyright and licence information can be found in the docs directory - see
1.126 +docs/COPYING.txt and docs/LICENCE.txt for more information.
1.127 +
1.128 +The software being distributed has been developed using the MAX3421E
1.129 +documentation. Although the author has occasionally consulted Oleg Mazurov's
1.130 +Arduino libraries for clarification when unexpected behaviour has occurred
1.131 +when testing this software, this software does not use any code from those
1.132 +libraries. Nevertheless, the author would like to give credit to Oleg for
1.133 +demonstrating the feasibility of the MAX3421E solution and thus providing the
1.134 +motivation to get the hardware working with the Ben NanoNote.