Alright, so I'm kinda up in the air. The ADK is very interesting to me and from my understanding it is total mobile device side processing with the Arduino/ADK/IOIO acting as a slave. I'd like to play with this feature which was introduced at Google IO and first included in Android 2.3.4 but I don't know where to start.
So, let me explain what I'd like.. I'd like to build a robot powered by my phone. I want to plug in my phone and drive it around the house. I can work out most of the details on this project myself, however, I'd like to get the most bang-for-buck as possible. I don't want this to be a strictly ADK or IOIO device. I'd like to be able to repurpose it later.
The Open Hardware Acessory Development Kit
Aka Google ADK or Google's IOIO (Pronounced Yo-Yo). At a cost of $400, i imediately said screw that.. I'm not paying $400 for what is practically a finished project and not really a development board. No way, no how... I'm looking for the same functionality without paying the same amount as a new Android device.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I am looking at 3 different devices. The Sparkfun IOIO, The Google ADK or the ADK Shield for Arduino. I already own an Arduino Mega 1280 so I'm up in the air as to upgrade with a shield or go with a dedicated device.
The IOIO from Sparkfun
http://www.sparkfun.com/products/10748
This IOIO seems to be the cheapest, full device available. Costing only $50. It would seem that it is strictly designed to plug in to USB-OTG on a device and there is no USB for the computer meaning it can only be used as a slave device?
The Arduino ADK
http://www.google.com/products?q=Arduino+adk&hl=en
This device is based on the Arduino Mega 2650 platform. This would be an upgrade from my current MEGA 1280. Costing $75, it seems to be a fairly decent development board with the additional benefeit of ADK/ioio functionality.
USB Host Shield for Arduinohttp://robosavvy.com/store/product_info.php/products_id/1859/currency/USD
The USB Host Shield for Arduino seems to be a pretty good bet. At only $32, it will add the proper USB interface to an Arduino and allow ADK functionality. I'm worried about incompatibility on this Arduino Shield as I only have an Arduino Mega 1280 and not the faster 2650 platform.
I want to make a good choice here.. I'd like some help. I've never worked with ADK/ioio. AT&T has not even officially upgraded my device to 2.3.4 yet.
So, here's my questions:
Will the ADK work properly with a 1280 and a shield?
My understanding, correct me if I'm wrong, the ADK uses server and client side processing and is more for communication between the two devices, while the ioio method is direct slave-only control of the device?
Is there any advantage to buying the official Google ADK other than receiving a pre-fabricated shield with lights and buzzers?
Which one would you go with and why? Do you know of any better options for interfacing Android?
I'm not a programmer, and quite a noob in arduino. I've thought about connecting Android to my Arduino UNO and the method with most freedom seems to be via bluetooth. Was planning to follow the stuff on this site: http://amarino-toolkit.net/
I have yet to start that project though.
The Arduino ADK
I just picked up a Arduino ADK. Spent a few hours messing around with a RGB LED. My Motorola Photon would never connect due to the 2.6.32 Kernel. The 2.3.4 was right but the Kernel needs to be 2.6.35 to be an accessory.
Great board just not for the Photon. Will be getting the UNO and a WI-FI shield. And pick up a handfull of RGB LED Matrix, for a wifi driven LED message board.
I used three resistors with a RGB LED.
The Green LED is using the built in resistor. It flashes in time with the SMT LED on the board.
cellfreak said:
I just picked up a Arduino ADK. Spent a few hours messing around with a RGB LED. My Motorola Photon would never connect due to the 2.6.32 Kernel. The 2.3.4 was right but the Kernel needs to be 2.6.35 to be an accessory.
Great board just not for the Photon. Will be getting the UNO and a WI-FI shield. And pick up a handfull of RGB LED Matrix, for a wifi driven LED message board.
Click to expand...
Click to collapse
You won't need an Arduino UNO. The MEGA form factor is compatible with the smaller UNO form factor and the pins are totally compatible. Just get the wifi shield. My understanding is that the Uno would only be a reduction in size and features.
IOIO seems great. From their site, it seems like it has plenty of potential
Return
I returned the ADK. And will be getting an UNO or MEGA. If it comes down to size I'll get a nano with a shield.
AdamOutler said:
You won't need an Arduino UNO. The MEGA form factor is compatible with the smaller UNO form factor and the pins are totally compatible. Just get the wifi shield. My understanding is that the Uno would only be a reduction in size and features.
Click to expand...
Click to collapse
cellfreak said:
I returned the ADK. And will be getting an UNO or MEGA. If it comes down to size I'll get a nano with a shield.
Click to expand...
Click to collapse
Why did you return it? The ADK does more than Uno right? As far as I understand, you just downgraded?
I'm the developer of IOIO, so I won't pretend to be objective
First, there's no such thing as "Google IOIO". Google's board is called ADK. Although the original board cost $400, there have been since many other compatible boards, with the cheapest ones costing about $80 I believe.
There's also IOIO, which I developed and is sold by SparkFun for about $50.
The two most significant differences between the two are:
ADK and its clones would only work on very specific Android devices, while IOIO would work on almost any Android device since Android 1.5.
With ADK you'd have to write both the Android-side (Java) and the Arduino-side (C++) software, and establish a communication protocol between them. You'd have to know both languages and two different IDEs and unless you're doing something very trivial, it will take a significant amount of time to get something working reliably. With IOIO, you just write the Android side. You include a library called IOIOLib in your application, which provides an API that lets you control the IOIO pins and functions as if they were physically connected to your Android. You don't need to care about the fact that there's a separate processor here, communication protocols, etc.
Some possibly less important differences:
ADK boards are compatible with Arduino shields. If you want to use one in your application, IOIO will not be a good choice.
If you stick a Bluetooth dongle into IOIO instead of a USB cable to the Android, it will communicate wirelessly with the Android. The nice thing is that your application doesn't need to care about it, and you can even switch back and forth while your app is running.
If you want more info, see my blog post. Since I can't seem to be allowed to post links, just Google "IOIO over OpenAcessory" (without quotes).
ytai said:
I'm the developer of IOIO, so I won't pretend to be objective
First, there's no such thing as "Google IOIO". Google's board is called ADK. Although the original board cost $400, there have been since many other compatible boards, with the cheapest ones costing about $80 I believe.
There's also IOIO, which I developed and is sold by SparkFun for about $50.
The two most significant differences between the two are:
ADK and its clones would only work on very specific Android devices, while IOIO would work on almost any Android device since Android 1.5.
With ADK you'd have to write both the Android-side (Java) and the Arduino-side (C++) software, and establish a communication protocol between them. You'd have to know both languages and two different IDEs and unless you're doing something very trivial, it will take a significant amount of time to get something working reliably. With IOIO, you just write the Android side. You include a library called IOIOLib in your application, which provides an API that lets you control the IOIO pins and functions as if they were physically connected to your Android. You don't need to care about the fact that there's a separate processor here, communication protocols, etc.
Some possibly less important differences:
ADK boards are compatible with Arduino shields. If you want to use one in your application, IOIO will not be a good choice.
If you stick a Bluetooth dongle into IOIO instead of a USB cable to the Android, it will communicate wirelessly with the Android. The nice thing is that your application doesn't need to care about it, and you can even switch back and forth while your app is running.
If you want more info, see my blog post. Since I can't seem to be allowed to post links, just Google "IOIO over OpenAcessory" (without quotes).
Click to expand...
Click to collapse
I found your blog. I changed the title as there is no Google IOIO.
Ok. So, from what I'm seeing, the differences:
IOIO is a total slave unit that accepts direct inputs over usb from a running application. It's compatible with more devices out-of-the-box. The ADK allows a custom program to be launched for whatever code is running on the AT processor on the device... EMF Reader will launch your EMF app, Robot will launch your Robot app... I think this is a limitation of IOIO right?
Can the ADK emulate the same IOIO functionality where pins are commanded high and low?
ADK
I posted the ADK will not work with the Sprint Motorola Photon. The phone has the wrong has the 2.6.32.9 kernel. For it to be seen by the ADk board it needs the 2.6.35.9 kernel.
AdamOutler said:
Why did you return it? The ADK does more than Uno right? As far as I understand, you just downgraded?
Click to expand...
Click to collapse
cellfreak said:
I posted the ADK will not work with the Sprint Motorola Photon. The phone has the wrong has the 2.6.32.9 kernel. For it to be seen by the ADk board it needs the 2.6.35.9 kernel.
Click to expand...
Click to collapse
Well, yeah, but that's just a kernel upgrade right?
http://forum.xda-developers.com/showthread.php?t=1262123
If you grab an ICS build, you can get 3.0 kernel.
Honestly, I don't have much experience with this since I don't even have an Arduino board yet.
However, if you want to get a board locally, go with the Arduino. They sell them now at Radio Shack.
I intend to get one as soon as I can and experiment with it on my Kindle Fire.
I was also interested in this. I think it would cool to fly a rc plane with a phone hooked up, using the camera for live video feed and a laptop to send flight controls through 3g link.. Heck, you could even use the accelerometer as a gyro, the magnetic sensor for orientation, and gps for coordinates. If 3g were to drop, the plane would switch to gps guided autopilot until it gets reception.
I've since scrapped the idea, since it would probably be easier for me to get a HAM license and do all that with my own rX/tX stuff.
kindlefirexda said:
Honestly, I don't have much experience with this since I don't even have an Arduino board yet.
However, if you want to get a board locally, go with the Arduino. They sell them now at Radio Shack.
I intend to get one as soon as I can and experiment with it on my Kindle Fire.
Click to expand...
Click to collapse
Arduinos at radioshack are Duemillenova style. They are the basic modeland wont do anything with Android. You need the ADK. It can be obtained online for $80.
I have one, but i havnt had time to play with it.
Great~!I want to get IOIO now~
ytai said:
I'm the developer of IOIO, so I won't pretend to be objective
First, there's no such thing as "Google IOIO". Google's board is called ADK. Although the original board cost $400, there have been since many other compatible boards, with the cheapest ones costing about $80 I believe.
There's also IOIO, which I developed and is sold by SparkFun for about $50.
The two most significant differences between the two are:
ADK and its clones would only work on very specific Android devices, while IOIO would work on almost any Android device since Android 1.5.
With ADK you'd have to write both the Android-side (Java) and the Arduino-side (C++) software, and establish a communication protocol between them. You'd have to know both languages and two different IDEs and unless you're doing something very trivial, it will take a significant amount of time to get something working reliably. With IOIO, you just write the Android side. You include a library called IOIOLib in your application, which provides an API that lets you control the IOIO pins and functions as if they were physically connected to your Android. You don't need to care about the fact that there's a separate processor here, communication protocols, etc.
Some possibly less important differences:
ADK boards are compatible with Arduino shields. If you want to use one in your application, IOIO will not be a good choice.
If you stick a Bluetooth dongle into IOIO instead of a USB cable to the Android, it will communicate wirelessly with the Android. The nice thing is that your application doesn't need to care about it, and you can even switch back and forth while your app is running.
If you want more info, see my blog post. Since I can't seem to be allowed to post links, just Google "IOIO over OpenAcessory" (without quotes).
Click to expand...
Click to collapse
I've been working with the Mega ADK for a while, and it is true, there is SOOO much stuff you have to wade through on the Eclipse/Android side, and the Arduino/C++ side before you can get the thing to do basic stuff (like control a servo without the official demokit sheild)
So to recap (and correct me if I am wrong) here are the pro's and cons of the IOIO and the ADK
IOIO
Pro's - Just code in android! Quick simple access to all the pins available on the board.
Accepted by more devices?
Con's - no division of processing power
ADK
Pro's - just send commands to arduino, and have the arduino's processor take on extra tasks, (maybe if you are doing a bunch of High end computer vision stuff, and fancy motor control, you would want to split the task load?) Full control over how you program the board itself.
Con's- byzantine sample code to wade through. Fewer Android devices support this?
So it seems like, unless you need really high end performance, the IOIO is the way to go!
blorgggg said:
I've been working with the Mega ADK for a while, and it is true, there is SOOO much stuff you have to wade through on the Eclipse/Android side, and the Arduino/C++ side before you can get the thing to do basic stuff (like control a servo without the official demokit sheild)
So to recap (and correct me if I am wrong) here are the pro's and cons of the IOIO and the ADK
IOIO
Pro's - Just code in android! Quick simple access to all the pins available on the board.
Accepted by more devices?
Con's - no division of processing power
ADK
Pro's - just send commands to arduino, and have the arduino's processor take on extra tasks, (maybe if you are doing a bunch of High end computer vision stuff, and fancy motor control, you would want to split the task load?) Full control over how you program the board itself.
Con's- byzantine sample code to wade through. Fewer Android devices support this?
So it seems like, unless you need really high end performance, the IOIO is the way to go!
Click to expand...
Click to collapse
You forgot a few. There's more cons to the ioio and pros to the ADK.
ioio cannot function on its own. ioio is simply an output device.
adk is easier to program than android, the device can function on its own and then pass data to the Android. ADK can function as a stand-alone USB device that can be plugged into a computer as well.
ytai said:
Some possibly less important differences:
ADK boards are compatible with Arduino shields. If you want to use one in your application, IOIO will not be a good choice.
If you stick a Bluetooth dongle into IOIO instead of a USB cable to the Android, it will communicate wirelessly with the Android. The nice thing is that your application doesn't need to care about it, and you can even switch back and forth while your app is running.
If you want more info, see my blog post. Since I can't seem to be allowed to post links, just Google "IOIO over OpenAcessory" (without quotes).
Click to expand...
Click to collapse
hi i wonder if i can stick a bluetooth dongle on my Arduino Mega Adk and comunicate wirelessly with android..
have anyone try to do this? thanks! i have my motorola Xoom Working with Arduino Mega ADK via USB
AdamOutler said:
You forgot a few. There's more cons to the ioio and pros to the ADK.
ioio cannot function on its own. ioio is simply an output device.
adk is easier to program than android, the device can function on its own and then pass data to the Android. ADK can function as a stand-alone USB device that can be plugged into a computer as well.
Click to expand...
Click to collapse
i prefer the ioio over the adk cause of all the extra junk needed to get the adk working and if you need complex functions just do them android side. the adk is standalone which is a plus but most applications need to be send data back. but the adk has more liberies available but most of them are easy to write in java if needed. all the adk is is a serial bridge so you would need to write an interface to send data back and forth so as long as your project needs constant communication and you can do basic c and java for the liberies the ioio is a better choice provided your not using crazy shields like gprs
---------- Post added at 12:47 PM ---------- Previous post was at 12:47 PM ----------
jams90 said:
hi i wonder if i can stick a bluetooth dongle on my Arduino Mega Adk and comunicate wirelessly with android..
have anyone try to do this? thanks! i have my motorola Xoom Working with Arduino Mega ADK via USB
Click to expand...
Click to collapse
the ioio lets you do this with a 2 bt module
ASK
can you explained about USB Host Shield for Arduino n how to work this??
soryy bad english
Related
I am looking for the cheapest arduino board that would allow me to do the following.
Keep in mind I have limited programing experience and I am self though, very persistent and spend hours looking up something till I get it done. if there are some that would be easier to learn on, I rather pay more for the easier experience.
I want to use a android device as a display for a machine.
for instance you have a stove.
you turn on the stove, there is some kind of temperature sensor. say the sensor give a voltage between 0 and 5 volts. 0 been the surface is off and 5 been stove at its 500º (say that's the highest). There is also a hot surface light that gets turn on once it reaches a certain temp.
I want to tap to the temp voltage and light indicator voltage, give that to the arduino board. from what I was able to understand arduino can receive this voltage (0-12V?) so I can use it and have the android device display the temp (after writing code to give value to each voltage etc)
Cheapest one I have found is this
http://www.sparkfun.com/products/10748
says its the simplest to learn, not sure why? some insight please.
this is the official from the arduino store
http://store.arduino.cc/ww/index.php?main_page=product_info&cPath=11_12&products_id=144
if you dont think I need arduino, and can use something simpler please let me know.
this is the link to android accessory development kit page, there you can read more about what some boards can do, maybe you can translate because is gibberish to me.
http://developer.android.com/guide/topics/usb/adk.html
One thing stands out to me:
Many previously released Android-powered devices are only capable of acting as a USB device and cannot initiate connections with external USB devices. Android Open Accessory support overcomes this limitation and allows you to build accessories that can interact with an assortment of Android-powered devices by allowing the accessory to initiate the connection.
Click to expand...
Click to collapse
Do I really need a board that can initiate the connection for this project?
Help please.
jonagpa said:
I am looking for the cheapest arduino board that would allow me to do the following.
Keep in mind I have limited programing experience and I am self though, very persistent and spend hours looking up something till I get it done. if there are some that would be easier to learn on, I rather pay more for the easier experience.
I want to use a android device as a display for a machine.
for instance you have a stove.
you turn on the stove, there is some kind of temperature sensor. say the sensor give a voltage between 0 and 5 volts. 0 been the surface is off and 5 been stove at its 500º (say that's the highest). There is also a hot surface light that gets turn on once it reaches a certain temp.
I want to tap to the temp voltage and light indicator voltage, give that to the arduino board. from what I was able to understand arduino can receive this voltage (0-12V?) so I can use it and have the android device display the temp (after writing code to give value to each voltage etc)
Cheapest one I have found is this
http://www.sparkfun.com/products/10748
says its the simplest to learn, not sure why? some insight please.
this is the official from the arduino store
http://store.arduino.cc/ww/index.php?main_page=product_info&cPath=11_12&products_id=144
if you dont think I need arduino, and can use something simpler please let me know.
this is the link to android accessory development kit page, there you can read more about what some boards can do, maybe you can translate because is gibberish to me.
http://developer.android.com/guide/topics/usb/adk.html
One thing stands out to me:
Do I really need a board that can initiate the connection for this project?
Help please.
Click to expand...
Click to collapse
Yes, but both those boards you linked to support the Android Accessory spec.
Gene Poole said:
Yes, but both those boards you linked to support the Android Accessory spec.
Click to expand...
Click to collapse
Yes I need a board that can initiate a connection?
From what I read there are 2 kinds of boars, one is the host the other makes the android device the host.
Is there anything cheaper than that?
jonagpa said:
Yes I need a board that can initiate a connection?
Click to expand...
Click to collapse
You need a board that supports the Android Accessory Spec. Part of that spec is that it initiates the connection just like a USB host, but that's not all. There's more to the spec than just that.
jonagpa said:
From what I read there are 2 kinds of boars, one is the host the other makes the android device the host.
Is there anything cheaper than that?
Click to expand...
Click to collapse
I don't know which is the cheapest, but I'm kind-of partial to Microchip having worked with PIC microcontrollers for years. The Arduino looks like a very capable device though.
Which one would be easier to learn on? Seems like Arduino is made for students.
Hello everyone. I have been searching for threads all day and have not found much information about being able to hook up devices into some kinda of USB interface or serial interface on Android devices. The closest thing I can find is this: http://forum.xda-developers.com/showthread.php?t=1202082
There has to be a host controller on these phones right? I would think that if there is a micro SD read reader on the phone, there would be one. Am I the only one thinking this? What is the best way to find out?
My inspiration comes from the ArduPilot project . I think this is pretty sweet but I think it could be way more powerful with a full operating system versus a limited micro controller. An additional fun link of, what most can imagine, my final goal: http://www.wimp.com/helmetcam/
I am posting this on the Evo 4G general thread due to owning it and it would be easy to disassemble, if there is something I need to look into.
I want to look finding (or creating) a robotics application for the android OS to map *connected* servo controllers (not bluetooth connected, Arduino powered, etc..) that will also allow remote users to control the phone multiple threads to control the UV or UAV. Examples: 1: Flying the RC Plane while viewing the video stream on the phone's multiple cameras (integrated or attached). 2: Executing autopilot application and monitoring it's progress through two-way communication from a controlling "base" station (PC, Server, Tablet, etc..). Maybe executing multiple RC vehicles at once.
I have a feeling that this would help many others with other types of monitoring projects (What comes to mind: Home security, Car Security, garden monitoring, etc..) This could also help the creation of other commercial products.
Any input and direction you can give would be appreciated.
Hi everyone. I'm an Engineer and I graduated back in 2007. Since then, I've been a Systems Engineer working software and I'm fairly clueless in modern hardware development. I'd like to start playing around with android hardware creations. My first desire is to make a keyboard. I want it to be as simple as possible, to work through the usb and include a pass through so as to allow charging and other peripherals, and to have it's own power source that would be charged while charging the phone.
I'm not worrying about the casing/buttons/manufacturing right now, I just wand to get the hardware working. Anyone have any suggestions for getting started? I've found a few of the development boards through the android developer site, but the look like a bit of overkill for my needs. I do have experience with PIC microprocessors and so the pic one doesn't look bad.
Basically, what would you recommend and what resources should I be looking at to make this happen?
Can't comment on specifics regarding the keyboard, but I've programmed a lot on PICs and recently moved to an Arduino, which I've found much quicker to develop with. I can't post a link as I'm < posts, but google "Android Open Accessory Development Kit".
With cheap keyboards selling for under $5 I don't really see the point.
If you wanted to do some custom USB HID device, that's a bit different.
There are some things already to support this easily: http://www.ultimarc.com/JShopServer/section.php?xSec=13
If your goal is just to make a wired docking station,
I'd just use a back-powering hub and an off-the-shelf USB keyboard.
It has been done, look up "Motorola lapdock" and "USB otg android" and "USB host android".
Sent from my MB855 using xda premium
honestly, the whole "making a keyboard" thing is just so I can get going understanding hardware development and USB access. I've got some ideas for accessories I'd prefer not to discuss, but I still want to learn the tools I need to do this.
Consequently, I'm looking for a way to learn to interface a simple hardware accessory with an android system. I'll probably need software and hardware.
so no more replys?
If you are just looking to experiment with creating USB hardware, the ATTINYs have V-USB, a software implementation of a USB stack. It should be fine for playing around with simple HID stuff. Some PICs have USB support too, but this V-USB will run on some of the cheapest attinys, if cost is a concern.
Google "HIDKeys - a USB Keyboard" for a a simple USB HID keyboard project which you can base your own code off of.
thanks :angel:
I am looking for something specific, but don't know what … maybe you guys can help me out.
Let me provide some background first. There are special controllers for espresso machines available which act as a PID controller for temperature regulation. To simplify things: They read the temperature of the water and regulate the heating element to a specific temperature with much greater precision than the integrated "mechanical" thermostat is able to.
Today there are kits for various espresso machines available, but they are rather expensive. So I was thinking: Well, what about some homebrew stuff (no pun intended)? I could fit more functionality in there and – here comes the interesting part for the XDA community – connect the controller to my Galaxy Nexus!
My first idea was grabbing some development platform (e.g. Arduino or IOIO), but I'm not sure if this is the right approach. Let me explain what the perfect board can do:
- read two or three temperature probes
- read a water level sensor
- read and control four switches
- provide some kind of CPU for acting as a controller
- provide a clock to "wake" the machine in the morning
- provide a USB connection for controlling from Android and programming/flashing from OS X
- optional: Bluetooth functionality for wireless Android control
I can figure out how to wire the stuff together and how to write some PID software. But the most interesting part will be the Android connectivity, but I have no idea what platform I can use …
It would be awesome to plug a USB cable in (or connect via Bluetooth) and read the live temperature data, start/stop the brewing process and so on. The PID has to regulate the machine without the phone – depending on the switch state (i.e. "pull a shot" or "make steam") the heating element would be regulated.
Of course there are even more interesting applications, like sending a tweet ("I just brewed a coffee!") or a pressure readout …
As far as I understand, I just have to look for a single-board microcontroller with some analogue and digital inputs, some digital outputs and a USB connection. Is this possible with something like an Arduino? Or do I need something more complex?
Hey! Nice to see another homebrewer! They sell chips like that already. People have converted freezers to kegerators, and the chip manages the temp, turning on the freezer around 55 degrees F.
Sent from my SCH-I535 using xda premium
I would suggest you toying with Android ADK
This is a board you could use is: arduino.cc/en/Main/ArduinoBoardADK it's a bit pain in the ass to set it up for the first time but once you get used to it it's pretty simple
Freezer? 55 degrees? I'm talking about brewing espresso … The problem there is temperature stability within 1° Celsius.
I already learned more about the Arduino platform and I think it is the right idea for my small project.
As far as I know a bluetooth connection via Android can be established, too.
You should definitely check out a book called;
"Programming Your Home: Automate with Arduino, Android and Your Computer"
Author is Mike Riley.
Publisher is The Pragmatic Bookshelf, Dallas Texas - Raleigh, North Carolina.
I'm pretty sure it's available as an e-book and is full of projects combining these technologies.
The first project has a ball float incorporated in it so I think it's perfect for your idea.
I'm working on a sous-vide immersion circulator at the moment, but it isn't too complex.
A PID controller does all the hard work.
PS
No barista in their right mind would let a machine steam milk!
---------- Post added at 05:48 PM ---------- Previous post was at 05:41 PM ----------
...almost forgot - ISBN-13: 978-1-93435-690-6
You can pretty much do everything including put the PID into the Arduino. You though will need to create the shield board with the extra sensors you need. Once that is available talking to the Arduino from Nexus is a cake walk. The USB Host and well as USB Accessory mode API is pretty straight forward and you can use either depending on how you want to interface the two. If you use some other microcontroller board other than Arduino then you will probably not be able to use Accessory mode but will have to use the USB Host with the microcontroller board exposed as a CDC class device using the USB as virtual serial port (Atmel, MicroChip controllers provide this interface). Also you will need to hack your Nexus to provide additional power supply (probably using Pogo pins) as USB port will be powering your controller board.
Best of luck!
pankaj013 said:
You can pretty much do everything including put the PID into the Arduino. You though will need to create the shield board with the extra sensors you need. Once that is available talking to the Arduino from Nexus is a cake walk. The USB Host and well as USB Accessory mode API is pretty straight forward and you can use either depending on how you want to interface the two. If you use some other microcontroller board other than Arduino then you will probably not be able to use Accessory mode but will have to use the USB Host with the microcontroller board exposed as a CDC class device using the USB as virtual serial port (Atmel, MicroChip controllers provide this interface). Also you will need to hack your Nexus to provide additional power supply (probably using Pogo pins) as USB port will be powering your controller board.
Best of luck!
Click to expand...
Click to collapse
If you have a device that supports OTG/USB Host, a USB-enabled microcontroller is MUCH cheaper than ADK (which requires the accessory to act as a host).
ADK should be described as "DDK" - Dock Development Kit. The requirement for the "accessory" to act as a host and to provide power makes it limited to dock-style devices. True accessories should be powerable from the device.
Adafruit's ATMega32U4 board is a great one to work with - https://www.adafruit.com/products/296
Another option, much more expensive but allows your device to be network-enabled easily (built-in Ethernet) is the BeagleBone. Lots of GPIOs on 0.1" headers and Ethernet.
I would tend to lean towards arduino. It is certainly powerful enough. All the research I have done makes conecting bluetooth really easy. Although serial to android seems a bit more difficult. For the task you are trying to do I would expect a standard arduino (or clone) and a bluetooth module off of ebay (make sure you choose one that can handle 5v) should be a good starting point.
I have only every made diy arduino buy purchasing the usbisp cable and pl-2303 style usb>serial ttl adaptors. If you search on ebay some of them have the dtr line on one of the pins making auto reset easy. They are a bit more rare, but are worth searching for and paying a few dollars more.
I have never done brewing, but fiddle with arduino (atmega8 atmega168 atmega328 atmega644p atmega1284p). Feel free to ask questions.
arjag said:
I would tend to lean towards arduino. It is certainly powerful enough. All the research I have done makes conecting bluetooth really easy. Although serial to android seems a bit more difficult. For the task you are trying to do I would expect a standard arduino (or clone) and a bluetooth module off of ebay (make sure you choose one that can handle 5v) should be a good starting point.
I have only every made diy arduino buy purchasing the usbisp cable and pl-2303 style usb>serial ttl adaptors. If you search on ebay some of them have the dtr line on one of the pins making auto reset easy. They are a bit more rare, but are worth searching for and paying a few dollars more.
I have never done brewing, but fiddle with arduino (atmega8 atmega168 atmega328 atmega644p atmega1284p). Feel free to ask questions.
Click to expand...
Click to collapse
I will have to agree on that one, but only by experience.
those chips are a pleasure to deal with.
I even got my tablet talking to mine before I screwed it up!
Hit me up here or on #arduino on freenode (or anyone else there for that matter) if you want any hints or help if you decide to go that route, I'd be happy to help!
DW
You should try Arduino board, it's not that difficult to use and they're plenty of resources on the Internets.
Also, you could develop an Android app for controlling it. My team had successfully developed an Android controlled RC-car via Bluetooth.
You could find the source code of the Android app here on Github!
Another approach might be to get an ethernet shield for arduino and hook it up to your homw network. Then you could use a browser to control it, so you are not just limited to your Android device.
Ethernet setup is really simple, start with the demo code and modify to your needs.
Sent from my SAMSUNG-SGH-I747 using xda app-developers app
check out the andropod
Not 100% what you described, but this is absolutely rad nonetheless...
i just saw this the other day: http://www.ftdichip.com/Android.htm
with a standard UART to android usb host in one cable, you can do regular old RS232 or TTL-voltage RS232 comms with practically any of the simplest of the simple mcu's out there.
UART interfacing hardware with your phone? it'd be super easy to write java or shell interface wrappers to do tons of cool automation stuff, plus if you have an old beater phone lying around, it's a super robust DAQ unit in the making...
booooiiinnnniiiiiinnnnnggggg I want...
http://code.google.com/p/tc4-shield/
It's already got a four-channel ADC intended for thermocouple use, as well as GPIOs to drive the SSRs. People have already worked out zero-crossing detectors if you want finer control.
The water probe is a little problematic; I'd stick with the existing Gicar or equivalent.
I'm in the process of using it for thermocouple and power-relay interface to a Raspberry Pi to run a La Marzocco GS I'm restoring.
The Arduino is disappointing in its computational power. Its enough to run a PID, but can't really deal with a TCP stack and a webserver too.
Please note that Arduino can use Bluetooth connectivity to Android. It is easy on Arduino and very convenient.
Arduino can be battery powered for a long time if you program its sleep mode correctly.
http://tvwbb.com/showthread.php?35674-HeaterMeter-v4-0-for-RaspberyPi-Standalone
Shouldn't be a far leap from a fan/heating element to a water heating element. Plus: "HeaterMeter is also reportedly suitable for connecting to a solid state relay and controlling a sous vide heater if you prefer your food float around in fancy water instead of smoke and fire."
Arduino (or Msp430 Launchpad, or Microchip Pic or whatever) + a cheap, 6 dollar Bluetooth Serial adapter, + coding an app for android is all you need. Don't mess with usb or ethernet/wifi. Bluetooth Serial is all you need.
also use Android Suit
Hello,
I would like to hear some opinions about my personal want-sth-to-do project. I want to use NFC to open my house doors, including the front door, garage and bedrooms door. In addition, I want to be able to control my air-conditioning system, TV and audio system. I want to integrate some sort of IP/CCTV cameras into my personal system. Just to improve the system, I will develop a Android App to control it via an API.
So, to make this project possible, come to my mind three ways:
1. [Arduino]
- Using the Arduino and its shields to develop the entire system. It will take a while and be hard in some points such as IPCAM recording.
2. [RaspberryPi + Arduino]
- Using the RaspberryPi connected to some Arduino shields using the GertDuino (GPIO expansion boards that make RaspberryPi compatible with Arduino Shields).
- This options seems to be the best option for now, but I dont know if RaspberryPi is able to handle the entire system.
3. [IOIO-OTG]
- IOIO-OTG is a board that make any android device as the heart of the system, making you just program in Java and control the GPIO and UART.
- The benefit is that I can develop it using some Android Stick, however, I need to search about available shields for it.
In addition, I need to think how to separate the core of the system from the sensors such as nfc readers. I do not think that wiring over the entire house is the best way... but I didn't found any wireless sensors...
Someone want to give some opinion? I will update the thread with the sensors I'm looking around and so...
I'd go the arduino (maybe more than one) + raspberry-pi (maybe more than one) way.
the ioio seems to be some µc that runs a firmware that connects to android and provides all i/o pins to android... so nothing you couldn't do yourself with an arduino or something similar.
I'd start with the devices you want to connect. Air conditioning might be controlled using Infrared emitters - would that work?
NFC Readers can be built from an arduino AFAIK, but you'll need some sort of field bus or wireless connection between all the parts...
SkzBR said:
Hello,
I would like to hear some opinions about my personal want-sth-to-do project. I want to use NFC to open my house doors, including the front door, garage and bedrooms door. In addition, I want to be able to control my air-conditioning system, TV and audio system. I want to integrate some sort of IP/CCTV cameras into my personal system. Just to improve the system, I will develop a Android App to control it via an API.
So, to make this project possible, come to my mind three ways:
1. [Arduino]
- Using the Arduino and its shields to develop the entire system. It will take a while and be hard in some points such as IPCAM recording.
2. [RaspberryPi + Arduino]
- Using the RaspberryPi connected to some Arduino shields using the GertDuino (GPIO expansion boards that make RaspberryPi compatible with Arduino Shields).
- This options seems to be the best option for now, but I dont know if RaspberryPi is able to handle the entire system.
3. [IOIO-OTG]
- IOIO-OTG is a board that make any android device as the heart of the system, making you just program in Java and control the GPIO and UART.
- The benefit is that I can develop it using some Android Stick, however, I need to search about available shields for it.
In addition, I need to think how to separate the core of the system from the sensors such as nfc readers. I do not think that wiring over the entire house is the best way... but I didn't found any wireless sensors...
Someone want to give some opinion? I will update the thread with the sensors I'm looking around and so...
Click to expand...
Click to collapse
I find your ambition high. But as someone running an Insteon Smart Home with an ISY994i, I can't help but feel you are trying to make a fairly cost effective and secure option more expensive and less secure. Mobilinc integrates with tasker, so you could set it up to unlock doors and stuff pretty easy with NFC.
Best of luck with your search.
me likes
DThought said:
I'd go the arduino (maybe more than one) + raspberry-pi (maybe more than one) way.
the ioio seems to be some µc that runs a firmware that connects to android and provides all i/o pins to android... so nothing you couldn't do yourself with an arduino or something similar.
I'd start with the devices you want to connect. Air conditioning might be controlled using Infrared emitters - would that work?
NFC Readers can be built from an arduino AFAIK, but you'll need some sort of field bus or wireless connection between all the parts...
Click to expand...
Click to collapse
I agree with DThought. Including a Raspberry Pi would allow some pretty intense processing power.
If you want to limit the amount of wiring you do, you could actually use a USB wifi dongle on the Raspberry Pi. You could then make some simple protoboards/PCBs with an Arduino with a wireless shield for each thing you want to control. This would likely be a more expensive solution than plain wiring but it would allow a lot of flexibility. Especially if you had each of the Arduino clients very similar so that they are interchangeable.
You could also try using Xbee Arduino wireless shields in case you don't want to use regular wifi.
This sounds like a very good project. I hope it works out for you. :laugh: