1 Introduction
2 ------------
3
4 The ben-arduino-usb distribution provides a test program that runs on the Ben
5 NanoNote and controls USB Host shields designed for the Arduino that employ
6 the MAX3421E USB Peripheral/Host Controller. To connect a suitable Arduino
7 shield to the Ben, the 8:10 port which is typically employed to access microSD
8 cards is instead used to hold a suitable breakout board that exposes the 8:10
9 port's connectors to other circuits. These connectors are in turn connected to
10 specific connectors on the Arduino USB Host shield as follows:
11
12 Sniffer UBB Shield
13 ------- ---- ------
14 |----------------------------------- DAT2 DAT2 9 (INT)
15 | |------------------------------ CD DAT3 10 (SS)
16 |-------------+----+------------------------------ CMD CMD 7 (RESET)
17 | | | VCC VDD VIN
18 | | | |-------------- CLK CLK 13 (SCLK)
19 | | | | GND GND GND
20 | | | |---------+-------------- DAT0 DAT0 11 (MOSI)
21 | | | | |----+-------------- DAT1 DAT1 12 (MISO)
22 | | | | | |
23
24 RX ... 7 8 9 10 11 12 13 GND AREF (shield labelling)
25 RESET GPX INT SS MOSI MISO SCLK (shield connections)
26
27 Unlike Arduino-based usage of the shield, the GPX pin is not used purely
28 because the 8:10 port does not expose enough connections.
29
30 To power the shield, a 5V supply needs to be supplied to the shield's VIN
31 connector and when used in conjunction with an Arduino Duemilanove or other
32 5V-capable Arduino, the Vin connector in the POWER block of pins will provide
33 this power. The GND connector on the shield can be connected to the Gnd
34 connector next to the Vin connector on the Arduino board.
35
36 If an Arduino is to be used to provide power, it is important that it receive
37 power from a sufficient power source itself. It is not sufficient for the
38 Arduino to rely on USB bus power from a host computer in order to pass it on
39 to the shield, especially where a Sparkfun shield is concerned. However, a
40 suitable power source can be plugged into the "power jack" on the Arduino
41 board instead of using USB bus power, and the hardware specifications for the
42 specific shield in question should be consulted so that the correct voltage is
43 chosen.
44
45 For an Arduino Duemilanove, a power supply of 7V-12V is apparently acceptable
46 for input into the "power jack", and this solution has been tested with a
47 power adaptor supplying 9V, with the tip of the adapter's "male" connector
48 being the positive terminal.
49
50 Warning!
51 --------
52
53 Do not supply 5V power to any of the connectors used by the Ben. Check that
54 the shield you are using employs 3.3V power in the controller-related
55 functions of the board. Connecting the Ben to a peripheral is done at your own
56 risk.
57
58 Hardware: USB Host Shield
59 -------------------------
60
61 This software has been developed using the Sparkfun USB Host shield which is
62 available as product DEV-09947 from various retailers and from Sparkfun:
63
64 https://www.sparkfun.com/products/9947
65
66 Various revisions of this board have been made, but only those labelled with
67 "5-28-10" on the rear of the board can be assumed to function with the
68 configuration described above.
69
70 Although the Sparkfun board functions in the above configuration, it may not
71 be reliable in use with a power supply based on USB bus power coming through
72 an Arduino board. In addition to this apparent defect, in order for the
73 Sparkfun board to be usable in Arduino-based solutions (where the software
74 runs on the Arduino, not the Ben), Sparkfun have relied upon software provided
75 by Oleg Mazurov who has designed his own USB Host shield based on the
76 MAX3421E.
77
78 Although Oleg's shield and Sparkfun's shield may be distinct designs, Sparkfun
79 clearly benefit substantially from Oleg's work and yet compete with him
80 directly in sales of hardware. Thus, for apparently better reliability under
81 certain usage conditions and to support Oleg's work, I suggest purchasing a
82 USB Host Shield product from Circuits At Home:
83
84 http://www.circuitsathome.com/arduino_usb_host_shield_projects
85
86 Hardware: 8:10 Port Breakout Board
87 ----------------------------------
88
89 To connect the Ben NanoNote to the USB Host shield, a suitable breakout board
90 is required to expose the connections inside the 8:10 slot. To achieve this,
91 the Sparkfun microSD Sniffer has been used:
92
93 https://www.sparkfun.com/products/9419
94
95 This board is apparently intended for eavesdropping on communications between
96 a "host" device with a microSD slot and a microSD-based device that can be
97 inserted into a slot mounted on the board (instead of being inserted directly
98 into the host device). However, the board-mounted slot can be ignored and the
99 exposed connections routed to the USB Host shield instead.
100
101 Another board that achieves the same purpose is the Universal Breakout Board
102 (UBB):
103
104 http://en.qi-hardware.com/wiki/UBB
105
106 The UBB is somewhat more difficult to work with as its connectors are very
107 small and, compared to the microSD Sniffer, awkward to attach things to. The
108 microSD Sniffer employs connectors situated around holes with 0.1 inch
109 spacing, meaning that commonly available connection headers can be soldered
110 onto the board.
111
112 Although the labelling of the connections is different between the microSD
113 Sniffer and UBB (see above), the layout appears to be identical.
114
115 Contact, Copyright and Licence Information
116 ------------------------------------------
117
118 The author can be contacted at the following e-mail address:
119
120 paul@boddie.org.uk
121
122 Copyright and licence information can be found in the docs directory - see
123 docs/COPYING.txt and docs/LICENCE.txt for more information.
124
125 The software being distributed has been developed using the MAX3421E
126 documentation. Although the author has occasionally consulted Oleg Mazurov's
127 Arduino libraries for clarification when unexpected behaviour has occurred
128 when testing this software, this software does not use any code from those
129 libraries. Nevertheless, the author would like to give credit to Oleg for
130 demonstrating the feasibility of the MAX3421E solution and thus providing the
131 motivation to get the hardware working with the Ben NanoNote.