Aplicativo Android muito simples para comunicação com Arduino.
Não há necessidade de Host Shield ou Bluetooth extra. Tudo que você precisa é de um adaptador Micro USB OTG para USB.
Envie dados do seu Arduino com Serial.println(), Serial.print() ou Serial.write() em taxa de transmissão de 9600. Receba dados com Serial.read().
Alterne entre hexadecimal e ascii clicando nos dados recebidos/enviados.
Deixe seu próprio aplicativo Android receber dados do Arduino ouvindo a intenção "primavera.arduino.intent.action.DATA_RECEIVED". Esta intenção conterá o array de bytes "primavera.arduino.intent.extra.DATA" com os dados recebidos. Chame getByteArrayExtra("primavera.arduino.intent.extra.DATA") para recuperar os dados. Envie dados para o Arduino a partir do seu aplicativo transmitindo uma intenção com a ação "primavera.arduino.intent.action.SEND_DATA". Adicione os dados a serem enviados como array de bytes extra "primavera.arduino.intent.extra.DATA".
Observe que este aplicativo não funcionará com placas Arduino com o chip de driver USB para serial FTDI.
Código fonte em: https://github.com/jeppsson/Arduino-Communicator
Leia mais