Protocol converter: Android tablet -> Bluetooth -> Arduino -> special USB Serial

I would like ask on a rather particular communication conversion issue, whether this would be feasable at all. The background is reading dive logbook information from a dive computer into an Android device, such as a tablet.

The gotcha here is that (1) the Android device has no USB host capability and is a 2.3.x stock device, so no special USB device features. However, Bluetooth is available. And (2), the dive computer can only be interfaced through a special USB serial interface, where the USB serial interface consists of a standard USB-to-serial converter and a special electrical interface for the dive computer that converts the signals into something expected by the dive computer (a Suunto Vyper Air Black for those who dive).

I don't want to design my own dive computer interface but instead want to reuse an existing one -- either 3rd party USB interfaces or the one that the dive computer manufacturer now includes with the newer dive computers.

Unfortunately, the whole serial line communication with the dive computer is slightly picky -- to say the least. Thus, direct BT-to-serial converters doesn't seem to work (if someone knows otherwise I would be glad to know). We are talking only 4800bd, but there are some hard timing restrictions on inter-byte gaps and switching between TX and RX, because Suunto uses only two wires and runs a master-slave half-duplex communication.

In my view, the Arduino is to run the time-critical part of the Suunto dive computer protocol in order to decouple BT communication. The Arduino thus would operate the block protocol and the correct half-duplex operation. The Android device would do the high-level communication, where timing is much less critical over the BT link.

What I basically need is: (1) Arduino with BT capability -- yes, this is available, but I also need (2) USB host capability at the same time in order to attach the USB dive computer serial interface. I suspect that there may be the following options, are they known to be feasable?

  • Arduino BT with additional USB shield for attaching the dive computer interface -- feasible?
  • Adruino with additional USB shield and USB BT dongle and dive computer USB interface -- feasible too?

Which one would be better?

And, of course, I would like to run the Arduino and its periphery from AA NiMh cells, if possible.

Any helpful feedback greatly appreciated! Thank you in advance for your help! -- DiveO

The bluetooth modules generally used with Arduino projects only support the Serial profile. So if your device can't communicate with a bluetooth serial module, I'm not sure how the Arduino will help you.

This may be a misunderstanding; the interface for my dive computer is an USB serial device (yet with special level conversion logic). And the communication with the Android Tablet will be BT serial too. But I need to run a time-critical LLC sublayer on the Arduino with the dive computer interface, while the Tablet communication via BT serial is all but time-critical. So the Arduino does some LLC sublayer magic.