The Archos 7 Android tablet, about 140 to 150 euro in the store
Up until now I thought serial connections were going to be – at least – challenge on the Android platform. Android does – by default – not support much USB connectivity (as one of many examples). Using some hacks you might get somewhere but the process is not easy or out of the box.
We do not have that problem with Windows CE. And there is a neat tablet from Toshiba for around 250 euro running on Windows CE. In the APad X10 version it even comes with two USB ports and almost half the price. So I was considering…
Android + Serial + Arduino
Until I found this by googling on “Arduino” and “Android” . See video on Youtube here:
Appratenly it is using the CyangenMod which is an extended version of the Open Source version of Android.
Upgrading your old shit to Froyo 2.2
Looking at Android tablets the following hack is interesting as well. Most come out in Android 1.5 or 1.6 but Seeing this video (Froyo on a G1) I think Froyo 2.2 is installable as well.
Android is becoming more and more interesting for hardware hacking for the following reasons:
- The availability of cheap Android phones (like the LG GT540, and the new series from HTC available for less than 199 euro)
- The availability of even cheaper Android tablets (like the Archos 7 costing about 150 euro or the Apads – going even lower to 120 euro)
- You can upgrade the 1.5 or 1.6 install to Froyo 2.2
- You can use serial input / output using the above mentioned CyangenMod mod.
Both tablets and phone come with built-in WiFi and the phone also allow you to do stuff wireless via UMTS on places where no WiFi is available.
Android and connectivity
One thing that completely sucks is the complete lack of USB output. See some discussion threads here. Googling further does not reveal any current solution or software hack for other phones. There is at least one hack where you can force the Droid and maybe some other similar phones act as a USB host and connect at least a keyboard and mouse to. The steps are these:
– Turn your Droid off
– Plug the micro-dongle into the USB port
– Turn the droid on
– Unplug the micro-dongle as soon as the Motorola logo disappears
To connect something to your Android phone you can use the following:
- WiFi – Using some sort of Socket connection via your phone’s WiFi (something I intend to explore and build on)and RemoteDroid or something you baked yourself (scanning IP numbers and pinging each for a specific port and reply does the trick)
- BlueTooth – using either a self-made hack and this library or a commercial solution like BlueInput.
- USB – As said, you need to hack it. There two options: forcing your phone to start the USB stuff (see above) or installing a CyangenMod (also above in this post). Both are apparently only available for a limited set of phones.
- The audio-jack – Yes. You read it properly. I found the first reference to such a solution here (scroll to the bottom). Using the audio in / out you can build a soft-modem. Then, with another (hardware) modem on the other side, you can start serial communication. It is dead simple once you got it working – and will work for all Android devices without having to force your Android into anything. It might not be needed. All in all, digital communication is ones and zeroes. There might be a way to send that out the audio-jack as well.
If only I had more time now… – Working on a client assignment very likely running until and over December 2010 with 10 hours per day to work my weekends and evenings are not about hacking right now. But here are the next steps to try:
- Try and install FroYo 2.2 on a cheap Android phone and a cheap Android tablet (very likely to be the Archos 7 and the LG GT540)
- Use the examples to hack Arduino AND XBee serial connections. Especially the XBee excites me for its built-in wireless-ness
- Write the new Roomware Java Socket Server to be installed and run on Android devices
- Write some Flash apps to work with the Roomware Socket Server via Android
- Making more use of the WiFi LAN possibilities for Roomware communications
Making more use of WiFi LAN
This year I saw 2 demos using the wireless LAN offered by the WiFi you connect to. The basic workings are:
- Connect to the local WiFi
- Let your local app scan that WiFi for any available Roomware connector (simply by pinging each IP address in the range on a specific port. When receiving an answer, we can connect.)
- Connect through the local WiFi to the local Roomware Socket Server
The tablet sketch board
One of the first things I want to try is to build a wireless sketch board. The tablet (with resistive touch screen and pen) will operate as the touch-screen / pen tablet. The Roomware Server / host will operate as the storage device to save the drawings.
The reason to build this is personal:
- I want to experiment with note-taking using tablet devices
- Storing it on a tablet is limited due to the limited storage capacities of the tablet
- It connects neatly to these proof of concepts: using a tablet (pc) for input
How it will work
- Using a Flash app on the Android device, the pen-input is used to draw lines and shapes.
- Each stroke / “mouse input” is shown on the tablet and the instructions to draw the images are immediately broadcasted to the Roomware Socket Server and stored on the host computer.
The communication between the host computer and the tablet will be 2-way.
What it might be used for
It might be used for the following:
- To make drawings
- To make specific type of drawings, for paper prototyping – see this post made in februari 2010.
Doing XBee next
One of the next steps is to start experimenting with XBee connected to an Android phone and an Android tablet. With the XBee real-time sensoring and real-time manipulation to wirelessly connected devices will be possible.