Small Arduino compatible USB host board. Take control of your Android phone or other USB device in your next project.
How did this project begin?
This project began the day I saw the Google IO 2011 talk about the new Android Accessory Development Kit (ADK). I had never seen or used an Arduino before. I had written a few Android programs but something about being able to connect custom hardware to my phone inspired me to start this long trip down hardware lane. Specifically, I was inspired to create motorcycle navigation software knowing that I would be able to create a remote control for my phone that would allow me to control the software with gloved hands. I finished the navigation software a few months later, and it has been a great success. This board has allowed me to complete that project; I now have a remote control attached to my motorcycle.
What makes this board different from those already in the marketplace?
While there are many Arduino compatible USB host microcontroller boards on the market, none to my knowledge offer the unique combination of small size, reduced cost, lots of IO, and full USB spec power to the USB device. Google's original board cost around $300. Sparkfun's "Electric Sheep" boards are approximately $80. There are many others, including the official Arduino ADK board, but they are all (as far as I know) based on the UNO or Arduino Mega platforms and are therefore quite large comparatively. Circuits@Home has an inexpensive USB Host shield, that mounts on a Arduino Pro Mini, which is very cool but it has the drawback of having no capacity to power the USB device with 5V @ 500mA as required by the USB spec. The only solution I could find was to learn how to build the board I needed for myself. Success was hard won. For example, the first version could not deliver enough power to the USB device, but I was able to replace that chip with a much larger one that can meet the official USB spec without adjusting the small size of the board, which is 21mm x 50mm.
Can I figure out how to use this?
Because this board uses the same USB chip (MAX3421E) as all of the hardware options listed above, we can capitalize on the labors of those who came before us. Circuits@Home, in particular, has been incredibly helpful and nurturing to the hacker community's lust for USB capabilities with their Arduinos. I have used their software in many of the demos I showed in the video and strongly suggest you check out their hardware and software offerings. They are a great destination for us hacker types!
Where can I find the software and hardware design files you showed in the video?
I will be making all the code and cad files I used for these projects available. Currently the code is a little messy, and I would like to clean it up before it is released to the world. It will all be available before these boards ship to backers. The software will include not only the Arduino sketches but also the Android software I've created to make use of these boards. Specifically, I will be including code to create a headless Android service that listens for your device to be plugged in and will relay its messages to any Apps that register as a listener. I've created a very handy API, and it will make using this hardware very straightforward for you. I'll also be releasing the Android software that gets real time feedback from the board's IO pins and allows you to read and write to them (the Mini ADK Remote Control software). I created that one evening after a conversation with my nephew who asked me how the Arduino worked. I was absolutely amazed at the insight I gained about the ATMEGA 328 MCU by having real time access to all the pins values at the same time. It's hard to explain, but once you see it, you will have a real AH HA moment. Seriously!
Another reason to be excited about USB host boards is access to all the incredibly inexpensive USB devices at Amazon. I paid less than $2.50 delivered for the Bluetooth dongles in the photo below; this is many times cheaper than a comparable Bluetooth module that uses UART.
So, what's your plan to get these to me?
I am setting the Kickstarter threshold high enough that we can get these built at an affordable price. I don't need to have 1000 made to get the cost down to where this is feasible, but I do need to make hundreds for this to pencil out. I've already reached out to manufacturers in the US and Asia and I can definitely get this done at these prices. I cannot know exactly when there will be manufacturing capacity available, so I have set the ETA as February, which feels like a very safe time frame to me. I've made a limited number of boards available for early shipment, and I will build those myself if needed so that they will be available by the holidays.
What are the rewards?
All these shields are compatible with Arduino Pro Mini form factor boards. None of them require my hardware in order to work.
- The Roomba Shield is $10. It can be used to communicate with a Roomba via a mini din plug interface and provides a large voltage regulator to handle the 16V the Roomba outputs. You will need a mini din 8 cable to connect to your Roomba; Amazon sells the short one you see in the video.
- The Mini ADK Shield is $15. It was specifically designed to go along with my "Mini ADK Remote Control" Android software however, so it likely has limited utility outside of that purpose. That said, I learned more about Arduinos using both this software and hardware than any other tools in my lab. The real time feedback really taught me a lot!
- The Joystick Shield is $30. It has three momentary switches, a rotary encoder, and a hall effect joystick. The hall effect joystick gives full "analog" style input capabilities while using the I²C pins of the board. It would be a very handy shield to have for any Pro Mini Arduino. Sparkfun sells a breakout board with just that joystick on it for $30. So, while $30 for the shield may seem expensive at first glance, please consider the addition of the rotary encoder and momentary switch. It requires a fancy piece of kit to squeeze a joystick in that small space.
- The Mini USB Host Board is $40. It has an ATMEGA 328P (same chip as the UNO) running at 3.3V. It has a Pro Mini bootloader pre-installed on it. You can push your firmware via an FTDI programmer (not included). The board uses the Maxim 3421E USB host controller chip and has an on board 5V 500mA power supply on it for the USB devices you attach.
I reserve the right to modify the final board layouts before manufacture, but I will not make substantive changes to the feature set unless it is absolutely necessary.
Yes, this board has a jumper on it that allows you to bypass the 500mA regulator and connect you own regulated power supply directly to the USB power outputs.