I finished building Arduino USB Host Shield prototypes. Functionality has been tested, errors found, fixed, and 1.0rc boards ordered. Title picture shows two prototypes, 3.3V sitting on top of Arduino Pro from Sparkfun and 5V on top of Duemilanove (bought at Sparkfun also).
As you can see, the biggest amount of errors has been made in 5V part of the circuit. To be honest, I’m not quite sure all of them are fixed. At some point I decided to stop messing with temporary fixes and order a board – if anything is still not right, I will find out later.
One of the goals of this build was to test 3.3V to 5V DC-DC converter (schematic). You can see it populated on 3.3V shield. It can be used on 3.3V-only systems to provide power to Vbus. This converter is designed around LTC3426, delivers ~700mA (slightly more than needed for powering Vbus) and runs cold with 90-94% efficiency. Output ripple was measured at 25mV. Note of caution: you should expect stability issues when powering such setup from USB (for example, during development) – in one of my tests Arduino was regularly rebooting during USB drive connect.
Another nice detail about power. Duemilanove and other boards using FTDI USB to serial converters provide 50mA of 3.3V, which is plenty for MAX3421E. It means that 5V to 3.3V converter is not needed when using the shield with newer Arduinos (level translators are still necessary, however).
I am expecting new boards back from BatchPCB in 3-4 weeks. In the meantime, I’m hoping to finish USB keyboard support code and maybe start working on digital camera control. Stay tuned.
Oleg.
Great work, Oleg!
This looks very promising. So this is going to be a full speed USB 2.0 interface?
That’s the exactly thing I’d like to get for my project to control a Nikon DSLR from Arduino.
Yes, it’s full-speed 2.0 and I have plans to make digital camera controller some time in the future too.
Ты по-русски не разговариваешь, случайно?
Да-да, и по-русски конечно 8)
В общем, очень интересно. Буду следить.
Wow, amazing! looking forward to know how this project will do in the future! Great job guys
Maxim’s site says the MAX3421E is “still available but not recommended for new designs.” Ouch; What’s up with THAT? (I don’t see a replacement, either.) Maxim parts can be hard enough to find/buy when they are supposedly “in full production.” Is your project (which is otherwise nice-looking) going to be finished before the parts become unobtainium?
It became “not recommended for new designs” just a month or two ago. I talked to Maxim after that, they said that they have no plans to discontinue this part. We shall see :-).
This is very interesting. The innerds are way over my head but the result could open up so many avenues. Well done!
Wishing strength to your elbow and watching this space.
[m]
[…] over at Circuits@Home is developing a host mode USB shield for the Arduino platform. This should allow you to easily hook up those cool USB gadgets you have […]
My firmware and software developer who just used this part in a product we make here, says “DO NOT USED THE MAXIM PART”. He says it’s a major PITA and recommends a part by Cypress, the CY7C67200
Cool idea btw.
Thanks for the recommendation, I’ll take a look at the part you’ve recommended.
[Edit]
I looked – the cypress part is BGA package. Good luck soldering it….
“DO NOT USED”
Cool spelling, he obviously isn’t a very good designer if he can’t work with a part people actually use, myself for example, I hardly know anything about this stuff but it works on my end.
MAX3421 is pretty easy to use actually. There is not much software support, which means you have to write all code yourself, but it’s not that difficult and you learn a great deal about USB in the process. There is a bug in the implementation of double-buffering for host OUT transfers, but this bug is well-known and a workaround exists. Other than that, MAX3421 is a nice USB host.
[…] over at Circuits@Home is developing a host mode USB shield for the Arduino platform. This should allow you to easily hook up those cool USB gadgets you have […]
[…] over at Circuits@Home is developing a host mode USB shield for the Arduino platform. This should allow you to easily hook up those cool USB gadgets you have […]
[…] over at Circuits@Home is developing a host mode USB shield for the Arduino platform. This should allow you to easily hook up those cool USB gadgets you have […]
Hello,
This is excellent work! When do you forsee either version hitting the market?
I’m hoping to release a board by the end of September or earlier.
So it looks like with your DC-DC converter that you should be able to power/charge an iPhone 3G(s) using this port, correct? It requires 5V and 500mA and you claim 650mA as reasonable. Anything I’m overlooking? Have you thought about this use or perhaps tested it as such?
I’ve got a project idea where I’d interface an iPhone with an Arduino and would want to power the iPhone that way.
[edited]
I checked with my iPhone and it seems to charge just fine from this supply. However, since 3.3V Arduino Pro’s power supply is not powerful enough I had to power the converter from it’s battery power connector. iPhone has to be enumerated also before it starts charging.
Hi,
did the board hit the market yet? if yes, where can we buy it from?
does it have to be host device? or OTG will be fine?
Microchip has 24 series microcontroller which have OTG feature.
Again, can OTG works?
thanks for the good work!
I’m not sure I understand your question. MAX3421E _is_ a host device. OTG works as a host in many cases.