Demo of a USB accessory to create a "dual screen" Nexus One with SMS notification & time display.
The above photo shows all the parts connected with a full-screen game (the mindless but addictive Scooter Hero AD) being played on the main display while the secondary display shows the current time (late) and who just sent me an SMS text message. The first few characters of the text message are also displayed.
Here's a clearer view of the secondary display. (Jump Scooter Hero, before it's too late!)
The hardware used is:
Arduino Duemilanove with ATmega328
SparkFun USB Host Shield
Google Nexus One Android phone
This project makes use of the Android Open Accessory Protocol which requires support on both the Arduino and Android device:
The sketch listens for bytes sent over the USB connection and displays them on the LCD--it special-cases two values to determine which row of the display text should be displayed on.
The Android App is invisible and starts automatically when you connect the accessory. (You probably need to approve the running of the application within a few seconds or the accessory may time out.) A background service is started which displays a notification of the accessory found, listens for new text messages and starts sending the current time to the accessory for display. You can use your phone as normal while the service is running in the background.
When the accessory is disconnected the notification is removed and the background service cleans up after itself before stopping.
See my Labradoc project logs for the projects that led to this demo:
Want to get started with Android accessories?
Try out my Handbag for Android project and you can create Android accessories without writing Android code!